我正在尝试使用gstreamer通过RTP将视频文件从一个设备流式传输到另一个设备。在发送方,我使用以下命令:
gst-launch filesrc location = / home / kuber / Desktop / MELT.MPG! mpegparse! rtpsend ip = localhost
但这会产生以下错误:没有元素" rtpsend" ,我下载了所有的rtp工具,仍然是同样的错误。我是以某种错误的方式使用rtpsend吗? 也有人可以给我一个流媒体视频文件(本地存储在我的笔记本电脑而不是testvideosrc文件)的命令行代码从一个设备到另一个设备? 强文
答案 0 :(得分:1)
假设这是一个MPEG1 / 2基本流(因为你正在使用mpegparse)你要发送出来你需要在mpegparse之后使用rtpmpvpay,然后将输出提供给udpsink。
mpegparse ! rtpmpvpay ! udpsink host="hostipaddr" port="someport"
我不知道任何rtpsend插件。以上适用于rtp上的任何流媒体。
进行gst-inspect | grep rtp查看所有的payloaders,depayers
如果是mpegps流,你需要先在管道的其余部分之前做一个mpegpsdemux。
编辑:
为什么不删除mpegparse?不明白你为什么需要它。您应该学习在组件的gst-inspect中查看源和接收器要求,这将告诉您节点之间所需的兼容性。接收将是反向udpsrc port =“portno”! capsfilter caps =“application / x-rtp,pt = 32,..enter caps here”! rtpmpvdepay!