iPhone中支持的video文件格式

iPhone OS支持哪些video文件格式?

谢谢

引用iPhone OS技术概述 :

iPhone OS通过Media Player框架(MediaPlayer.framework)提供对全屏video播放的支持。 该框架支持播放带有.mov,.mp4,.m4v和.3gp文件扩展名的电影文件,并使用以下压缩标准:

  • H.264video,高达1.5 Mbps,640×480像素,每秒30帧,H.264 Baseline Profile的低复杂度版本,AAC-LCaudio最高可达160 Kbps,48kHz,立体声audio为.m4v。 mp4和.mov文件格式
  • H.264video,高达768 Kbps,320×240像素,每秒30帧,基准剖面高达1.3级,AAC-LCaudio高达160 Kbps,48kHz,立体声audio为.m4v,.mp4和.mov文件格式
  • MPEG-4video,高达2.5 Mbps,640×480像素,每秒30帧,简单configuration文件,AAC-LCaudio高达160 Kbps,48kHz,立体声audio.m4v,.mp4和.mov文件格式
  • 众多的audio格式,包括“audio技术”

有关Media Player框架类的信息,请参阅Media Player框架参考。

简短的回答:H.264 MPEG(MP4)

来自Apple.com的长篇答案:

支持的video格式:H.264video,高达1.5 Mbps,640×480像素,每秒30帧,

H.264 Baseline Profile的低复杂度版本,带有AAC-LCaudio,高达160 Kbps,48kHz,立体声audio,格式为.m4v,.mp4和.mov; H.264video,高达2.5 Mbps,640×480像素,每秒30帧,

基线轮廓达到3.0级,AAC-LCaudio速度高达160 Kbps,48kHz,立体声audio采用.m4v,.mp4和.mov文件格式。 MPEG-4video,高达2.5 Mbps,640×480像素,每秒30帧,

AAC-LCaudio简单configuration文件,最高可达160 Kbps,48kHz,.m4v,.mp4和.mov文件格式的立体声audio

http://www.apple.com/iphone/specs.html

简短的答案是iPhone支持H.264video,高分辨率AACaudio ,容器格式为.mov.mp4或MPEG Segment .ts 。 MPEG段文件用于HTTP实时stream媒体 。

  • 为了最大限度地兼容Android和桌面浏览器,请在.mp4容器中使用H.264 + AAC。
  • 对于长度超过10分钟的扩展长度的video,您必须在一系列小的.ts容器文件(请参阅App Store Review Review规则2.5.7)中使用HTTP Live Streaming,它是H.264 + AAC。

video

在iPhone上, H.264是城里唯一的游戏。 [1]

H.264中有几个不同的function层或“ configuration文件 ”。 所有现代iPhone( 3GS及以上 )都支持高调。 这些configuration文件基本上是用于压缩video的三种不同级别的algorithm“技巧”。 更多的技巧提供更好的压缩,但需要更多的CPU或专用硬件来解码。 这是列出不同configuration文件之间差异的表格。

[1]有趣的是,苹果自己的Facetime 使用了更新的H.265(HEVC)video编解码器 。 然而,现在(2017年8月),没有一个苹果提供的库允许开发人员访问HEVC编解码器。 预计这一点会有所改变 。

在谈论iPhone所支持的video格式时,应该区分硬件能够支持什么,以及在networking上传输时播放的限制(低得多)。

苹果公司提供的关于当前iPhone(SE,6S,6S Plus,7,7 Plus)硬件video支持的唯一数据是它们支持

4K [3840×2160] 30 fpsvideo录制

1080p [1920×1080] 30 fps或60 fps的高清video录制。

显然手机可以播放它可以录制的内容,所以我们可以猜测,30fps的3840×2160和60fps的1920×1080代表了手机的devise极限。 另外,6S Plus和7 Plus的屏幕尺寸是1920×1080。 所以如果你有兴趣在手机上播放,发送更多的像素,然后屏幕可以绘制是没有意义的。

但是,stream式video是另一回事。 由于networking速度较慢且video很大,因此使用比设备理论最大值更低的分辨率,比特率和帧速率是很典型的。

为stream式传输提供build议的最详细文档是TN2224为Apple设备创build和部署HTTP实时stream式媒体的最佳实践 。 该文件中的图3给出了推荐的stream参数表:

Apple推荐的视频编码设置表 这张表从2016年5月起

正如您所看到的,Apple推荐使用相对较低的768×432分辨率作为蜂窝networking上stream式传输的最高分辨率。 当然这只是一个build议和YMMV。

audio

问题是关于video,但是video通常有一个或多个音轨。 iPhone支持一些audio格式 ,但是最现代的和最广泛使用的是AAC 。 iPhone 7/7 Plus,6S Plus / 6S,SE均支持8至320 Kbps的 AAC比特率。

容器

audio和video轨道进入一个容器 。 容器的目的是将不同的轨道组合(交错)在一起,存储元数据,并支持search。 iPhone支持

  1. QuickTime .mov
  2. MP4 ,和
  3. MPEG-TS 。

.mov.mp4文件格式密切相关 ( .mp4实际上基于 .mov ),但是.mp4是一个ISO标准,具有更广泛的支持。

如上所述,您必须对超过10分钟的video使用MPEG-TS。