C++ 使用gst rtsp服务器接收流

C++ 使用gst rtsp服务器接收流,c++,gstreamer,ogg,C++,Gstreamer,Ogg,我有一个关于gstreamer的问题。 我使用gst rtsp服务器制作了一个流媒体服务器。我正在尝试将摄像头捕获发送到本地网络上的另一台机器,并将其解析为.ogv文件 流媒体传输工作正常,我能够将信息解析到文件中;但在解析之后,我无法读取它或将其用于任何应用程序。似乎有一些信息缺失,可能与编码技术有关,我对它了解不多 C++代码中的服务器端命令: .... gst_rtsp_media_factory_set_launch (factory, "( v4l2src device=/dev/v

我有一个关于gstreamer的问题。 我使用gst rtsp服务器制作了一个流媒体服务器。我正在尝试将摄像头捕获发送到本地网络上的另一台机器,并将其解析为.ogv文件

流媒体传输工作正常,我能够将信息解析到文件中;但在解析之后,我无法读取它或将其用于任何应用程序。似乎有一些信息缺失,可能与编码技术有关,我对它了解不多

C++代码中的服务器端命令:

....
gst_rtsp_media_factory_set_launch (factory, "( v4l2src device=/dev/video0 ! videorate !         
video/x-raw-yuv,width=320,height=240,framerate=30/1 ! videoscale ! ffmpegcolorspace !
theoraenc ! rtptheorapay name=pay0 pt=96 )");

gst_rtsp_media_factory_set_shared (factory, TRUE);

/* attach the test factory to the /test url */
gst_rtsp_media_mapping_add_factory (mapping, "/stream", factory);
....
客户端命令终端命令:

gst-launch -v rtspsrc location=rtsp://192.168.0.115:8554/stream ! 
rtptheoradepay name=pay0 ! oggmux ! filesink location=/home/jean/Desktop/stream.ogv
任何帮助任何种类的帮助都是非常感谢的


Jean

我可以按如下方式解码管道以查看gst启动-v rtspsrc位置=rtsp://localhost:8554/test 名称=解复用解复用!队列rtptheoradepay!theoradec!ffmpegcolorspace!自动视频接收器

破译

gst发布-v rtspsrc位置=rtsp://localhost:8554/test ! 应用程序/x-rtp,有效载荷=96!rtptheoradepay!theoradec!视频速率!ffmpegcolorspace!Theoreanc!oggmux!filesink location=GIBBERISH.ogg


在写入文件之前,我对其进行解码并用视频速率对其进行编码。可能有更好的方法来执行相同的操作,但这只是一种解决方法。

有人有想法吗?如果这仍然是最新的,您可能需要添加有关RTSP客户端应用程序显示错误的信息。