повторное смешивание файлов MPV из файлов h264 AVI - PullRequest
0 голосов
/ 15 декабря 2009

Я думаю, у меня есть куча AVI, закодированных в x264, которые я бы хотел преобразовать в m4v, чтобы я мог играть с Quicktime. Вот как я их создал

Сначала я снимаю VOB с DVD с этим:

$ mplayer -dumpstream -dumpfile new.vob dvd://1

Тогда я сжимаю это:

$ mencoder -oac copy -o new.avi -ovc x264 -x264encopts crf=18 new.vob

Я пытался сделать это, чтобы преобразовать их в m4v, но он взрывается ...

Я попытался сбросить потоки h264 / acc:

$ mplayer new.avi -dumpvideo -dumpfile new.h264
$ mplayer new.avi -dumpaudio -dumpfile new.acc

И повторное смешивание (?) С MP4Box, но я получаю сообщение об ошибке:

$ MP4Box -add new.h264#video -add new.aac#audio new.m4v
Cannot find H264 start code
Error importing new.h264#video: BitStream Not Compliant

Так что не уверен, что теперь делать ...

Ответы [ 2 ]

1 голос
/ 18 июня 2010

На вашем месте я бы просто использовал ffmpeg. В ffmpeg есть волшебный кодек, называемый copy, который просто копирует содержимое, а не перекодирует, что полезно именно для вашего случая использования - изменение контейнера без перекодировки.

со страницы руководства ffmpeg:

-vcodec codec

Принудительно применить видеокодек к кодеку. Используйте специальное значение "copy" для сказать, что необработанные данные кодека должны быть скопировано как есть.

-acodec codec

Принудительно применить аудиокодек к кодеку. Используйте специальное значение "copy" для указать, что необработанные данные кодека должны скопировать как есть.

Итак, чтобы применить это на практике:

$ ffmpeg -i new.avi -acodec copy -vcodec copy new.m4v

Я использую эту технику для переформатирования видео H.264 внутри FLV-контейнера в контейнер MP4, что в некоторых случаях значительно улучшает синхронизацию губ.

0 голосов
/ 15 декабря 2009

Вы должны использовать ручник .

...