转换 m4v -> mp4 没有意义。m4v 只是 mp4 的另一个扩展。
Mp4 不是视频格式,而是音频/视频/字幕/元数据的包装器。在我看来,问题来自个人资料。根据 iPhone 的世代,并非所有 h264 配置文件都受支持。
尝试添加-coder 0
到您的命令中,它应该可以工作。
我想你从这里得到你的命令,我注意到还有另一个命令应该做你想做的事:
iPod-iPhone 640 width, without presset :
ffmpeg -i INPUT -s 640x480 -r 30000/1001 -b 200k -bt 240k -vcodec libx264 coder 0 -bf 0 -refs 1 -flags2 -wpred-dct8x8 -level 30 -maxrate 10M -bufsize 10M-acodec libfaac -ac 2 -ar 48000 -ab 192k output.mp4
根据我的经验,如果你想要一个好的质量/尺寸比,你应该更喜欢 2-pass encoding :
ffmpeg -y -i input -r 30000/1001 -s 480x272 -aspect 480:272 -vcodec libx264 -b 512k -bt 1024k -maxrate 4M -flags +loop -cmp +chroma -me_range 16 -g 300 -keyint_min 25 -sc_threshold 40 -i_qfactor 0.71 -rc_eq "blurCplx^(1-qComp)" -qcomp 0.6 -qmin 10 -qmax 51 -qdiff 4 -coder 0 -refs 1 -bufsize 4M -level 21 -partitions parti4x4+partp8x8+partb8x8 -subq 5 -f mp4 -pass 1 -an -title "Title" output.mp4
编码过程较长,但值得花时间!
最后一件事,而不是直接使用 ffmpeg,我更喜欢使用 Mencoder,它是 ffmpeg 的包装器(更多编解码器支持)。Mencoder 的一个不错的 GUI 应该是 Windows 的 MeGUI,它确实使编码过程更容易!