12

哪些视频格式与 iPhone 的资源库兼容?

换句话说,ALAssetsLibrary 的 videoAtPathIsCompatibleWithSavedPhotosAlbum 对于哪些视频格式会返回 YES?

我似乎无法在 iPhone 参考库中找到任何相关信息。

4

5 回答 5

14

还没有人提到这一点,但这取决于 iPhone / iOS 设备。在制作一个尝试将 Flickr 视频复制到相册的应用程序时,当我在 writeVideoAtPathToSavedPhotosAlbum 上不断收到无效数据结果时,我感到很沮丧:调用非 Retina iPhone。

按照这个问题的要求,我对各种大小的 Flickr 视频进行了一些 videoAtPathIsCompatibleWithSavedPhotosAlbum 测试。

                                  iPhone iPhone iPad
                               (非视网膜)(视网膜)
6119419764_orig.mov
H.264, 1,920 x 1,080 否 否 否
线性 PCM,16 位
小端签名
整数,48000赫兹,
立体声 (LR)
35.33 兆比特/秒

6119419764_hd.mp4
AVC 编码,1,280 x 720 否 是 是
AAC,44100 赫兹,立体声 (LR)
2.15 兆比特/秒

6119419764_site.mp4
AVC 编码,640 x 360 否 是 是
AAC,44100 赫兹,立体声 (LR)
833.71 千比特/秒

6119419764_mobile.mp4
AVC 编码,568 x 320 是 是 是
AAC,32000 赫兹,单声道
775.14 千比特/秒

6121206003_orig.mov
(用 iPhone 3Gs 拍摄)           
H.264、480 x 360 是 是 是
AAC,44100 赫兹,单声道
865.94 千比特/秒
30 帧/秒

6110638568_reformat.mov
H.264、640 x 360 是 是 是
AAC,44100 赫兹,单声道
3.57 兆比特/秒

基于这个有限的测试,对于给定的格式和设备,看起来尺寸最重要。(对于当前的 Flickr 编码方法和url 方案mobile视频适用于所有 iOS 设备相册,而hd视频site仅适用于 Retina iPhone 和 iPad。)

一个有趣的旁注是,高清视频将在带有 MPMoviePlayerController 的非视网膜 iPhone 上播放——您只是无法将它们保存到相册中。

于 2011-09-07T12:11:05.380 回答
4

如果您想要支持的音频/视频技术列表,请阅读 iOS 技术概述,尤其是媒体层(向下滚动到显示“视频技术”的位置)。

iOS 中的视频技术支持播放具有 .mov、.mp4、.m4v 和 .3gp 文件扩展名并使用以下压缩标准的电影文件:

  • H.264 视频,最高 1.5 Mbps,640 x 480 像素,每秒 30 帧,H.264 基线配置文件的低复杂度版本,具有最高 160 Kbps 的 AAC-LC 音频,48 kHz,.m4v 立体声音频, .mp4 和 .mov 文件格式

  • H.264 视频,最高 768 Kbps,320 x 240 像素,每秒 30 帧,Baseline Profile 最高 1.3 级,AAC-LC 音频最高 160 Kbps,48 kHz,立体声音频格式为 .m4v、.mp4 和 . mov文件格式

  • MPEG-4 视频,最高 2.5 Mbps,640 x 480 像素,每秒 30 帧,具有最高 160 Kbps 的 AAC-LC 音频的简单配置文件,48 kHz,.m4v、.mp4 和 .mov 文件格式的立体声音频

  • 多种音频格式,包括“音频技术”中列出的格式</p>

这是 iOS 中媒体框架的参考信息。

于 2011-05-03T11:51:17.990 回答
3

我最近在我的超快速相机应用程序SnappyCam Pro中为静态照片的实时连拍添加了视频导出功能。

为了满足新旧设备的需求,我最终创建了一些 MPEG-4“探测”视频,每个视频都有一个黑色帧,分辨率为各种 4:3:

  1. 320x240像素
  2. 640x480像素
  3. 960x720像素
  4. 1440x1080像素

这四个视频文件仅向 App Bundle 添加了 12KB。

然后用 遍历每个,-[ALAssetsLibrary videoAtPathIsCompatibleWithSavedPhotosAlbum:]然后我能够确定哪些选项对最终的“相机胶卷”视频导出有效。

于 2013-09-07T20:32:43.357 回答
2

如果我不得不猜测,我可能会使用iPhone 自己的规格作为测试指南:

支持的视频格式:H.264 视频,最高 720p,每秒 30 帧,Main Profile level 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,PCM 立体声音频为 .avi 文件格式

于 2010-07-15T20:14:46.600 回答
0

似乎没有记录的方式来查询哪些格式会让人videoAtPathIsCompatibleWithSavedPhotosAlbum开心,并且设备可以解码某种格式的事实并不意味着 AssetLibrary 会接受它。但是,您会期望 配备相机的设备始终能够将相机的最高分辨率输出保存到相机胶卷。

如果您可以接受这个假设,那么您所要做的就是使用 枚举AVCaptureDevices和查询各种预设supportsAVCaptureSessionPreset

Victor 的测试表明像素区域似乎是最重要的,所以一旦你查询过, AVCaptureSessionPreset1920x1080, AVCaptureSessionPreset1280x720, AVCaptureSessionPreset640x480你应该能够选择一个可以videoAtPathIsCompatibleWithSavedPhotosAlbum说是的大小。

我不知道您如何为没有摄像头的设备计算它。

于 2011-11-16T09:15:58.527 回答