Из синхронизирующего аудио видео с помощью mencoder

Я преобразовал mkv (matroska) файл к avi, использующему ffmpeg:

ffmpeg -i input.mkv -f mp4 -vcodec mpeg4 -sameq -r 29.97 -b 512kb -acodec ac3 -ab 128kb -vol 512  output.avi

Выходной файл играет прекрасное использование mplayer. После этого я использовал mencoder для вставки подзаголовков:

mencoder output.avi -o new.avi -oac pcm -ovc lavc -subfont-text-scale 3 -sub subtitle.srt

После того, как я воспроизведу видео "new.avi", видео и аудио вне синхронизации. Какие опции я могу поместить в mencoder для синхронизации A/V?

Я также попробовал ffmpeg -newsubtitle опция, но не может получить его работа. Любые примеры использования -newsubtitle значительно ценился бы.

1
задан 23.07.2011, 02:42

2 ответа

Поскольку derobert упомянул, что можно сделать все это в mencoder, который пользуется ffmpeg библиотеками самом и намного более мощен, это избежит транскодирования, которое Вы в настоящее время делаете. - опция аудио задержки в mencoder устанавливает смещение для аудио относительно видео, если разность в смещении является абсолютной. Вы могли также попробовать различные-autosync настройки (значение по умолчанию 0, до 30 упоминаются в руководстве).

1
ответ дан 12.12.2019, 13:25

Если Вам действительно не нужен AVI, Вы могли бы попытаться использовать mkvmerge от комплекта MkvToolnix, чтобы сделать это (вместо mencoder). MKVs может содержать "мягкие" дорожки подзаголовка, что означает, что Вы не должны повторно кодировать видеопоток для включения их. (Это также означает, что плееры могут отключить дорожки подзаголовка во время воспроизведения при желании.)

Добавление файла SRT в MKV так же просто как

$ mkvmerge -o with-subtitles.mkv without-subtitles.mkv mymovie.srt

or to specify a language for the subtitle track:
$ mkvmerge -o with-lang-codes.mkv without-lang-codes.mkv --language 0:eng english.srt --default-track 0

(адаптированный от раздела Examples mkvmerge страницы справочника, связанной выше).

1
ответ дан 12.12.2019, 13:25

Теги

Похожие вопросы