为了简化我和我的同事,我创建了一个Docker容器,该容器可用于从MP4文件或HLS URL预打包MPEG DASH。 我认为也许其他人也可能会发现这很有用。
要使用它,您首先需要在计算机上安装Docker或使用AWS或Google Cloud上的实例。 在我们的实验室中,我们有一台EC2服务器安装了我们的S3存储桶,并运行了Docker引擎,然后可将其用于创建MPEG DASH包。 例如,我们使用它来创建使用Orah 4h摄像机创建的360实时视频流的点播剪辑。
- Nuvola 4.9更新了3个脚本并增加了一些调整
- AM! 谁搬了Netflix的奶酪?
- 如何构建像Netflix这样有利可图的视频点播平台
- Fanburst可能是音乐平台的未来……
- 轻松使用PHP中的Twitter Streaming API
安装Docker后,您将下载两个简化了用法的帮助程序脚本。 它们分别称为mp4todash和hlstodash ,其中mp4todash从一组MP4文件创建MPEG DASH,而hlstodash下载HLS视频片段,重新混合为MP4文件,然后从这些MP4文件创建MPEG DASH包。
下载并安装mp4todash脚本,例如以下示例(Linux):
curl -L https://github.com/Eyevinn/docker-2dash/releases/download/v0.0.3/mp4todash > /usr/local/bin/mp4todash
其中v0.0.3可以更改为最新发行版本。 要从一组MP4文件创建MPEG DASH包,您只需运行:
mp4todash example-1920-4500.mp4 example-720-1500.mp4
如果这是您第一次运行此脚本,它将首先从我们的Docker存储库下载Docker映像。 完成容器后,您将在名为“输出”的文件夹中找到MPEG DASH软件包。 将其放在您的服务器上,即可开始流式传输。
要从HLS流创建MPEG DASH,请先下载并安装hlstodash脚本:
curl -L https://github.com/Eyevinn/docker-2dash/releases/download/v0.0.3/hlstodash > /usr/local/bin/hlstodash
然后运行:
hlstodash http://example.com/file/master.m3u8
引擎盖下
Docker容器称为eyevinntechnology / 2dash,它基于已安装Bento4的Ubuntu Linux。 python脚本是Docker容器的入口点,并且在容器运行时执行。 此python脚本首先运行Bento4命令mp4fragment从提供的MP4文件创建碎片化的MP4文件。 然后,它运行Bento4软件包中包含的mp4dash脚本以创建MPEG DASH软件包。
您可以在我们实验室的开源软件中心中找到此Docker容器的来源,欢迎您提供任何建议或建议。
/乔纳斯·比尔梅(JonasBirmé)
JonasBirmé是Eyevinn Technology的解决方案架构师。 一家瑞典咨询公司,专门从事流媒体,VR和游戏。