我正在尝试为客户端设置一个简单的移动页面,其中包含指向.mp4视频文件的链接。 Lke so:
<a href="My_Video_File.mp4" target="_blank">Watch MP4 Video</a>
然后我显然已经正确地获取了我的视频文件,并且.mp4具有以下特征:
Dimension: 480 * 272
Codecs: AAC, H.264, MPEG-4 SDSM, MPEG-4 ODSM
Channel Count: 2
Total Bitrate: 991
Size: 11.4MB
但是,问题是当我点击链接iPhone时说“电影无法播放”。并没有告诉我为什么。
任何帮助?
提前致谢。
答案 0 :(得分:20)
我终于明白了。
问题部分与编码有关,但更多与尺寸有关。
我发现如果您的.mp4文件的尺寸大于640 * 360,那么iPhone(iPad,iPod)甚至不会让用户尝试播放它。他们只是获得了X'd out play按钮图标。
此外,这些设备仅支持使用基线H.264配置文件编码的.mp4,或者无法播放。
此外,iPhone的比特率限制为1.5Mb,但建议将比特率保持在900kb以下。
如果质量不是一个问题而不是大小,那么你可以使用更大尺寸的m4v,但我相信比特率规则仍然适用。
希望这有助于其他人。
答案 1 :(得分:9)
我遇到了类似的问题,我的猜测是编码。我曾尝试使用Adobe Premiere CS4(Adobe Media Encoder)预设“iPhone”,但没有运气。
使用以下命令通过ffmpeg运行它可以解决问题:
ffmpeg -i INPUT -s 320x240 -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
我在这里找到了上述(以及许多其他配置):http://rodrigopolo.com/ffmpeg/cheats.html(我在他们的“iPod-iPhone 640宽度中更正了一些拼写错误,没有预设”[原文]。)
其他搜索可能会产生更多有关编码要求(h.264 baseline 3.0)和电影在iPhone上播放的尺寸要求的信息。
答案 2 :(得分:4)
你需要h254视频不是低级的。选择H.264预设并将视频从低级更改为逐级。
答案 3 :(得分:2)
这对我来说是这样的:
ffmpeg -an -i movie.mp4 -vcodec libx264 -codec:a libmp3lame -qscale:a 1 -pix_fmt yuv420p -profile:v baseline -level 3 output.mp4
我在这里使用了mp3编解码器。这修复了我的iPhone mp4问题! 感谢Thismatters!
答案 4 :(得分:0)
我遇到了与我生成的视频类似的情况。它可以在我的本地机器上运行,也可以通过支持.mp4的浏览器运行;然而,当我尝试在我的iPhone上观看它时,它总会调出一个划掉的播放按钮。阅读ffmpeg docs后,我尝试使用以下内容,它在我的iPhone以及我能够尝试的其他设备上运行得非常漂亮。
ffmpeg -i input.mkv -c:v libx264 -crf 28 -preset veryslow -tune fastdecode \
-profile:v baseline -level 3.0 -movflags +faststart -c:a libfdk_aac -ac 2 \
-ar 44100 -ab 64k -threads 0 -f mp4 output.mp4
我正在处理的视频是1280x720(30fps),最终让它运行的选项是
-profile:v baseline -level 3.0
希望这有帮助。