为什么我的MPEG-TS不能在iOS上播放?

时间:2013-12-07 20:19:00

标签: ios http-live-streaming

我的MPEG-TS视频无法通过HTTP直播在iOS上播放,我不知道为什么。我知道我的iOS代码/ m3u8格式是正确的,因为如果我用Apple(bipbop)中的样本替换我的.ts文件,它就可以了。我提供了有关我的视频(不起作用)和有效视频的信息。

我的(不工作)

General
ID                                       : 1 (0x1)
Format                                   : MPEG-TS
File size                                : 9.57 MiB
Duration                                 : 3s 265ms
Overall bit rate mode                    : Variable
Overall bit rate                         : 24.3 Mbps

Video
ID                                       : 769 (0x301)
Menu ID                                  : 1 (0x1)
Format                                   : AVC
Format/Info                              : Advanced Video Codec
Format profile                           : High@L4.2
Format settings, CABAC                   : No
Format settings, ReFrames                : 1 frame
Codec ID                                 : 27
Duration                                 : 3s 279ms
Bit rate                                 : 23.1 Mbps
Width                                    : 1 920 pixels
Height                                   : 1 080 pixels
Display aspect ratio                     : 16:9
Color space                              : YUV
Chroma subsampling                       : 4:2:0
Bit depth                                : 8 bits
Scan type                                : Progressive
Stream size                              : 9.01 MiB (94%)

苹果(工作)

General
ID                                       : 1 (0x1)
Format                                   : MPEG-TS
File size                                : 281 KiB
Duration                                 : 9s 943ms
Overall bit rate mode                    : Variable
Overall bit rate                         : 231 Kbps

Video
ID                                       : 257 (0x101)
Menu ID                                  : 1 (0x1)
Format                                   : AVC
Format/Info                              : Advanced Video Codec
Format profile                           : Main@L2.1
Format settings, CABAC                   : No
Format settings, ReFrames                : 2 frames
Format settings, GOP                     : M=2, N=24
Codec ID                                 : 27
Duration                                 : 9s 542ms
Width                                    : 400 pixels
Height                                   : 300 pixels
Display aspect ratio                     : 4:3
Color space                              : YUV
Chroma subsampling                       : 4:2:0
Bit depth                                : 8 bits
Scan type                                : Progressive
Color primaries                          : BT.601 NTSC
Transfer characteristics                 : BT.709
Matrix coefficients                      : BT.601

Audio
ID                                       : 258 (0x102)
Menu ID                                  : 1 (0x1)
Format                                   : AAC
Format/Info                              : Advanced Audio Codec
Format version                           : Version 4
Format profile                           : LC
Muxing mode                              : ADTS
Codec ID                                 : 15
Duration                                 : 9s 380ms
Bit rate mode                            : Variable
Channel(s)                               : 2 channels
Channel positions                        : Front: L R
Sampling rate                            : 22.05 KHz
Compression mode                         : Lossy
Delay relative to video                  : -121ms

我的视频没有音频流,但这无关紧要。

我的视频是什么让它无法通过HTTP直播流播放?

2 个答案:

答案 0 :(得分:1)

您的视频很高调,等级4.2。 iPhone 5仅支持4.1级。 iPhone 4仅支持主要配置文件级别3.1。另外23.1 MBps也很高。 3或4可能是最多

编辑:

这是我为ios设备制作的compiled list

答案 1 :(得分:0)

问题不在于操作系统。 iOS只是将编码的h.264流传递给SoC的视频解码块。硬件解码块是有限的,每个SoC迭代都有不同的限制。

通常,限制是在配置文件和宏块速率上。如果您希望在任何iOS设备上播放,您需要严格削减视频中的比特率。

Szatmary的表看起来是选择目标编码参数的绝佳资源。