3

У меня есть куча файлов Xvid, каждый из которых имеет аудиопоток, который мне не нужен. Как я могу удалить звуковую дорожку, которую я не хочу, используя командную строку Linux?

Мне не нужен весь сценарий (цикл), только какую команду я бы использовал для обработки каждого avi-файла отдельно (если только в самом cmd нет встроенной пакетной модификации).

Я не верю, что файл находится в контейнере mkv, так как mkvinfo ничего не находит. Вот часть вывода mplayer (спасибо ~ кряк):

[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 ответа3

5

Используя ffmpeg вы можете сделать следующее

ffmpeg -i input -map 0:0 -map 0:1 -vcodec copy -acodec copy output

Это должно сделать новый фильм с видео и первым аудио потоком. Чтобы использовать второй аудиопоток, измените -map 0:1 на -map 0:2. С копией для -vcodec и -acodec вы копируете потоки без перекодирования.

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
0

Если у вас есть Windows Machine. Используйте virtualdubmod, затем выберите streams-> stream list и отключите аудиопоток и добавьте свою собственную звуковую дорожку, выберите video-> direct stream copy и последний файл-> save as avi. Вы можете подготовить свой собственный аудио редактор, такой как Audacity.

Для Linux:

ffmpeg (это опция командной строки)

Avidemux

Cinelerra

DVD :: рип

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .