ตัวกรองกราฟิคจะคัดลอกลำธารเสียงตามค่าเริ่มต้นใน FFMpeg หรือไม่?


0

ฉันได้รับคำสั่งต่อไปนี้ใน FFMpeg:

ffmpeg -i file_input.mp4 -filter_complex split=2[i1][i2];[i1]scale=trunc(oh*a/2)*2:480[o1];[i2]scale=trunc(oh*a/2)*2:640[o2] -map [o1] -map 0:a -pix_fmt yuv420p -vcodec libx264 file_out_1.mp4 -map [o2] -map 0:a -pix_fmt yuv420p -vcodec libx264 file_out_2.mp4

สิ่งที่คำสั่งนี้ทำคือการแยกไฟล์ต้นฉบับของฉันออกเป็นสองส่วนขนาดวิดีโอใน 2 รูปแบบที่แตกต่างกันและเข้ารหัสวิดีโอสตรีมอีกครั้งโดยใช้x264ตัวแปลงสัญญาณ จนถึงตอนนี้ดีมาก

ตอนนี้โปรดสังเกต-map 0:aธง หากฉันลบสิ่งนี้ออกจากทั้งสองสตรีมไฟล์ผลลัพธ์ที่ได้จะไม่มีเสียงเลย ทำให้ฉันสงสัยว่าscaleตัวกรองจะลบเสียงออกจากช่อดอกไม้โดยอัตโนมัติหรือเป็นอย่างอื่น

หากฉันเปลี่ยนคำสั่งเป็นเล็กน้อยและพยายามดึงกระแสข้อมูลเสียงจากผลลัพธ์ [o1] หรือ [o2] ฉันยังไม่ได้ยินเสียงเลย:

ffmpeg -i eFront_sample.mp4 -filter_complex split=2[i1][i2];[i1]scale=trunc(oh*a/2)*2:480[o1];[i2]scale=trunc(oh*a/2)*2:640[o2] -map [o1]:a -pix_fmt yuv420p -vcodec libx264 file_out_1.mp4 -map [o2]:a -pix_fmt yuv420p -vcodec libx264 file_out_2.mp4

สิ่งที่ฉันหายไปที่นี่?

ขอบคุณล่วงหน้า.

คำตอบ:


1

การเลือก Steam

โดยค่าเริ่มต้นหนึ่งสตรีมต่อประเภทสตรีมจะถูกเลือก หากคุณใช้-mapการเลือกกระแสข้อมูลเริ่มต้นนี้จะถูกปิดใช้งาน

อย่างไรก็ตามขอแนะนำโดยทั่วไปให้กำหนดอินพุตและเอาต์พุตตัวกรองของคุณอย่างชัดเจนแทนที่จะใช้ค่าดีฟอลต์เพื่อหลีกเลี่ยงปัญหาการเลือกสตรีมที่ไม่คาดคิด

ขนาด

แทนที่จะคุณสามารถอาจจะเพียงแค่ใช้trunc(oh*a/2)*2 -2จากเอกสารตัวกรองวิดีโอสเกล:

หากหนึ่งในค่าคือ -n ด้วย n> 1 ตัวกรองมาตราส่วนจะใช้ค่าที่รักษาอัตราส่วนภาพของอินพุตภาพซึ่งคำนวณจากมิติที่ระบุอื่น ๆ อย่างไรก็ตามหลังจากนั้นจะตรวจสอบให้แน่ใจว่ามิติที่คำนวณได้หารด้วย n และปรับค่าหากจำเป็น

x264 ต้องการให้ความกว้างและความสูงหารด้วย 2 ได้เมื่อเอาท์พุท yuv420p ดังนั้น-2จะจัดการกับสิ่งนั้นโดยสมมติว่ามูลค่าที่คุณประกาศเป็นที่ยอมรับ

ตัวอย่าง

คำสั่งผลลัพธ์ของคุณจะมีลักษณะดังนี้:

ffmpeg -i input.mp4 -filter_complex \
"[0:v]split=2[i1][i2]; \
 [i1]scale=-2:480,format=yuv420p[o1]; \
 [i2]scale=-2:640,format=yuv420p[o2]" \
-map "[o1]" -map 0:a -c:v libx264 output1.mp4 \
-map "[o2]" -map 0:a -c:v libx264 output2.mp4
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.