gst-rtsp-server 应用开发范例:test-readme.c
2023-09-27 14:20:16 时间
gst-rtsp-server 源代码包中的 examples 文件夹中范例 test-readme.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;
//构建 rtsp 服务器
gst_init (&argc, &argv);
loop = g_main_loop_new (NULL, FALSE); // 创建 rtsp 服务器的主消息循环,也是默认的消息循环。
server = gst_rtsp_server_new (); // 创建 rtsp 服务器对象
mounts = gst_rtsp_server_get_mount_points (server); // 获取 rtsp 服务器的装载点集合的引用
// 装载点集合 mounts 是服务器 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); // 把服务器附加到默认的消息循环。
//运行 rtsp 服务器
g_print ("stream ready at rtsp://127.0.0.1:8554/test\n");
g_main_loop_run (loop);
return 0;
}
分析了一下源代码,其中四个对象的关系如下:
- 主消息循环可以包含若干 rtsp 服务器。
- 每个 rtsp 服务器都有一个装载点集合。
- 所谓的装载点,就是 rtsp 媒体工厂。
想吃透这套源代码包的用法,还得继续分析其他范例。
相关文章
- When to Use Clustered or Non-Clustered Indexes in SQL Server
- Password expiration policy Security baseline (FINAL) for Windows 10 v1903 and Windows Server v1903
- 第十五节:HttpContext五大核心对象的使用(Request、Response、Application、Server、Session) 第十四节:再探MVC中路由的奥秘 第十三节:HttpHander扩展及应用(自定义扩展名、图片防盗链) 第十二节:MVC中的一些特殊优化 第十一节:Bundles压缩合并js和css及原理分析 第十节:数据批注(DataAnnotationMode
- MSSQL-应用案例-SQL Server 2016基于内存优化表的列存储索引分析Web Access Log
- 使用SQL Database Migration Wizard把SQL Server 2008迁移到Windows Azure SQL Database
- 推荐图书-《SQL Server 2008商业智能完美解决方案》
- WebSphere Application Server 更新web.xml的问题以解决有些应用在tomcat环境下可以跑,更新到was上失效的问题
- Metrics Server--->aggregate api-->metric-server -->cadvisor
- ApexSQL Log 从意外UPDATE和DELETE操作中恢复SQL Server数据
- SQL Server 中master..spt_values的应用
- SQL Server 中master..spt_values的应用
- SQL Server 分组排序后取第N条数据(或前N条)
- windows server 2012 设置IIS服务器定时自动重启的方法
- SQL server 表copy 到别一张表
- 在Windows Server 2012 中安装 .NET 3.5 Framework