Если вы хотите удалить один поток из своего медиафайла, скопируйте все, КРОМЕ поток, который вы хотите удалить.
Поиск всех потоков внутри медиа
Вы получаете все потоки внутри вашего мультимедиа с помощью этого:
ffprobe mediafile.mpg 2>&1 | grep -i stream
Пример
Это пример вывода одного из моих носителей:
Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 720x576 [SAR 64:45 DAR 16:9], 171 kb/s, 25 fps, 25 tbr, 12800 tbn, 50 tbc (default)
Stream #0:1(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 720x576 [SAR 64:45 DAR 16:9], 55 kb/s, 25 fps, 25 tbr, 12800 tbn, 50 tbc
Stream #0:2(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 128 kb/s (default)
Stream #0:3(deu): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 130 kb/s
Stream #0:4(fra): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 129 kb/s
Имеет два видеопотока (с двух камер) и три аудиопотока (на разных языках).
Как копировать (без потерь)
Теперь, если вы хотите скопировать поток, вам нужно слово copy
в качестве кодека. Пример:
ffmpeg -i media.mpg -c copy output.mkv
или более явный (видео и аудио кодек)
ffmpeg -i media.mpg -c:v copy -c:a copy output.mkv
По умолчанию копируется только первый видеопоток, первый аудиопоток, первый поток субтитров и т. д.
Чтобы скопировать все потоки:
ffmpeg -i media.mpg -map 0 -c copy output.mkv
Примечание: mkv
— это современный медиаконтейнер (avi
и mpg
довольно старые и устаревшие, mp4
тоже новее, но mkv
более гибкий). Но вы также можете использовать контейнер mpg
в качестве вывода.
Удалить поток
Теперь я покажу вам, как выбрать потоки для копирования с помощью моего примера медиафайла сверху. Остальные потоки будут опущены (= удалены):
ffmpeg -i media.mkv -c copy -map 0:0 -map 0:2 -map 0:3 output.mkv
Как вы видели выше, у меня было два видеопотока (0:0 и 0:1) и три аудиопотока (0:2, 0:3, 0:4). В моей команде я пропустил поток 0:1 и 0:4 (я их удалил).
Ваш случай
В вашем случае у вас должно быть 0:0 (видео), 0:1 (аудио) и 0:2 (аудио):
ffmpeg input.mpg -c copy -map 0:0 -map 0:1 output.mpg
person
erik
schedule
15.06.2020