我正在创建一个托管在AWS上的视频流应用程序。我有mp4,它托管在AWS S3上。要流视频文件,我希望将mp4转换为MPEG-DASH (mpd)格式,并存储在不同的AWS S3桶中。我将是AWS,在代码转换的mpd文件之上进行流,并使用dash.js或视频在客户端进行流。
我面临的问题是如何将mp4转换成mpd。(不使用AWS转码器,有点昂贵)。我正在考虑利用AWS来侦听源S3桶并输出到不同的S3桶。但是找不到以编程方式转换代码的模块(将其转换为Lambda函数)。有没有人这样做过,并想给一些洞察力?
发布于 2017-06-16 16:17:59
mpd文件实际上只是一个基于文本的索引文件,它包含视频和音频流的URL,但没有媒体本身。
用于MPEG破折号的媒体存储在分段中,用于mp4的mp4格式是分段的。
如果您希望自己从mp4中创建分段的mp4,那么您可以查看一些工具来完成这个任务,甚至可以将其用作批处理过程的一部分。
mp4Dash (https://www.bento4.com/documentation/mp4dash/)就是一个例子。在此链接中可以看到转换单个mp4文件或转换单个文件的多个比特率版本的示例,这在使用DASH for Adaptve比特率流(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中流破折号没有什么价值--弹性Transcode可以创建MPEG破折号流,您可以从S3存储和流,您可以使用云前端和诸如统一流或Wowza等服务。因此,如果这是一个大容量的重要服务,可能值得考虑这些,看看是否有一个选项或组合,以满足您的需要,而不是太贵。
https://stackoverflow.com/questions/44588971
复制相似问题