RTMP推流摄像头设计实现2
来源:互联网 发布:大数据 维基百科 编辑:程序博客网 时间:2024/06/06 01:31
RTMP推流摄像头设计实现2 - HTTP服务
概要
为方便用户及平台控制推流通道,本设计提供了HTTP配置接口,由于HTTP服务可以封装成相对独立的模块,固决定封装一个简单的HTTP服务,用于提供简单的配置服务。
接口定义
http消息定义
typedef struct
{
char method[8]; //request only
char uri[128]; //request only
unsigned int status_code; //responsse only
unsigned int version; //0-HTTP/1.0 1-HTTP/1.1
…
} ehttp_msg;事件回调接口
typedef struct
{
int (on_client_comming) (const char ipaddr, unsigned int port, void* pdata, void** ppdata_new);
int (on_client_request) (const ehttp_msg reqmsg, ehttp_msg* resmsg, void* pdata);
void (on_client_close) (void pdata);
} ehttpd_callback;创建http服务
ehttpd_handle ehttpd_create(unsigned int port, const ehttpd_callback* cb, void* pdata);- 事务处理
int ehttpd_do_event(ehttpd_handle handle); - 销毁服务
void ehttpd_release(ehttpd_handle handle);
实现方案
本模块旨在实现一个简单的http服务模型,用于实现简单的http配置服务。
由于仅用于配置,这里只简单实现,越简单越好,不支持多线程。
http事件处理全在ehttpd_do_event里,每调一次此函数,内部会去查询socket是否有新的请求到来,
如果有新请求数据,就进行http解析,解析完成后回调on_client_request通知外部去处理请求,
外部处理后,将结果填入resmsg里,返回后内部会把消息格式化后返回到http客户端,
整个流程非常清晰。
获取更多信息
邮件:support@easydarwin.org
WEB:www.EasyDarwin.org
Copyright © EasyDarwin.org 2012-2017
- RTMP推流摄像头设计实现2
- RTMP推流摄像头设计实现0
- RTMP推流摄像头设计实现1
- RTMP推流摄像头设计实现3
- 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协议的一些注意事项
- Error detected while processing function UltiSnips#bootstrap#Bootstrap:
- c#到底能做什么
- SPOJ
- 开发日志 2017年8月31日
- asp.net mvc Ajax由应用到深入理解
- RTMP推流摄像头设计实现2
- It requires Vim 7.3.885 or later with Lua support ("+lua")."
- ArcGIS API for JavaScript实现坐标定位
- Python HashCode 分库分表逻辑
- nyoj 19
- Hadoop_0_集群搭建
- css布局的一些小总结
- Nginx高级数据结构总结之 ngx_queue_t 双向链表
- RTMP推流摄像头设计实现3