Удалить аудио поток из файлов XVID
У меня есть куча файлов Xvid, у каждого из которых есть аудиопоток, который я не хочу. Как я могу удалить звуковую дорожку, которую я не хочу, используя командную строку Linux?
Мне не нужен весь скрипт (цикл), просто какую команду я бы использовал для обработки каждого avi-файла по отдельности (если только в самом cmd нет встроенной пакетной модификации).
Я не верю, что файл находится в контейнере mkv, так как mkvinfo ничего не находит. Вот часть вывода mplayer (спасибо ~quack):
[aviheader] Video stream found, -vid 0
ID_AUDIO_ID=1
[aviheader] Audio stream found, -aid 1
ID_AUDIO_ID=2
[aviheader] Audio stream found, -aid 2
VIDEO: [XVID] 512x384 12bpp 25.000 fps 1013.4 kbps (123.7 kbyte/s)
3 ответа
Честно говоря, я думаю, что вы предпочитаете использовать ffmpeg
решение. Но я понял mencoder
(mplayer
кодировщик) может сделать это тоже... и может, но только как побочный эффект - поскольку он построен поверх плеера, он может обрабатывать только один аудиопоток за раз. Если бы вы перевернули процесс (добавив второй аудиопоток в файл, в котором был только один файл), вам понадобился бы другой инструмент.
-aid X
опция выбирает аудиопоток (замените X на идентификационный номер потока). Похоже, mplayer
вывод, который вы указали, показывает правильные идентификационные номера, так что попробуйте с ними. Это сохраняет первый аудиопоток (используйте -aid 2
если хочешь второе)
$ mencoder orig.avi -o new.avi -oac copy -ovc copy -aid 1
Другие инструменты командной строки AVI, которые могут помочь:
avidemux
(Вы можете написать с-nogui
)transcode
Используя ffmpeg вы можете сделать следующее
ffmpeg -i input -map 0:0 -map 0:1 -vcodec copy -acodec copy output
Это должно сделать новый фильм с видео и первым аудио потоком. Чтобы использовать второй аудиопоток, измените -map 0: 1 на -map 0:2. С копией для -vcodec и -acodec вы копируете потоки без перекодирования.
Если у вас есть машина Windows. Используйте virtualdubmod , затем выберите streams-> stream list и отключите аудиопоток и добавьте свою собственную звуковую дорожку, выберите video-> direct stream copy и последний файл-> save as avi. Вы можете подготовить свой собственный аудио редактор, такой как Audacity.
Для Linux:
ffmpeg (здесь есть опция командной строки)