gst-rtsp-server 1.0 如何使用自己的管道

Gst-rtsp-server 1.0 how to use my own pipeline

我已经阅读完 gst-rtsp-server github 中的用户指南, 我发现demo总是用这样的代码来构建静态管道,

factory = gst_rtsp_media_factory_new ();
gst_rtsp_media_factory_set_launch (factory,
      "( rtspsrc location=rtsp://admin:Admin12345@192.168.1.126 ! rtph264depay ! h264parse ! rtph264pay pt=96 name=pay0 )");

但是,如果我想使用自己的管道,以便在接下来的工作中获取管道的GstElement*指针,我该怎么办? 我已经阅读了 GitHub 中 gst-rtsp-server 的示例,但没有帮助

您可以使用gst_parse_launch,并输入您需要的自定义管道。 另请查看 link.

中提供的其他功能

要创建自己的管道,您必须继承 GstRTSPMediaFactory 并覆盖 create_element 虚拟成员。 例如,您可以查看 GstRTSPMediaFactory 默认实现: https://github.com/GStreamer/gst-rtsp-server/blob/master/gst/rtsp-server/rtsp-media-factory.c#L1636