一、接收裸RTP流
PlainTransport 可以接收裸RTP流,也可以接收AES加密的RTP流。源码中提供了一个通过ffmpeg发送裸RTP流到mediasoup的脚本,具体地址为:mediasoup-demo/broadcasters/ffmpeg.sh
脚本就是通过HTTP Post发送创建PlainTranport请求,然后通过ffmpeg向指定地址+端口,发送RTP流
res=$(${HTTPIE_COMMAND} \
POST ${SERVER_URL}/rooms/${ROOM_ID}/broadcasters/${BROADCASTER_ID}/transports \
type="plain" \
comedia:=true \
rtcpMux:=false \
2> /dev/null)
ffmpeg发送RTP流
#
# NOTES:
# - We can add ?pkt_size=1200 to each rtp:// URI to limit the max packet size
# to 1200 bytes.
#
ffmpeg \
-re \
-v info \
-stream_loop -1 \
-i ${MEDIA_FILE} \
-map 0:a:0 \
-acodec libopus -ab 128k -ac 2 -ar 48000 \
-
本文主要分析了mediasoup中的PlainTransport如何接收裸RTP流和AES加密的RTP流,详细探讨了通过ffmpeg发送RTP流到mediasoup的流程。此外,还深入讲解了mediasoup中UDP建立过程,包括RTP:UdpSocket的IP绑定和PortManager的动态选择与绑定,最终数据在Transport层的处理。
订阅专栏 解锁全文
437

被折叠的 条评论
为什么被折叠?



