视频格式,AVFoundation和UTI

时间:2010-12-29 20:06:26

标签: iphone video file-format avfoundation

我正在创建一个可以操纵视频文件的iPhone应用程序。我正在使用AVFoundation类(例如,AVAsset)。我刚刚将我的应用程序注册为符合public.movi​​e的所有文件的处理程序(通过CFBundleDocumentTypes)。但是,现在我的应用程序列在.avi文件的“打开方式”菜单中,即使我不认为iOS可以播放AVI电影(快速查看预览会尝试,但会失败)。

有没有更好的方式来注册开放电影?我还需要支持文件共享,所以我需要区分Documents文件夹中的哪些文件也是有效的电影,虽然我还没弄清楚如何检查文件的UTI。 iOS Technology Overview说:

  

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文件格式
  •   
  • 多种音频格式,包括“音频技术”
  • 中列出的格式   

提前感谢您提供的任何提示。

2 个答案:

答案 0 :(得分:3)

仅限视频,在Info.plist中指定以下UTI应该有效:

  • com.apple.m4v-video(.m4v)
  • com.apple.quicktime-movie(.qt,.mov)
  • public.mpeg-4(.mp4)

您可以在AVMediaFormat.h中找到AVFoundation支持的UTI: https://developer.apple.com/library/mac/#documentation/AVFoundation/Reference/AVFoundation_Constants/Reference/reference.html%23//apple_ref/doc/uid/TP40009539-CH4g-DontLinkElementID_48

答案 1 :(得分:2)

我已经决定处理这个问题的最佳方法是使用UT *函数确定文件的UTI,以便从文件扩展名中获取UTI。不幸的是,这意味着AVI文件仍然被导入,因为操作系统知道它们是电影,即使它们无法播放,但它似乎并没有造成太多问题。