mpeg-dash 和编解码器规范

Posted

技术标签:

【中文标题】mpeg-dash 和编解码器规范【英文标题】:mpeg-dash and codecs specification 【发布时间】:2017-10-25 19:07:08 【问题描述】:

看文章:http://www.streamingmedia.com/Articles/Editorial/What-Is-.../What-is-MPEG-DASH-79041.aspx 它做出如下声明:DASH 独立于编解码器,可与 H.264、WebM 和其他编解码器一起使用 DASH 支持 ISO 基本媒体文件格式(本质上是 MP4 格式)和 MPEG-2 传输流 DASH 没有指定 DRM 方法,但支持 ISO/IEC 23001-7:通用加密中指定的所有 DRM 技术 但是如何在媒体演示中指定音频/视频压缩或 DRM 方法?我在哪里可以找到更多详细信息?

【问题讨论】:

【参考方案1】:

DASH 是一种流式传输协议 - 视频流位于“容器”内,容器被分成块并流式传输。视频组件的一个非常高级的视图是:

使用某些编解码器编码的基本视频流 分段的 mp4 容器(分成块以促进 ABR) MPEG DASH 流媒体协议

mp4 容器标头信息包含有关它包含的所有流的信息 - 这将包括它用于对流进行编码的编解码器(例如视频流的 h.264)。

ABR 本质上允许客户端设备或播放器以块的形式下载视频,例如 10 秒块,并从最适合当前网络条件的比特率中选择下一个块。

DASH 清单(本质上是一个包含指向不同比特率流等的指针的索引文件)包含有关正在使用的保护系统的标头信息,例如 Widevine 或 PlayReady DRM。

mp4 容器还在使用中的保护系统的特殊 PSSH(保护系统特定标头)标头中包含有关保护系统的信息,例如 Widevine 或 PlayReady。

一般 DASH 流在两个地方都会有保护信息,以确保所有玩家都可以播放该流,但上次我看,我认为规范严格地说它可以在其中一个或两个中。

规格本身可在此处获得:

http://standards.iso.org/ittf/PubliclyAvailableStandards/index.html(搜索 DASH) https://www.iso.org/standard/68042.html - 不幸的是,这个需要支付 AFAIK。但是,您可以在此处查看使用它的 W3C 规范:https://w3c.github.io/encrypted-media/format-registry/stream/mp4.html

这里有一个很好的 DASH 概述:

https://www.w3.org/2011/09/webtv/slides/W3C-Workshop.pdf

当然,还有对 DASH 和类似标准的一些驱动程序的经典参考:

https://xkcd.com/927/

【讨论】:

以上是关于mpeg-dash 和编解码器规范的主要内容,如果未能解决你的问题,请参考以下文章

11 预置的ChannelHandler和编解码器

ASN.1解码

VLC 播放器上的 MPEG-DASH 支持

GPU编解码GPU硬解码---DXVA

Laravel - 创建和附加 - 多对多关系

HTML5 视频编解码器支持