【问题标题】:Video Streaming: MPEG-DASH , AWS cloudfront, dash.js视频流:MPEG-DASH、AWS cloudfront、dash.js
【发布时间】:2017-11-19 05:09:20
【问题描述】:

我正在创建一个托管在 AWS 上的视频流应用程序。我有 mp4 托管在 AWS S3 上。要流式传输视频文件,我想将 mp4 转码为 MPEG-DASH (mpd) 格式并存储在不同的 AWS S3 存储桶中。我将成为 AWS Cloudfront,在转码后的 mpd 文件上进行流式传输,并使用 dash.jsvideogular 在客户端进行流式传输。

我面临的问题是如何将 mp4 转码为 mpd。(不使用 AWS 转码器,有点贵)。我正在考虑利用 AWS Lambda 来监听源 S3 存储桶并输出到不同的 S3 存储桶。但找不到以编程方式转码的模块(将其转换为 Lambda 函数)。有没有人做过并想提供一些见解?

【问题讨论】:

    标签: amazon-web-services amazon-s3 video-streaming amazon-cloudfront mpeg-dash


    【解决方案1】:

    mpd 文件实际上只是一个基于文本的索引文件 - 它包含视频和音频流的 URL,但不包含媒体本身。

    MPEG DASH 的媒体存储在分段中,而 mp4 则以分段的 mp4 格式存储。

    如果您想自己从 mp4 创建分段的 mp4,那么您可以查看一些工具来执行此操作,甚至可以将其用作批处理的一部分。

    一个例子是 mp4Dash (https://www.bento4.com/documentation/mp4dash/)。您可以在此链接上查看示例以转换单个 mp4 文件,或转换单个文件的多个比特率版本,这在使用 DASH 进行自适应比特率流(ABR - 允许客户端选择比特率下一段根据当前网络情况下载):

    单个 MP4 输入文件

    mp4dash video.mp4
    

    多比特率的 MP4 文件集

    mp4dash video_1000.mp4 video_2000.mp4 video_3000.mp4
    

    另一个例子是mp4Box:https://gpac.wp.imt.fr/mp4box/dash/

    实际上有多种方法可以在 AWS 中流式传输 DASH 毫无价值 - Elastic Transcode 可以创建 MPEG DASH 流,您可以将其存储并从 S3 流式传输,您可以使用云前端和 Unified Streaming 或 Wowza 等服务。流式传输是复杂,因此如果这是针对大量重要服务,可能值得查看这些,看看是否有一个选项或组合可以满足您的需求而不会太贵。

    【讨论】:

    猜你喜欢
    • 2015-04-16
    • 2016-03-23
    • 1970-01-01
    • 1970-01-01
    • 2018-06-28
    • 1970-01-01
    • 2016-05-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多