![Конвертировать m3u8 (HLS) в mpd (MPEG-DASH)](https://rvso.com/image/1558700/%D0%9A%D0%BE%D0%BD%D0%B2%D0%B5%D1%80%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D1%82%D1%8C%20m3u8%20(HLS)%20%D0%B2%20mpd%20(MPEG-DASH).png)
У меня естьПрямая трансляция HLSи я хочу конвертировать его в MPEG-DASH.
Какова наилучшая практика?
Поток уже h264 aac, поэтому я понимаю, что мне не нужно перекодировать, а нужно просто трансмуксировать.
Что мне использовать? ffmpeg? mp4box?
Примечания:
я использовалnginx-rtmp-модульдля создания DASH из RTMP-потока согласно этому руководству:https://isrv.pw/html5-прямая-трансляция-с-mpeg-dashНо nginx-rtmp-module может получать на вход только rtmp-потоки, а с HLS-потоком у меня это не сработало.
Я использовал ffmpeg для создания dash из 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
Но это очень ограничено. Я не могу контролировать длительность сегмента. Параметр min_seg_duration ffmpeg не очень хорошо работает для меня, и он также может устанавливать минимальную длительность, в то время как я хочу ограничить максимальную длительность каждого сегмента (сегмент выходит ~10 секунд, в то время как мне нужно ~2-4 секунды, так как я играю вживую).