RTMP推流摄像头设计实现3
来源:互联网 发布:大数据 维基百科 编辑:程序博客网 时间:2024/06/06 00:07
RTMP推流摄像头设计实现3 - 配置文件
概要
用户对推流通道的配置信息需要长期保存,以便程序重启时,仍能得到用户的配置,固需要一个配置文件来存储这些信息。
配置文件常规格式有多种,INI、XML、JSON等,由于推流配置项并不复杂,这里选用最简单的INI格式来存储。
网上搜索后并没找到合意INI库,本着自以为简单的心理,准备自己去实现,等实现时才觉得其实并不简单,接口要易用,支持中文等。
但已经开始,就把它搞完吧。
接口定义
- 句柄的申请与释放
eini_handle eini_alloc(void);
void eini_free(eini_handle h); - 配置文件的导入与保存
int eini_load_file(eini_handle h, const char* file);
int eini_save_file(eini_handle h, const char* file); - INI段与参数的基本操作
int eini_count(eini_handle h, int secidx);
int eini_query(eini_handle h, int secidx, const char* name, int keyidx);
int eini_new(eini_handle h, int secidx, int parmidx, const char* name, const char* value);
int eini_get(eini_handle h, int secidx, int parmidx, char* namebuf, char* valuebuf);
int eini_set(eini_handle h, int secidx, int parmidx, const char* name, const char* value);
int eini_delete(eini_handle h, int secidx, int parmidx); - 快捷操作,方便用户直接调用
int eini_ext_new(eini_handle h, const char* sec_key, const char* value);
int eini_ext_get(eini_handle h, const char* sec_key, char* valuebuf);
int eini_ext_scanf(eini_handle h, const char* sec_key, const char* fmt, …);
int eini_ext_set(eini_handle h, const char* sec_key, const char* value);
int eini_ext_printf(eini_handle h, const char* sec_key, const char* fmt, …);
int eini_ext_delete(eini_handle h, const char* sec_key);
实现方案
为了方便调用,想了很多接口定义,最终形成上述,感觉还是复杂了点,先这样了。
INI文件中多个段及段内参数对构成,每个参数对由key=value组成。
为了接口简易及易实现,对段名及key作了约束,
段名与key由字母或数字或下划线组成,且必须字母开头(变量名定义)
参数值只要不含有控制字符就行,(支持中文)
剩下就是写代码实现了。
获取更多信息
邮件:support@easydarwin.org
WEB:www.EasyDarwin.org
Copyright © EasyDarwin.org 2012-2017
阅读全文
0 0
- RTMP推流摄像头设计实现3
- RTMP推流摄像头设计实现0
- RTMP推流摄像头设计实现1
- RTMP推流摄像头设计实现2
- RTMP推流摄像头设计实现4
- RTMP协议推流
- javacv把海康摄像头rtsp流转推到rtmp流
- 海思3518 3516摄像头开发板rtmp rtsp视频推流
- EasyPusher RTSP推流/EasyRTMP RTMP推流Android安卓摄像头视频偏暗的问题解决方案
- EasyRTMP实现的rtmp推流的基本协议流程
- 使用ffmpeg实现RTMP的直播推流功能
- rtmpdump 实现flv视频数据的rtmp推流功能
- EasyRTMP实现的rtmp推流的基本协议流程
- 直播推流实现RTMP协议的一些注意事项
- 直播推流实现RTMP协议的一些注意事项
- 直播推流实现RTMP协议的一些注意事项
- 开发实现C++ RTMP直播推流sdk
- 直播推流实现RTMP协议的一些注意事项
- Python HashCode 分库分表逻辑
- nyoj 19
- Hadoop_0_集群搭建
- css布局的一些小总结
- Nginx高级数据结构总结之 ngx_queue_t 双向链表
- RTMP推流摄像头设计实现3
- golang设计模式之简单工厂模式
- @Autowired与@Resource的区别
- TODO
- CPU高占用和并发操作HashMap的关系
- 基于centOS 7上的FTP服务器搭建详解
- FastDFS
- 山重水复疑无路,柳暗花明又一村
- JVM的基本了解