0

我正在尝试使用 gstreamer 通过 RTP 将视频文件从一台设备流式传输到另一台设备。在发件人端,我使用以下命令:

gst-launch filesrc 位置=/home/kuber/Desktop/MELT.MPG !mpeg解析!rtpsend ip=localhost

但这给出了以下错误:没有元素“rtpsend”,我下载了所有的 rtp 工具,但仍然是同样的错误。我是否以某种错误的方式使用 rtpsend?也有人可以给我从一台设备到另一台设备流式传输视频文件(本地存储在我的笔记本电脑中,而不是 testvideosrc 文件)的命令行代码吗?强文本

4

1 回答 1

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, ..在此处输入 caps" !rtpmpvdepay!

于 2012-12-14T21:53:05.533 回答