我有一堆,我认为,x264编码的AVI,我想转换为m4v,以便我可以使用Quicktime。这就是我创建它们的方式
首先我用DVD转储vob的vob:
$ 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
所以不知道现在要做什么......
答案 0 :(得分:1)
如果我是你,我会使用ffmpeg。 ffmpeg有一个名为copy
的魔术'编解码器',它只是复制内容,而不是重新编码,这对于您的用例更改非常有用 - 无需重新编码即可更改容器。
来自ffmpeg手册页:
<强>
-vcodec codec
强>强制视频编解码器到编解码器。使用“
copy
”特殊值 告诉原始编解码器数据必须是 按原样复制。<强>
-acodec codec
强>强制音频编解码器到编解码器。使用“
copy
”特殊值 指定原始编解码器数据必须 按原样复制。
所以,将其付诸实践:
$ ffmpeg -i new.avi -acodec copy -vcodec copy new.m4v
我使用这种技术将FLV容器内的H.264视频重新格式化为MP4容器,在某些情况下可以大大改善唇形同步。
答案 1 :(得分:-1)
您应该使用handbrake。