使用 HTML5 进行 HTTP 直播的标准是什么?
或者目前可用的标准是什么?我知道 Apple HTTP 流媒体就是其中之一。
在撰写本文时,还没有公认的标准。
Apple 的 HTTP Live Streaming 是最佳选择。由于 iPad/iPhone,它现在得到了内容编码器的大量支持(参见维基百科的列表),并且在 Android 4 视频播放器中也得到了支持(但显然不在 Chrome 移动设备中)。Apple 已采取一些措施将其批准为 IETF 标准。许多 Flash 视频播放器现在支持 HLS 以及 RTMP 流,因此您只需打包一次内容。
Microsoft 的 HTTP Smooth Streaming与此类似,但实际上支持仅存在于 Silverlight 中。Adobe 也有 HTTP 流格式(HTTP Dynamic Streaming / 'San Jose' 流),但这仅在 Flash 中受支持。如果愿意的话,浏览器可以支持其中任何一个。两者都可能注定要失败。
或者,MPEG 小组正在赞助MPEG-DASH,但有人怀疑对此的现场支持还有一段路要走。
它将是HTTP
自适应流媒体协议之一。
截至 2015 年,有两个主要协议,HLS
和DASH
(如果你也算上HDS
和,四个Smooth
)。
HLS
已被广泛采用(请参阅此处的 2015 年报告:http: //info.encoding.com/delivery-report-2015.html),但功能少于DASH
.
有两种DASH
风格:MPEG-DASH和WebM-DASH,后者基于开放格式,它是Matroska
.
DASH
势头强劲,很有可能成为下一个行业标准。的选择HTML5
将考虑支持的编解码器及其许可条款。因为H.264/AVC
和H.265/HEVC
不是免费的,所以WebM
有VP8
,VP9
有更好的机会。
如果您的浏览器支持 MediaSource 扩展,HLS 也可以在 HTML5 中播放,使用 hls.js 库,它实现了一个 HTTP 实时流客户端。它依赖 HTML5 视频和 MediaSource 扩展进行播放。它通过将 MPEG-2 传输流转换为 ISO BMFF (MP4) 片段来工作。hls.js 不需要任何播放器,它直接在标准 HTML 元素之上工作。
你可以在这里找到 JS 库和说明: https ://github.com/dailymotion/hls.js
这取决于容器。分段的 H.264 可以包含实时流。它可以通过 HTTP 传输。Google 的 WebM 也可以通过 HTTP 进行流式传输。
HTML5 不太可能添加 HTTP 以外的任何传递方法。因此,没有 RTP 或 UDP 即将出现。