1. 源代码:demo.c
建立项目目录:demo,并在其中创建 C 语言源代码 demo.c
。代码如下:
#include <gst/gst.h>
#include <gst/rtsp-server/rtsp-server.h>int main (int argc, char *argv[]) {
GMainLoop *loop;GstRTSPServer *server;GstRTSPMountPoints *mounts;GstRTSPMediaFactory *factory;gst_init (&argc, &argv);loop = g_main_loop_new (NULL, FALSE);server = gst_rtsp_server_new ();mounts = gst_rtsp_server_get_mount_points (server);factory = gst_rtsp_media_factory_new ();gst_rtsp_media_factory_set_launch (factory, "( videotestsrc is-live=1 ! x264enc ! rtph264pay name=pay0 pt=96 )");gst_rtsp_media_factory_set_shared (factory, TRUE);gst_rtsp_mount_points_add_factory (mounts, "/test", factory);g_object_unref (mounts);gst_rtsp_server_attach (server, NULL);g_print ("stream ready at rtsp://127.0.0.1:8554/test\n");g_main_loop_run (loop);return 0;
}
上述代码利用 videotestsrc
信号源建立了一个 rtsp 服务器。
2. 编写 Makefile
Makefile 内容如下:
demo: demo.cgcc demo.c -o demo `pkg-config --cflags --libs gstreamer-1.0 gstreamer-rtsp-server-1.0`
GStreamer 家族的相关 pkg 文件存放在目录 /usr/lib/aarch64-linux-gnu/pkgconfig
下。gstreamer-1.0.pc
、gstreamer-rtsp-server-1.0.pc
也存放在这个目录下。
3. 编译程序
Makefile 写好后,直接执行 make 命令,即可得到 demo
目标文件。
4. 运行
4.1 运行服务器端程序
输入命令 ./demo
,服务器程序及开始运行,并显示如下信息。
$ ./demo
stream ready at rtsp://127.0.0.1:8554/test
4.2 运行客户端程序
找一个视频播放器来做客户端。我用的是 VLC 播放器,我的 rtsp 服务器地址是:rtsp://192.168.119.210:8554/test
。在文件菜单中,“打开网络串流”,输入服务器地址,结果如下: