使用 ffmpeg 或 gstreamer 将 RTP (OPUS) 流转换为 HLS (AAC) 流

Convert RTP (OPUS) stream to HLS (AAC) stream using ffmpeg or gstreamer

我目前在 RTP://127.0.0.1:5006 上本地播放 OPUS 编解码器中的 RTP 协议流

我想将此流转换为带有 AAC 编解码器的 HLS 协议(或其他更简单的编解码器),以便只有浏览器的设备更容易访问它。

我知道 ffmpeg 和 gstreamer 可以做到这一点,但我只是迷失在各种 arguments/parameters.

目前,我有一个描述我的流的 SDP 文件(不确定这是否正确,我是在 googling/reading 规范之后写的)

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 中的论点并理解它们。一切都变得简单多了。