开发者

remuxing mpv files from h264 AVI files

I have a bunch of, I think, x264 encoded AVIs that I'd like to convert to m4v so that I can play with Quicktime. Here's how I created them

First I dump the vob from DVD with this:

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

Then I compress it:

$ mencoder -oac copy -o new.avi -ovc x264 -x264开发者_开发技巧encopts crf=18 new.vob

I tried doing this to convertthem to m4v, but it's blowing up...

I tried dumping the h264/acc streams:

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

And remuxing(?) with MP4Box but I'm getting an error:

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

So not sure what to do now...


If I were you, I would just use ffmpeg. ffmpeg has a magic ‘codec’ called copy which simply copies the content, rather than re-encoding, which is useful for precisely your use case — changing container without re-encoding.

From the ffmpeg man page:

-vcodec codec

Force video codec to codec. Use the "copy" special value to tell that the raw codec data must be copied as is.

-acodec codec

Force audio codec to codec. Use the "copy" special value to specify that the raw codec data must be copied as is.

So, to put this into practice:

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

I use this technique for reformatting H.264 videos inside an FLV container into an MP4 container, which drastically improves lip sync in some cases.


You should use handbrake.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜