Ffmpeg 将音频流传输到多个web浏览器

Ffmpeg 将音频流传输到多个web浏览器,ffmpeg,webrtc,rtp,janus,Ffmpeg,Webrtc,Rtp,Janus,我正在尝试在我的linux服务器上播放一些音频,并将其传输到多个internet浏览器。我指定了一个环回设备作为ffmpeg的输入。ffmpeg然后通过rtp流传输到WebRTC服务器(Janus)。它可以工作,但是发出的声音很可怕 下面是我用来通过rtp从ffmpeg流式传输到janus的命令: nice --20 sudo ffmpeg -re -f alsa -i hw:Loopback,1,0 -c:a libopus -ac 1 -b:a 64K -ar 8000 -vn -rtbuf

我正在尝试在我的linux服务器上播放一些音频,并将其传输到多个internet浏览器。我指定了一个环回设备作为ffmpeg的输入。ffmpeg然后通过rtp流传输到WebRTC服务器(Janus)。它可以工作,但是发出的声音很可怕

下面是我用来通过rtp从ffmpeg流式传输到janus的命令:

nice --20 sudo ffmpeg -re -f alsa -i hw:Loopback,1,0 -c:a libopus -ac
1 -b:a 64K -ar 8000 -vn -rtbufsize 250M -f rtp rtp://127.0.0.1:17666

WebRTC服务器(Janus)要求音频编解码器为opus。如果我尝试进行双声道音频或增加采样率,则流速度会减慢或听起来更糟。“nice”命令将赋予进程更高的优先级。

使用gstreamer而不是ffmpeg工作起来,听起来很棒

下面是我在CentOS 7上使用的命令:

sudo gst-launch-1.0 alsasrc device=hw:Loopback,1,0 ! rawaudioparse ! audioconvert ! audioresample ! opusenc ! rtpopuspay ! udpsink host=127.0.0.1 port=14365

Janus端的音频配置是什么?ffmpeg(rtp源)与Janus网关之间的协商如何?是否有任何SDP参数。SDP在janus服务器配置文件中设置:当您在ffmpeg端更改参数(通道或比特率或采样频率)时,您是否也在janus端更改参数。因为在rtp中没有协商,所以需要硬编码。是的,sdp在janus配置中硬编码。如果我更改了一个,我会同时更改它们。建议使用默认的sdp/janus配置,并相应地配置ffmpeg。你能分享janus conf/sdp供参考吗。