gst-rtsp-server 的第一个程序:建立自己的 rtsp 服务器

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.c
	gcc 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.pcgstreamer-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。在文件菜单中,“打开网络串流”,输入服务器地址,结果如下:
在这里插入图片描述

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

许野平

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值