ฉันจะสลับสตรีมเสียงที่หนึ่งและที่สองใน MKV ในระบบที่ใช้ Linux ได้อย่างไร


10

ฉันใช้เพล็กซ์ Plex ดูเหมือนจะไม่สนใจสตรีมเสียงเริ่มต้น (ใน Roku) และใช้เพียงสตรีมเสียงแรกแทน นี่คือการทดสอบของฉันโดยใช้ mkvpropedit

เนื่องจาก Plex ไม่รองรับการเปลี่ยนแปลงแหล่งเสียงในไคลเอนต์ที่อยู่นอก LAN ฉันต้องการเปลี่ยนไฟล์บางส่วนดังนั้นแหล่งเสียงที่สองในปัจจุบันจึงเป็นแหล่งแรก?

วิธีที่ดีที่สุดในการสลับสัญญาณเสียงใน MKV บนระบบที่ใช้ Linux เช่น Ubuntu คืออะไร

คำตอบ:


14

ด้วยFFmpegสิ่งนี้ควรจะค่อนข้างง่าย ตรวจสอบให้แน่ใจว่าคุณดาวน์โหลดบิลด์แบบคงที่จากหน้าดาวน์โหลดและไม่ใช้เวอร์ชั่นที่เก็บ Ubuntu ซึ่งค่อนข้างเก่า

นี่คือคำสั่ง:

ffmpeg -i input.mkv -map 0:v:0 -map 0:a:1 -map 0:a:0 -c copy output.mkv

นี่คือสิ่งที่-map:

  • ส่วนแรกก่อนโคลอนคือ ID อินพุต 0เนื่องจากเรามีเพียงหนึ่งในการป้อนข้อมูลก็
  • ส่วนที่สองระบุประเภทของสตรีมvวิดีโอหรือaเพลง นี่เป็นตัวเลือก แต่เป็นความคิดที่ดีที่จะระบุประเภทด้วยเช่นกันในกรณีที่วิดีโอและสตรีมเสียงไม่ได้รับการทำมัลติเพล็กซ์อย่างถูกต้อง
  • ส่วนที่สามคือ ID ของอินพุตสตรีม 0จะเป็นครั้งแรกและ1ครั้งที่สองคือสตรีมวิดีโอครั้งแรกและสตรีมเสียงที่สองและครั้งแรก
  • ลำดับของ-mapตัวเลือกจะกำหนดลำดับของสตรีมในไฟล์เอาต์พุต

ซึ่งหมายความว่าเราจะปล่อยให้บิตสตรีมวิดีโอเป็นสตรีมแรกจากนั้นใช้สตรีมเสียงที่สองจากนั้นก็เป็นสตรีมแรก

การใช้-c copyตัวเลือกทำให้มั่นใจได้ว่าบิตสตรีมจะถูกคัดลอกและไม่เข้ารหัสใหม่

ตัวอย่างบางส่วนเกี่ยวกับวิธีการใช้-mapตัวเลือกสามารถพบได้ใน FFmpeg wiki


ถ้ามีเพียงหนึ่งการป้อนข้อมูลจริงคุณสามารถออกจากการป้อนข้อมูล -map v:0 -map a:1 -map a:0ID:
ของหวาน

7

เพียงใช้ mkvtool เพื่อหลีกเลี่ยงบรรจุใหม่เข้ารหัส ... เสียเวลา

mkvpropedit -v movie.mkv -v --edit track:2 --set track-number=3 --edit track:3 --set track-number=2

นี่ควรจะเพียงพอที่จะแลกเปลี่ยนสตรีม

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