在研究StackOverflow和Class References上的批次之后,iOS MPMoviePlayerController无法播放.mov视频文件。 AVPlayer可以播放.mov文件,但没有控件。
我希望我的应用程序播放.mov文件,因为Adobe Flash Animation提供.mov作为最干净和本机的视频。如果我将同一视频转换为mp4(支持的格式),即使我将视频速率转换为100 MB / s和最高质量的视频,也会导致质量下降。
具有讽刺意味的是,QuickTime是Apple的知识产权,其产品不支持.mov视频文件。
如何解决此问题?
答案 0 :(得分:5)
MPMoviePlayerController(和iOS一般)支持.mov文件。请参阅Apple的class documentation, section "Supported Formats"。但是只支持有限数量的视频编解码器。
看似Quicktime“.mov”格式不是视频编解码器,而是音频/视频容器格式,可以包含任意数量的压缩编解码器中的视频和音频(以及其他一些东西)(h.264,mpeg2, ProRes,MJPEG,AAC,mp3等。)
您的文件不起作用,因为它们包含使用iOS不支持的编解码器压缩的视频(如果它们是Flash动画,可能是PhotoJPEG吗?)。您可以通过在Mac OS X上的Quicktime Player中打开视频并单击“窗口”菜单中的“显示电影检查器”来检查视频的格式。
无法将其他编解码器的支持添加到本机iOS视频播放系统(MPMoviePlayerController和朋友)。这留下了两个选择;
你说你已经尝试过重新压缩文件,但这仍然是最好的选择。 我鼓励您尝试使用Handbrake重新压缩文件。 h.264编解码器具有出色的效果(参见BluRay电影,iTunes电影商店等)。
如果您真的必须以当前格式播放动画,则需要使用其他视频播放框架。我建议你从excellent VideoLan project查看libVLC和VLCKit(我在访问VLCKit项目页面时遇到问题,但是a fork is available here)。请注意,非原生视频播放很可能不会硬件加速,因此会占用用户的电池。
最后一件事,如果您的视频很短且无声......可能会选择动画GIF作为选项吗?