Webrtc 每个文件有多个RTP数据包。还有慕兴
我有Janus(WebRTC)服务器。我使用的是VP8/OPUS。然后Janus RTP数据包转发给GStreamer。我有两个问题 我必须运行一个GStreamer(具有多个线程)还是多个GStremaer?实际上,Janus向Gstreamer发送了多个RTP流。Ex)两名同级人员在WebRTC室。然后,Janus向GStreamer发送了4个RTP数据包。peer1:视频/音频,peer2:视频/音频。如果我只运行一个GStreamer,就不可能确定每个流来自谁。因此,为了分类,我必须使用多个GStreamer进程来分离端口 像这样: 过程1:Webrtc 每个文件有多个RTP数据包。还有慕兴,webrtc,gstreamer,rtp,mux,janus,Webrtc,Gstreamer,Rtp,Mux,Janus,我有Janus(WebRTC)服务器。我使用的是VP8/OPUS。然后Janus RTP数据包转发给GStreamer。我有两个问题 我必须运行一个GStreamer(具有多个线程)还是多个GStremaer?实际上,Janus向Gstreamer发送了多个RTP流。Ex)两名同级人员在WebRTC室。然后,Janus向GStreamer发送了4个RTP数据包。peer1:视频/音频,peer2:视频/音频。如果我只运行一个GStreamer,就不可能确定每个流来自谁。因此,为了分类,我必须使用
gst-launch-1.0\rtpbin name=rtpbin\udpsrc name=videoRTP port=5000\caps=“应用程序/x-rtp,媒体=(字符串)视频,有效载荷=98,编码名称=(字符串)VP8-DRAFT-IETF-01,时钟频率=90000”\!rtpvp8depay!webmmux!排队\!filesink location=track1.webm\udpsrc port=5002\caps=“application/x-rtp,media=audio,payload=111,编码名称=(字符串)OPUS,时钟频率=48000”\!rtpopusdepay!opusparse!oggmux\!filesink location=audio.ogg
过程2:
gst-launch-1.0\rtpbin name=rtpbin\udpsrc name=videoRTP port=5003\caps=“应用程序/x-rtp,媒体=(字符串)视频,有效载荷=98,编码名称=(字符串)VP8-DRAFT-IETF-01,时钟速率=90000”\!rtpvp8depay!webmmux!队列\!filesink location=track1.webm\udpsrc port=5005\caps=“应用程序/x-rtp,媒体=音频,有效负载=111,编码名称=(字符串)OPUS,时钟频率=48000”\!rtpopusdepay!Opuparse!oggmux\!fileLink location=audio.ogg
所以我搞糊涂了。是多线程?还是多进程?请告诉我详细信息
如何实时将VP8/OPUS多路复用到mp4容器?我搜索了很长时间。但我还不能。GStreamer对每个版本都有很多选项。
我在等你的建议!谢谢你的帮助
我已经尽力了
我期望way和mp4文件。嗨,一个解决方案可能是插件tee 在“帮助”页上找到 描述 将数据拆分为多个焊盘。当捕获视频时,数据流分支非常有用,视频显示在屏幕上,并且编码并写入文件。另一个示例是播放音乐和连接可视化模块 需要在每个分支中使用单独的队列元素(或多队列)为每个分支提供单独的线程。否则,一个分支中阻塞的数据流将使其他分支暂停。 示例发射线 一,
播放song.ogg音频文件,该文件必须位于当前工作目录中,并使用goom元素呈现可视化效果(使用playbin元素可以更轻松地完成此操作,这只是一个示例管道)。嗨,一个解决方案可能是插件T 在“帮助”页上找到 描述 将数据拆分为多个焊盘。当捕获视频时,数据流分支非常有用,视频显示在屏幕上,并且编码并写入文件。另一个示例是播放音乐和连接可视化模块 需要在每个分支中使用单独的队列元素(或多队列)为每个分支提供单独的线程。否则,一个分支中阻塞的数据流将使其他分支暂停。 示例发射线 一,
播放song.ogg音频文件,该文件必须位于当前工作目录中,并使用goom元素呈现可视化效果(使用playbin元素可以更轻松地完成此操作,这只是一个示例管道).这与编程有什么关系?我正在尝试从RTP数据包记录保存服务。我投票关闭此问题,因为它与编程无关。这与编程有什么关系?我正在尝试从RTP数据包记录保存服务。我投票关闭此问题,因为它与编程无关
gst-launch-1.0 filesrc location=song.ogg ! decodebin ! tee name=t ! queue ! audioconvert ! audioresample ! autoaudiosink t. ! queue ! audioconvert ! goom ! videoconvert ! autovideosink