哪些视频格式与iPhone的资产库兼容?
换句话说,对于哪些视频格式,ALAssetsLibrary的videoAtPathIsCompatibleWithSavedPhotosAlbum会返回YES?
我似乎无法在iPhone参考资料库中找到有关此信息的任何信息。
答案 0 :(得分:14)
还没有人提到这一点,但这取决于iPhone / iOS设备。在制作试图将Flickr视频复制到相册的应用程序时,当我在writeVideoAtPathToSavedPhotosAlbum上获取无效数据结果时,我感到很沮丧:调用非Retina iPhone。
我按照这个问题的要求,在各种尺寸的Flickr视频上运行了一些videoAtPathIsCompatibleWithSavedPhotosAlbum测试。
iPhone iPhone iPad (non-Retina) (Retina) 6119419764_orig.mov H.264, 1,920 x 1,080 NO NO NO Linear PCM, 16 bit little-endian signed integer, 48000 Hz, Stereo (L R) 35.33 Mbit/s 6119419764_hd.mp4 AVC Coding, 1,280 x 720 NO YES YES AAC, 44100 Hz, Stereo (L R) 2.15 Mbit/s 6119419764_site.mp4 AVC Coding, 640 x 360 NO YES YES AAC, 44100 Hz, Stereo (L R) 833.71 kbit/s 6119419764_mobile.mp4 AVC Coding, 568 x 320 YES YES YES AAC, 32000 Hz, Mono 775.14 kbit/s 6121206003_orig.mov (Taken with iPhone 3Gs) H.264, 480 x 360 YES YES YES AAC, 44100 Hz, Mono 865.94 kbit/s 30 fps 6110638568_reformat.mov H.264, 640 x 360 YES YES YES AAC, 44100 Hz, Mono 3.57 Mbit/s
基于这种有限的测试,对于给定的格式和设备,它看起来大小最重要。 (对于当前的Flickr编码方法和url scheme,mobile
视频适用于所有iOS设备相册,而hd
和site
视频仅适用于Retina iPhone和iPad。)
一个有趣的旁注是高清视频将使用MPMoviePlayerController在非视网膜iPhone上播放 - 你无法将它们保存到相册中。
答案 1 :(得分:4)
如果您需要支持的音频/视频技术列表,请阅读iOS技术概述,特别是Media Layer(向下滚动到它所说的位置"视频技术")。
iOS支持的视频技术 随着播放电影文件 .mov,.mp4,.m4v和.3gp文件名 扩展并使用以下内容 压缩标准:
H.264视频,最高1.5 Mbps,640 x 480像素,每秒30帧, H.264的低复杂度版本 带有AAC-LC音频的基线配置文件 至160 Kbps,48 kHz,立体声音频输入 .m4v,.mp4和.mov文件格式
H.264视频,最高768 Kbps,320 x 240像素,每秒30帧, 基线配置文件高达1.3级 AAC-LC音频高达160 Kbps,48 kHz, .m4v,.mp4和.mov中的立体声音频 文件格式
MPEG-4视频,最高2.5 Mbps,640 x 480像素,每秒30帧, AAC-LC音频的简单配置文件 160 Kbps,48 kHz,立体声音频输入 .m4v,.mp4和.mov文件格式
多种音频格式,包括“音频”中列出的格式 技术”
这是iOS中媒体框架的参考信息。
答案 2 :(得分:3)
我最近在我的超快相机应用程序SnappyCam Pro中添加了一个视频导出功能,用于生活照片的静止照片。
为了满足新老设备的需求,我最终制作了一些MPEG-4“探测”视频,每个视频都有一个黑色的框架,分辨率为4:3:
这四个视频文件仅向App Bundle添加了12KB。
然后使用-[ALAssetsLibrary videoAtPathIsCompatibleWithSavedPhotosAlbum:]
迭代每个选项,然后我可以确定哪些选项对最终的相机胶卷视频导出有效。
答案 3 :(得分:2)
如果我不得不猜测,我可能会使用iPhone's own specifications作为测试指南:
支持视频格式:H.264视频高达720p,每秒30帧,主配置文件级别3.1,AAC-LC音频高达160 Kbps,48kHz,立体声音频,.m4v,.mp4和。 mov文件格式; MPEG-4视频,高达2.5 Mbps,640 x 480像素,每秒30帧,简单配置文件,AAC-LC音频,每通道高达160 Kbps,48kHz,立体声音频,.m4v,.mp4和.mov文件格式; Motion JPEG(M-JPEG)高达35 Mbps,1280 x 720像素,每秒30帧,ulaw音频,.avi文件格式的PCM立体声音频
答案 4 :(得分:0)
似乎没有一种文档化的方式来查询哪些格式会使videoAtPathIsCompatibleWithSavedPhotosAlbum
满意,而且设备可以解码某种格式并不意味着AssetLibrary会接受它。 但是,您可能希望配备相机的设备始终能够将相机的最高分辨率输出保存到相机胶卷。
如果你能接受这个假设,那么你所要做的就是枚举AVCaptureDevices
并用supportsAVCaptureSessionPreset
查询各种预设。
Victor的测试显示像素区域似乎最重要,所以一旦你查询了
AVCaptureSessionPreset1920x1080, AVCaptureSessionPreset1280x720, AVCaptureSessionPreset640x480
您应该能够选择一个会使videoAtPathIsCompatibleWithSavedPhotosAlbum
说“是”的尺寸。
我不知道你如何计算没有相机的设备。