ffmpeg เพิ่มช่องสัญญาณเสียงเงียบ


4

ฉันกำลังสร้าง mp4 แยกต่างหากจากไฟล์ jpg & png จากนั้นทำการต่อไฟล์เข้าด้วยกัน กระบวนการนี้ทำงานได้ดี สิ่งที่ฉันต้องการจะทำตอนนี้คือเชื่อมไฟล์ที่มีเนื้อหาเสียงเข้าด้วยกัน สิ่งนี้ไม่ทำงานเมื่อภาพยนตร์เงียบเป็นครั้งแรก

ฉันไม่มีความคิดเกี่ยวกับวิธีเพิ่มแทร็กเสียงเงียบให้กับไฟล์ภาพ mp4 ฉันลองปรับใช้รหัสที่ประสบความสำเร็จในการสร้าง mp4 แต่มันไม่ทำงาน

ffmpeg -loop 1 -i /tmp/create_reel/images/holding-00006/img00002.png \
 -filter_complex '
     [0:v]scale=trunc(iw/2)*2:trunc(ih/2)*2,
          trim=duration=5,fade=t=out:st=4.5:d=0.5
     [v0];
     [0:a]aevalsrc=05[a0];  
     [v0][a0]concat=n=1:v=1:a=0,format=yuv420p[v]' 
  -map '[v][a]' /tmp/create_reel/mp4s/file_00003.mp4

สิ่งใดที่มีเครื่องหมาย [ระหว่าง] เป็นส่วนหนึ่งของการทดสอบ

ฉันกำลังมุ่งหน้าไปยังเส้นทางที่ถูกต้องหรือเพียงแค่แสดงความรู้ที่ขาดด้วย ffmeg หรือไม่?

คำตอบ:


1

ใช้

ffmpeg -loop 1 -i /tmp/create_reel/images/holding-00006/img00002.png \
 -filter_complex "
 [0:v]scale=trunc(iw/2)*2:trunc(ih/2)*2,
      trim=duration=5,fade=t=out:st=4.5:d=0.5
 [v0];
 aevalsrc=0:d=5[a0];  
 [v0][a0]concat=n=1:v=1:a=1[v][a]" 
 -pix_fmt yuv420p -map "[v]" -map "[a]" /tmp/create_reel/mp4s/file_00003.mp4

แก้ไข :

สิ่งนี้สามารถกระชับได้

ffmpeg -loop 1 -i /tmp/create_reel/images/holding-00006/img00002.png \
-f lavfi -i aevalsrc=0:d=5
-vf "scale=trunc(iw/2)*2:trunc(ih/2)*2,trim=duration=5,fade=t=out:st=4.5:d=0.5"
-pix_fmt yuv420p /tmp/create_reel/mp4s/file_00003.mp4

ทำไมต้องใช้-pix_fmt yuv420pแทนการรักษากรองทั้งหมดภายใน filtergraph ด้วยformat=yuv420p? ฉันมักจะชอบ anullsrc สำหรับการสร้างเสียงเงียบ ๆ แต่มันก็ไม่สำคัญว่าจะใช้แบบไหน
23470 llogan

นั่นแค่ข้ามความคิดของฉัน ข้อดีของanullsrc- ความเร็วคืออะไร
Gyan

ใช่ความเร็วเป็น "ข้อได้เปรียบ" ... หากคุณเพิ่งเข้ารหัสเสียงและทำการเข้ารหัสทั้งวันและวัน มันไม่มีdตัวเลือกซึ่งเป็นสิ่งที่ดีที่จะมี (แต่-tสามารถใช้อินพุตแทนได้)
30470 llogan
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.