ffmpeg: เพิ่มแทร็กเสียงใหม่ไปยังไฟล์ที่มีอยู่


3

ฉันสร้างการผสมเสียงสเตอริโอด้วยตนเองด้วยแทร็ก 5.1 DTS ตอนนี้ฉันต้องการเพิ่มแทร็กเสียงใหม่ลงในไฟล์ภาพยนตร์ต้นฉบับโดยไม่ต้องทิ้งแทร็กเสียงเก่า

ปัญหาของฉันดูเหมือนว่าฉันจะพลาด ffmpeg ในการทำแผนที่ที่ถูกต้องของแทร็ค (ไฟล์มีแทร็กเสียงสองแทร็กแล้วและมีซับไตเติ้ลจำนวนหนึ่งซึ่งดูเหมือนจะนับด้วย) เพื่อให้ฉันได้รับ "จำนวนสตรีมแม็พ ต้องตรงกับจำนวนเอาต์พุตสตรีม "(ที่ยกมาจากหน่วยความจำ) หรือฉันแม้แต่ระบุแนวคิดสตรีม / แผนที่ทั้งหมดผิด

มีคำอธิบายที่ดีสำหรับสิ่งที่ฉันพยายามทำหรือไม่? ฉันยังอ่านข้อความทั้งหมดเกี่ยวกับหัวข้อเอกสารใน ffmpeg.org ไม่เป็นประโยชน์ในกรณีนี้

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

ทุกสิ่งที่ฉันพบมาจนถึงข้อตกลงกับวิดีโอแบบเงียบหรือการเปลี่ยนแทร็กเสียงซึ่งไม่ใช่สิ่งที่ฉันต้องการจะทำ

คำตอบ:


8
ffmpeg -i input.mkv -i audio.dts -map 0 -map 1 -c copy output.mkv

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

ดัชนีไฟล์อินพุตเริ่มนับจาก 0 ดังนั้นการใช้-map 0จะเลือกสตรีมทั้งหมดจากอินพุตแรก ( input.mkv) และ-map 1จะเลือกสตรีมทั้งหมดจากอินพุตที่สอง ( audio.dts)

ผลลัพธ์คือoutput.mkvจะมีสตรีมทั้งหมดจากอินพุตทั้งสอง การใช้-c copyจะเป็นการสตรีมคัดลอกสตรีมดังนั้นพวกเขาจะถูกรีเฟรชโดยไม่ต้องเข้ารหัสเพิ่มเติมอีก

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