В настоящее время у меня есть поток протокола RTP в кодеке OPUS, воспроизводимый локально на rtp://127.0.0.1:5006.
Я хотел бы преобразовать этот поток в протокол HLS с кодеком AAC (или другим, если проще), чтобы он был более доступен для устройств только с браузером.
Я знаю, что ffmpeg и gstreamer на это способны, но я просто теряюсь среди различных аргументов/параметров.
В настоящее время у меня есть файл SDP, который описывает мой поток (не уверен, что это правильно, я написал его после того, как просто погуглил/прочитал спецификацию)
v=0
t=0 0
m=audio 5006 RTP/AVP 98
c=IN IP4 127.0.0.1
a=recvonly
a=rtpmap:98 opus/48000/2
a=fmtp:98 stereo=0; sprop-stereo=0; useinbandfec=1c
Есть идеи?
Я смог заставить это работать, используя приведенную ниже команду. Файл SDP, похоже, тоже работал без проблем.
ffmpeg -protocol_whitelist file,udp,rtp -i input.sdp -c:a aac -b:a 128k -ac 2 -f hls -hls_time 4 -hls_playlist_type event outputstream.m3u8
Если у кого-то еще были проблемы с пониманием аргументов, как у меня, просто найдите время, чтобы найти аргументы в https://ffmpeg.org/ffmpeg.html и понять их. Тогда все становится намного проще.