如何将 Rtp 组播流从 DVB-T 转换为 HLS?

How to Convert Rtp Multicast Stream from DVB-T to HLS?

我使用 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 地址。

请参阅这些 command line examples 以获取更多指示。

我不确定 VLC 在输入错误后重试是否比 ffmpeg 更优雅。在任何情况下,您都可以在失败行为后重试脚本,here is one example