如何在Windows上使用gstreamer制作rtsp服务器?

时间:2016-01-28 13:13:03

标签: windows gstreamer rtsp

我正在尝试创建一个RTSP服务器以从我的网络摄像头流式传输Feed,但遇到了一些问题。

我已经为所有插件安装了适用于Windows 7的最新版本的Gstreamer-devel。

我已经能够使用这个C ++脚本在LINUX上实现这个目的:

gst_rtsp_media_factory_set_launch(factory,
                            "v4lsrc device="/dev/video0"
                            "! video/x-raw", format=(string)I420, width=(int)320, height=(int)240, framerate=(fraction)15/1"
                            "! x264enc" cabac=true tune=zerolatency byte-stream=true sliced-threads=true threads=0 speed-preset=1 "
                            "! rtph264pay pt=96 name=pay0 "
                            ")");

我还可以通过命令行在WINDOWS上显示网络摄像头源,命令为“gst-launch-1.0 ksvideosrc device-index = 0!autovideosink”

但是,我无法通过Visual Studio Express 2013在Windows上执行此操作。 我试图用“ksvideosrc device-index = 0”替换“v4lsrc ...”并删除所有其他选项无济于事。 我已经能够编译解决方案,但无法在VLC媒体播放器上看到提要

您是否可能知道如何解决这个问题,以便我可以在Windows上获取网络摄像头?是否存在任何兼容性问题或我应该注意的事项以启用Windows操作?

1 个答案:

答案 0 :(得分:0)

一个好的起点是验证您在工厂中使用的管道是否正常运行。尝试在命令行上创建一个类似的管道来验证数据是否是端到端的: 例如。

gst-launch-1.0 ksvideosrc device-index=0 ! ! video/x-raw", format=(string)I420, width=(int)320, height=(int)240, framerate=(fraction)15/1 ! x264enc cabac=true tune=zerolatency byte-stream=true sliced-threads=true threads=0 speed-preset=1 ! rtph264pay pt=96 ! fakesink dump=true

此管道将从设备捕获并将rtp数据转储到stdout。一旦验证了这一点,就值得研究一下rtsp服务器方面的情况。