2

我是 gstreamer 的新手。虽然这听起来像是一个非常入门级的问题,但到目前为止我还没有找到明确的答案。

我尝试根据一些示例启动如下所示的服务器。

$ gst-launch-1.0 -v videotestsrc ! x264enc ! rtph264pay name=pay0 pt=96 ! udpsink rtsp://127.0.0.1:8554/test

然后我使用 VLC 作为客户端(在同一台计算机上)。

$ vlc rtsp://127.0.0.1:8554/test

VLC 报告“无法连接...”的错误。但是如果我在第一步中使用“测试启动”,它就可以正常工作。

另一个问题是除了 VLC,我尝试像这样启动客户端。

$ gst-launch-1.0 rtspsrc location=rtsp://127.0.0.1:8554/test ! rtph264depay ! ffdec_h264 ! xvimagesink

但是 gstreamer 没有抱怨元素“ffdec_h264”和元素“xvimagesink”。

有关更多信息,我安装了“gstreamer”和“gst-plugins-base/good/bad/ugly”,均来自 git(1.2 版本)。

非常感谢您的提示。

4

2 回答 2

0

ffdec_h264来自 gst-0.10,所以你需要avdec_h264在 gst-1.0 中使用。另一方面,我autovideosink sync=false在我的 udp 流中用作管道接收器。

有一个示例代码gst-rtsp-0.10.8/examples可以帮助您使用 rstp 流服务器,但我建议您使用udpsrcgstreamer 接收流以减少延迟(使用-v源中的选项查看caps参数并在接收器中配置它)。

如果您希望 VLC 播放您的 rtsp 流,您需要根据您的 rtsp 流会话定义 .sdp 文件。

您应该看到这个问题以获取更多信息: GStreamer rtp stream to vlc

于 2013-10-11T08:55:36.747 回答
0

我不了解 VLC,但就 gstreamer 启动线而言,您似乎缺少 ffmpeg 包。您可能可以在与其他插件相同的位置找到它。

此外,将 xvimagesink 替换为 autovideosink,它将使用您可用的任何接收器。

于 2013-10-11T08:44:01.287 回答