gpt4 book ai didi

ffmpeg - 将 WebRTC 流转储到文件中

转载 作者:行者123 更新时间:2023-12-04 22:49:40 25 4
gpt4 key购买 nike

如果音频和视频需要自己的单独文件,我想将音频和视频从 WebRTC 流捕获到一个文件或一对文件中。音频和视频没有混合在一起,并且已知在一组服务器 udp 端口​​上可用:

端口编码
5000 - VP8 视频
5001 - RTCP(用于视频)
5002 - Opus 音频@48kHz 2 channel
5003 - RTCP(用于音频)

SDP 文件/数据不可用,可以使用 DTLS。

除非建议使用更好的工具,否则我更喜欢使用 avconv 或 ffmpeg 来捕获流。

编辑:我发现这很可能不起作用。除非我听到其他消息,否则这些工具都不支持初始 DTLS 握手,然后是通过 SRTP 传输数据。

最佳答案

Gstreamer-1.0 管道可以正常工作。我不是 100% 确定将两个流重新混合在一起,但我相信这是可能的(也许是 oggmux )。我已经测试了与此类似的东西,并且能够在通过网关接收解密/解复用 rtp 流的 linux 设备上解码和播放流(我使用 Janus-Gateway)。

gst-launch-1.0 rtpbin name=rtpbin udpsrc name=videoRTP port=5000 \
caps="application/x-rtp, media=video, encoding-name=VP8-DRAFT-IETF-01, payload=100" ! \
rtpbin.recv_rtp_sink_0 rtpbin. ! rtpvp8depay ! webmmux ! queue ! filesink location=video.webm sync=false async=false \
udpsrc name=videoRTCP port=5001 ! rtpbin.recv_rtcp_sink_0 \
udpsrc name=audioRTP port=5002 \
caps="application/x-rtp, media=audio, clock-rate=48000, encoding-name=X-GST-OPUS-DRAFT-SPITTKA-00, payload=96" ! \
rtpbin.recv_rtp_sink_0 rtpbin. ! rtpopusdepay ! oggmux ! filesink location=audio.ogg sync=false async=false \
udpsrc name=audioRTCP port=5003

关于ffmpeg - 将 WebRTC 流转储到文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25746657/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com