我有 HLS 的实时流 [ https://82-80-192-30.vidnt.com/ipbc_IPBCchannel11LVMRepeat/definst/IPBCchannel11LVM_3.stream/playlist.m3u8 ] ,我想将其转换为 MPEG-DASH。
最佳做法是什么?
流已经是 h264 aac,因此我知道我不需要重新编码,我只需要 transmux。
我应该使用什么?ffmpeg?mp4 盒子?
笔记:
我使用 nginx-rtmp-module ( https://github.com/ut0mt8/nginx-rtmp-module/ ) 以便根据本教程从 RTMP 流创建 DASH:https ://isrv.pw/html5-live- streaming-with-mpeg-dash 但是 nginx-rtmp-module 可以只获取 rtmp 流作为输入,并且它不适用于 HLS 流。
我使用 ffmpeg 从 m3u8 创建破折号,如下所示:
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 秒,因为我正在现场演奏)。