vic*_*234 3 c c++ rtsp gstreamer
我正在编写 gstreamer 应用程序,需要通过 rtsp 传输输出音频/视频流。但在gst-rtsp-server示例中,我factory仅通过gst-launch语法建立了创作:
factory = gst_rtsp_media_factory_new ();
gst_rtsp_media_factory_set_launch (factory,
"( appsrc name=mysrc ! videoconvert ! x264enc ! rtph264pay name=pay0 pt=96 )");
Run Code Online (Sandbox Code Playgroud)
是否可以将gst-rtsp-server元素连接到我的管道?
小智 6
经过长时间的研究,我能够理解如何做到这一点。
此代码片段向您展示了如何重写虚拟函数GstRTSPMediaFactory,在这种情况下,我们对重写感兴趣create_element,而是将其指向我们自己的静态函数,负责在内部机制需要时返回您构建的管道GstRTSPMediaFactory。
有关可以重写的其他虚拟函数,请参阅此内容。
GstElement binPipeline;
GstRTSPMediaFactory *custom_pipeline_factory(GstElement *bin)
{
GstRTSPMediaFactory *factory = gst_rtsp_media_factory_new();
GstRTSPMediaFactoryClass *memberFunctions = GST_RTSP_MEDIA_FACTORY_GET_CLASS(factory);
// pipeline created somewhere else
binPipeline = bin;
memberFunctions->create_element = create_bin_element;
return factory;
}
GstElement *create_bin_element(GstRTSPMediaFactory *factory, const GstRTSPUrl *url)
{
return binPipeline;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3404 次 |
| 最近记录: |