Tôi đã cố gắng loại bỏ các luồng âm thanh không cần thiết khỏi tệp MKV (Matroska). Lý do tại sao tôi muốn làm điều này là để tránh phải chọn thủ công luồng mong muốn trong Windows Media Player.
Tệp đầu vào cung cấp thông tin ffmpeg sau:
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
Vì tôi muốn các luồng 0, 1 và 3 (phụ), lệnh ffmpeg của tôi trông như thế này:
ffmpeg -i input.mkv -map 0:0 -map 0:1 -map 0:3 -vcodec copy -acodec libmp3lame -newsubtitle test.mkv
Điều kỳ lạ đưa ra lỗi:
At least one output file must be specified
Xóa phụ đề:
ffmpeg -i input.mkv -map 0:0 -map 0:1 -vcodec copy -acodec libmp3lame test.mkv
đưa tôi cái này:
Number of stream maps must match number of output streams
Tôi dường như không thực sự hiểu cách thức hoạt động của tùy chọn "bản đồ". Ai đó sẽ giúp tôi tìm ra nó?
--atracks
tùy chọn không còn tồn tại nữa, thay vào đó người ta nên sử dụng--audio-tracks
hoặc--video-tracks
.