![将 m3u8 (HLS) 转换为 mpd (MPEG-DASH)](https://linux22.com/image/1558700/%E5%B0%86%20m3u8%20(HLS)%20%E8%BD%AC%E6%8D%A2%E4%B8%BA%20mpd%20(MPEG-DASH).png)
我有HLS 直播我想将其转换为 MPEG-DASH。
最佳做法是什么?
该流已经是 h264 aac,因此我知道我不需要重新编码,我只需要转换。
我应该使用什么?ffmpeg?mp4box?
笔记:
我用了nginx-rtmp-模块为了根据本教程从 RTMP 流创建 DASH:https://isrv.pw/html5-live-streaming-with-mpeg-dash但是 nginx-rtmp-module 只能获取 rtmp 流作为输入,而对于 HLS 流它却不起作用。
我使用 ffmpeg 从 m3u8 创建 dash,如下所示:
ffmpeg -i https://82-80-192-30.vidnt.com/ipbc_IPBCchannel11LVMRepeat/_definst_/IPBCchannel11LVM_3.stream/playlist.m3u8 -strict -2 -min_seg_duration 2000 -window_size 5 -extra_window_size 5 -use_template 1 -use_timeline 1 -f dash out.mpd
但这非常有限。我无法控制片段的持续时间。ffmpeg 的 min_seg_duration 参数对我来说不太好用,而且它可以设置最小持续时间,而我想限制每个片段的最大持续时间(片段的持续时间约为 10 秒,而我需要它约为 2-4 秒,因为我正在直播)。