-->
保存您的免费座位流媒体连接今年八月. Register Now!

使用DASH-IF简化大规模的直播

文章特色图片

和其他一些合作伙伴一起, 统一的流 has been working on a DASH-IF project to form a new specification for a live ingest protocol. 几年前,它开始作为一个内部项目与其他几个供应商, after a European broadcaster highlighted a need to document what should come out of live encoders. 该规范现在已经发布,可以使用了. In this article I'll outline the reasons why the new protocol is necessary and what some of the main considerations have been in developing it. 

Partners in this project have been recruited from across the streaming spectrum to ensure a complete view of workflows in designing the specification. 包括微软, Hulu, AWS Elemental, Akamai, Comcast, Bitmovin, Qualcomm, Media Excel, Harmonic, atme和CenturyLink.

该项目解决了大规模的OTT直播, which is notoriously difficult to support because there are so many moving parts. 

特别是,我们认为有四个方面可以改进:

  • Timed metadata: We wanted to simplify getting programming information and other metadata into the fMP4 presentation. We also wanted to factor in signal splice information to enable just-in-time packaging and ad insertion.
  • Reliability: 提高容错性和冗余性, 我们希望OTT工作流能够使用多个实时编码器, 以实现端到端故障转移支持.
  • Low latency: 这是在工作流程中建立起来的. Having the right specifications and avoiding additional conversions will help OTT providers to reach their latency goal.
  • 优于广播质量: Support for high quality video streaming with qualities comparable or better as compared to broadcast.

通过解决这些问题, we have created a protocol that is fit for the demands of modern streaming and creates a much more efficient workflow, 最终节省成本和百家乐软件. Low latency is already a big topic in the industry and will open up valuable new opportunities to engage viewers and maximize advertising revenues. But it is essential that the workflow is as efficient as possible to fulfill such potential.

而不仅仅是标准化播放器格式, 我们着手创建一个更高效的整体工作流程. 我们首先确定了一些可以从标准化中受益的接口, in particular we looked at the output of the adaptive bitrate encoder and origin server, or packager, 正在向内容分发网络(CDN)发展.

A live encoder would typically push its content out because it needs to concentrate its resources on encoding the content. In other words, it doesn't have the capacity to deal with a lot of requests from clients. Instead, the live encoder tends to produce a frame or fragment and push it out to the origin server, 这反过来又使客户可以使用它. 对于这个用例,MPEG-DASH和HLS都是很好的协议. 

But in DASH and HLS there is no specified behavior for pushing content: it's mostly about the HTTP GET pulling the content out. So we developed a profile for fMP4 and CMAF that would allow the packaging to take place later on.

我们已经开发了两个概要文件或接口. If you have a workflow where there's a separate encoder and packager or origin server then you could just send CMAF tracks 没有舱单 and do on-the-fly packaging, 然后将其推送或链接到CDN. 第二个接口只允许您发布, or push, DASH directly, 所以在这种情况下,你会推送片段和清单. 这两种情况都使用HTTP POST. 

这当然是对CMAF摄取的一个非常简化的概述. 在第一个界面, 没有舱单, you just use different TCP connections and post a CMAF track so that actually it's an fMP4 file, 但是没有多路复用, 所以每首曲目都是一个单独的文件,你只是发布它们. Something I want to make clear is that it's not mandatory to use a long running post: you can use long running posts with chunk transfer or you can just post each fragment separately. 

The important thing is that the receiver is detecting the fragments when it's receiving them. And it's triggered by that so this also works well in low latency where you might have small chunks. The receiver can just detect the chunks and produce the output manifest on the fly. So what you see here is just different video and audio tracks being posted to the origin server. 我们使用CMAF轨道的视频和音频, 但我们也用它来做程序元数据, 这是相对较新的东西吗.

A nice thing about the protocol is that it's quite easy to disconnect and rejoin later. If, for example, the source goes down and then starts up again it will resume the post at pre-defined segment boundaries. 可以使用第二个双冗余编码器, 所以如果CMAF头和最后一个片段不能发送, the receiver can still have the complete stream for archiving from the redundant encoder.

Another thing we wanted to achieve with the new spec was just-in-time packaging for low latency. 在CMAF规范中可以做的一件事是插入顶级框, 称为DASH事件消息框, 它可以携带元数据. 在我们的新协议之前实现快速封装, 需要扫描整个媒体文件才能找到那些盒子, but we defined a separate track so an ISO BMFF-capable device can easily see the metadata track and find the right information. 

The usage of the CMAF container format allows usage of latest video codecs such as High Efficiency video coding with support for High Dynamic Range (HDR) and resolutions up to 4K. The CMAF container format is popular and many new codecs have bindings to the CMAF container format. The CMAF ingest protocol can therefore seamlessly support new and emerging codecs, 无需对协议进行任何修改, 以及高质量的视频. This support for new codecs was something we found lacking in other protocols that were not based on CMAF (e.g. WebRTC, RTMP etc.).

In these ways we have addressed the three main aims of the project: improving timed metadata, reliability, 低延迟和视频流质量.

Live streaming is set to become harder to deliver at scale as an increase in concurrent viewers is met by the need to provide better, 为观众提供更有吸引力的流媒体. 随着争夺观众注意力的竞争加剧, features that rely on timed metadata and low latency will become more important. Underpinning these features will be a need for better reliability and the new ingest specification should go a long way to addressing that.

[编者注:这是来自 统一的流. Streaming Media accepts vendor bylines based solely on their value to our readers.]

流媒体覆盖
Free
合资格订户
Subscribe Now Current Issue Past Issues
相关文章

2020年我们能统一HLS和DASH吗?

提及的公司及供应商