0

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

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

谁能指出我类似的教程/示例,也许可以解释 RTSP 和 RTP 中的哪一个(或两者?)最适合用于此目的?

4

1 回答 1

0

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

gst_rtsp_media_factory_set_launch (factory, "( " "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 插件后,您可以更改上述管道以使用您的编码器。

于 2012-11-29T08:15:31.783 回答