Исходный файл - m3u8 файл, который содержит в себе ссылки на ts-фрагменты трансляции и тащится с одного популярного ресурса (без скачивания его оттуда).
Необходимо перекодировать в rtsp и выплюнуть ссылку для клиента. Каким образом это сделать? ffmpeg бесконечно считывает пакеты и даже flush_packets его не останавливает.
ffmpeg -re -i https://server/playlist.m3u8?extra=6O3qK_54vxgC -f rtsp -fflags flush_packets -max_delay 2 -muxdelay 0.1 -hls_flags delete_segments rtsp://localhost:9999/stream
другие опенсорные решения вроде
https://github.com/klaxa/mkvserver_mk2 кричат о неподобающем расширении файла и пытаются сохранять трансляцию в файл. Мне же надо именно на лету прямой эфир передавать в rtsp-поток.
Ну и соответственно что использовать в качестве сервера, интересует.
https://github.com/revmischa/rtsp-server пытался его, с ffmpeg он не до конца дружит, при попытке подключения плеера (vlc) к потоку, ругается на что-то.
live555 - вообще не то.
vlc -vvv -I dummy
https://server/360p/chunks.m3u8?extra=8iACFlCDWEu4vm --sout='#transcode{acodec=mp4a, aenc=ffmpeg}:rtp{mp4a-latm,dst=localhost,port=9999,port-audio=9998,name=stream,sdp=rtsp://localhost:9999/stream}'
Результата не даёт, не хочет стримиться.
Решил проблему сменой порта и установкой актуального айпи вместо локалхоста. Новая проблема - стрим нестабилен и вылетает с надписью "завершено" на некоторых устройствах. На компе в vlc стабилен.