Gstreamer管道将2个udp源合并到rtmp?
我不知道如何合并2个udp源(1个用于音频,1个用于视频),分开来说这很容易,但不知道如何合并它们,因为它们是一个noob,我知道我已经非常接近了Gstreamer管道将2个udp源合并到rtmp?,gstreamer,Gstreamer,我不知道如何合并2个udp源(1个用于音频,1个用于视频),分开来说这很容易,但不知道如何合并它们,因为它们是一个noob,我知道我已经非常接近了 gst-launch-1.0 rtpbin name=rtpbin rtpbin.recv_rtp_sink_ \ ! udpsrc port=6004 caps="application/x-rtp, media=(string)video,clock-rate=(int)90000,payload=(int)96,encoding-name=VP
gst-launch-1.0 rtpbin name=rtpbin rtpbin.recv_rtp_sink_ \
! udpsrc port=6004 caps="application/x-rtp, media=(string)video,clock-rate=(int)90000,payload=(int)96,encoding-name=VP8-DRAFT-IETF-01" \
! rtpvp8depay \
! queue \
! mux. rtpbin.recv_rtp_sink_ \
! udpsrc port=6005 caps="application/x-rtp, media=audio, clock-rate=48000, encoding-name=X-GST-OPUS-DRAFT-SPITTKA-00, payload=111,channels=2" \
! rtpopusdepay \
! queue \
我不知道确切的答案,但我会这样做(我们可以通过评论协商一些解决方案:): 为什么要使用此管道:
- 管道的三个部分后来连接在一起
- mux后,这可以转到rtpmsink,它将流式传输到给定的位置(我不太熟悉这种格式)
我创建了管道的这3个部分,然后将它们与mux的使用联系起来。alias..我很感谢您的努力,但这并不奏效。这是一个错误语法错误,我认为命令必须是有序的,而接收器必须是最后一个?不,它们不必是有序的。。元件的正确连接必须有序,并且是。。我没有得到错误的错误语法。。但是它对我也不起作用,所以我重新做了它,现在它应该起作用了(我更新了答案),它起作用了!我花了12个多小时感到沮丧,当只有一个人回答时,我准备放弃,但非常感谢您用一个工作样本修复它。最后多路复用器。谢谢@用户6238466我很高兴它终于起作用了:)哇,12个多小时了,时间太多了。。了解gst launch的工作原理需要时间,但您可能需要了解3-4件事情,然后您将能够制作比此复杂得多的管道:)请记住使用
gst-inspect-1.0 element
检查element的功能(并了解哪一个是sink,哪一个是src),等等。。祝你在接下来的gstreamer冒险中好运:)
gst-launch-1.0 flvmux name=mux ! rtmpsink udpsrc port=6004 caps="application/x-rtp, media=(string)video,clock-rate=(int)90000,payload=(int)96,encoding-name=VP8-DRAFT-IETF-01" ! rtpvp8depay ! vp8dec ! queue ! x264enc ! mux. udpsrc port=6005 caps="application/x-rtp, media=audio, clock-rate=48000, encoding-name=X-GST-OPUS-DRAFT-SPITTKA-00, payload=111,channels=2" ! rtpopusdepay ! queue ! opusdec ! voaacenc ! aacparse ! queue ! mux.