ฉันพยายามลบไฟล์เสียงที่ไม่ต้องการออกจากไฟล์ MKV (Matroska) เหตุผลที่ฉันต้องการทำเช่นนี้คือหลีกเลี่ยงการเลือกสตรีมที่ต้องการด้วยตนเองใน Windows Media Player
ไฟล์อินพุตให้ข้อมูล ffmpeg ต่อไปนี้:
Stream #0.0: Video: mpeg4, yuv420p, 704x396 [PAR 1:1 DAR 16:9], 29.98 tbr, 1k tbn, 29.98 tbc
Stream #0.1(eng): Audio: aac, 24000 Hz, 5.1, s16
Stream #0.2(jpn): Audio: aac, 24000 Hz, 5.1, s16
Stream #0.3(eng): Subtitle: 0x0000
Stream #0.4(eng): Subtitle: 0x0000
Stream #0.5: Attachment: 0x0000
Stream #0.6: Attachment: 0x0000
เนื่องจากฉันต้องการกระแสข้อมูล 0, 1 และ 3 (ย่อย) คำสั่ง ffmpeg ของฉันจึงมีลักษณะดังนี้:
ffmpeg -i input.mkv -map 0:0 -map 0:1 -map 0:3 -vcodec copy -acodec libmp3lame -newsubtitle test.mkv
ซึ่งผิดพลาดอย่างน่าประหลาด:
At least one output file must be specified
การลบคำบรรยาย:
ffmpeg -i input.mkv -map 0:0 -map 0:1 -vcodec copy -acodec libmp3lame test.mkv
ให้ฉันนี้:
Number of stream maps must match number of output streams
ฉันดูเหมือนว่าฉันไม่เข้าใจวิธีการทำงานของตัวเลือก "แผนที่" มีคนช่วยฉันคิดออกไหม
--atracks
ตัวเลือกที่ไม่อยู่อีกต่อไปแทนควรใช้อย่างใดอย่างหนึ่งหรือ--audio-tracks
--video-tracks