带有自定义编码器C ++的Gstreamer RT(S)P服务器

时间:2012-11-28 09:08:18

标签: c++ gstreamer rtsp rtp

我正在寻求使用c ++(在Linux平台上)使用gstreamer api创建实时传输/流媒体协议(RT(S)P)服务器,可以发送由自定义编码器/解码器编码的数据。 到目前为止,我有一个使用以下教程的简单服务器: http://www.ip-sense.com/linuxsense/how-to-develop-a-rtsp-server-in-linux-using-gstreamer/

以下步骤是找到一种方法,使用原始图像,然后使用我的自定义编码器。

任何人都可以指向一个类似的教程/示例,也许可以解释一下RTSP和RTP(或两者兼而有之)最适合用于此目的吗?

1 个答案:

答案 0 :(得分:0)

要使用自定义编码器/解码器,您需要编写自己的gstreamer插件。 如果你看一下教程代码中的第83到85行,就会定义一个gstreamer管道。

gst_rtsp_media_factory_set_launch(工厂,“(”           “videotestsrc!video / x-raw-yuv,width = 320,height = 240,framerate = 10/1!”           “x264enc!queue!rtph264pay name = pay0 pt = 96!audiotestsrc!audio / x-raw-int,rate = 8000!alawenc!rtppcmapay name = pay1 pt = 97”“)”);

这里的管道正在使用x264enc和H.264编码器。编写gstreamer插件后,您可以更改上面的管道以使用编码器。