0

我想我有一堆 x264 编码的 AVI,我想将它们转换为 m4v,以便我可以使用 Quicktime。这是我创建它们的方式

首先,我用这个从 DVD 中转储 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

所以现在不知道该怎么办...

4

2 回答 2

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 容器,这在某些情况下会极大地改善口型同步。

于 2010-06-18T14:10:55.387 回答
-1

你应该使用手刹

于 2009-12-15T03:23:49.750 回答