2016-02-01 16 views
2

Я использую Mumudvb для получения сигнала от dvb-t и dvb-s к потоку многоадресной рассылки RTP и успешно выполняю это. URL-адрес результирующего потока - это что-то вроде rtp: //239.1.2.1: 60001.Как преобразовать многоточечный поток Rtp с DVB-T в HLS?

Теперь я хочу знать Как я могу конвертировать поток RTP (или UDP) в Http Live Stream (HLS)?

Edit:

Я мог бы преобразовать живой поток с FFmpeg, но произошло это не стабильна, когда ошибка в FFmpeg разговор остановка и нет никакого способа, чтобы основать неудачу и, например, перезапуск FFmpeg, я ищет новый способ для этой операции преобразования.

Большого спасибо

ответ

1

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 для дальнейших указателей.

Я не уверен, что после ошибок ввода, чем ffmpeg, VLC повторяет попытку более грациозно. В любом случае, вы можете повторить попытку после ошибки, here is one example.