【问题标题】:How to use MPEG-DASH in our legacy system如何在我们的旧系统中使用 MPEG-DASH
【发布时间】:2021-08-25 00:00:14
【问题描述】:

我有一个旧的视频分发原型,它允许用户在他们的设备上录制视频,将其(整个视频作为单个文件)上传到云端,同时将其转码为特定格式,然后与其他设备玩。我们的用例是 1-2 分钟的用户自拍视频(所以不是电影,而且视频不是很长)。

现在我们想用自适应流 (MPEG-DASH) 升级我们的系统。我们需要对管道进行哪些更改?例如,我们需要分割视频(如何?),具有特定的持续时间(多长?),保留每个 segmnet 的各种质量版本(最好的方法?),适应播放等。

有关程序、需要做什么以及任何优化的任何指导都会有所帮助。

【问题讨论】:

    标签: video video-streaming video-processing mpeg-dash http-streaming


    【解决方案1】:

    您的问题非常广泛 - 我认为您本质上需要一个 OTT 视频点播系统的设计,但要解决您提出的个别问题:

    例如,我们需要分割视频(如何?)

    假设您的视频当前是 mp4,有多种工具可让您从中创建 DASH 清单和媒体片段,包括 ffmpeg:https://ffmpeg.org/ffmpeg-formats.html#dash-2。许多打包程序(见下文)也将支持此类功能。

    具有特定的持续时间(多长时间?)

    段长度通常是延迟、编码开销和质量之间的权衡。这里有一个很好的总结:https://bitmovin.com/mpeg-dash-hls-segment-length/

    一般而言,如上篇文章所述,此时大多数应用程序选择 2-4 秒的段长度。

    保留每个 segmnet 的各种质量版本(最好的方法?)

    大多数视频流解决方案将使用源服务器来处理媒体流 - 如果您使用其中一种,那么它很可能适用于您的 DASH 文件。

    适应播放

    几乎所有标准 HTML5、Android 和 iOS 播放器都支持 DASH 和自适应流媒体作为标准,因此您不必在播放器端开发任何自定义内容。

    总的来说,大多数 OTT 视频解决方案通常同时支持 HLS 和 DASH 流协议。这是因为不同的设备和应用程序支持不同的协议,这提供了最佳覆盖范围。 作为一个非常高级的一般规则,请注意有例外:

    • Android、Chrome 浏览器、Edge 浏览器 - 使用 MPEG DASH
    • iOS、Safari 浏览器 - 使用 HLS

    因此,许多 OTT 解决方案将以“轮播”格式存储转码视频,例如HLS,然后根据需要即时重新打包到请求设备实际需要的任何内容,无论是 HLS 还是 DASH。 'Just In Time' 打包程序用于此目的,这些打包程序通常与原始服务器结合使用。看一些例子:

    还值得关注的是新兴的行业标准 CMAF,它有望统一 HLS 和 DASH 流媒体的大部分复杂性。由于不同设备上的加密支持存在一些差异,因此推出的速度没有预期的那么快,但值得关注和计划:https://www.cta.tech/Resources/Standards/CMAF-IF

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-02-21
    • 1970-01-01
    • 2020-09-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多