>我使用Mumudvb获取从dvb-t和dvb-s到RTP组播流的信号并成功做到这一点,结果流URL类似于 rtp://239.1.2.1:60001。
现在我想知道如何将RTP(或UDP)流转换为Http实时流(HLS)?
编辑:
我可以使用 ffmpeg转换实时流,但它不稳定,当 ffmpeg 中发生错误时,对话停止并且无法发现失败,例如重新启动 ffmpeg,我正在寻找该转换操作的新方法。
多谢
VLC可能可以做到这一点,大致如下:
cvlc -vvv rtp://@239.1.2.1:60001
--sout '#std{access=livehttp{seglen=5,delsegs=true,numsegs=5,
index=/path/to/stream.m3u8,
index-url=http://example.org/stream-########.ts},
mux=ts{use-key-frames},
dst=/path/to/stream-########.ts}'
将/path/to/stream*
替换为您要从中提供播放列表和片段的任何路径,并http://example.org
使用计算机的域名或 IP 地址。
有关更多指针,请参阅这些命令行示例。
我不确定 VLC 在输入错误后重试是否比 ffmpeg 更优雅。在任何情况下,您都可以在失败行为后编写脚本重试,下面是一个示例。