Я намагався видалити непотрібні аудіо потоки з файлу 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 (sub), моя команда 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
.