2009-12-15 79 views
0

我有一堆,我认为,我想要转换为m4v,以便我可以玩Quicktime x264编码的AVI。以下是我创造了他们从h264 AVI文件remuxing mpv文件

首先我转储VOB从DVD与此:

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

然后我压缩它:

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

我试图做这convertthem为M4V,但它吹起来......

我试图倾销H264/ACC流:

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

而且remuxing与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 

所以不知道现在做什么...

回答

-1

您应该使用handbrake

+4

手刹不能做视频直通...我用手动刹车的任何东西都会再次压缩视频(甚至比现在还要多) – jsharpe 2009-12-15 03:25:55

1

如果我是你,我只会使用ffmpeg。 ffmpeg有一个名为copy的魔术'编解码器',它简单地复制内容,而不是重新编码,这对于您的用例而言非常有用 - 更改容器而无需重新编码。

从FFmpeg的手册页:

-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.

所以,把这个付诸实践:

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

我用这个技术来重新格式化FLV容器中的H.264视频转换为MP4容器,这在某些情况下极大地改善了唇部同步。