RTMP推流摄像头设计实现4
来源:互联网 发布:stl map源码 编辑:程序博客网 时间:2024/06/06 07:45
RTMP推流摄像头设计实现4 - 控制与状态管理
概要
这个模块就是整合前几个模块,来实现推流的控制,监视等。
使用RTMPPushExt实现取流、转码、推流等媒体流任务。
使用http服务模块实现配置接口,http+json。
使用配置文件模块实现配置信息的保存与读取。
程序接口定义
设备流启停通知回调
typedef struct
{
Easy_I32 (StartStream)(Easy_U32 channelID, EASY_MEDIA_INFO_T mediaInfo, void* _user_data);
void (StopStream)(Easy_U32 channelID, void _user_data);
} RTMPMgr_Callback;创建与销毁通道管理器
RTMPMgr_Handle RTMPMgr_Start(const char* config, RTMPMgr_Callback cb, void* _user_data);
void RTMPMgr_Stop(RTMPMgr_Handle handle);设备流推流接口
Easy_I32 RTMPMgr_PushVideo(RTMPMgr_Handle handle, Easy_U32 channelID, const Easy_U8* frame, Easy_U32 size, Easy_U32 ts_ms);
Easy_I32 RTMPMgr_PushAudio(RTMPMgr_Handle handle, Easy_U32 channelID, const Easy_U8* frame, Easy_U32 size, Easy_U32 ts_ms);
HTTP配置接口定义
获取推流通道配置及状态
请求:
GET /get_config HTTP/1.1
回复:
Content-Type: applicantion/json
{
“data” : {
“status” : “Disabled|ConfigErr|RtmpConnecting|Success”,
“enable” : true|false,
“source” : “device|rtsp”,
“rtsp_url” : “rtsp://xxxx”,
“rtmp_url” : “rtmp://xxxx”
},
“code” : 0,
“msg” : “成功”
}配置推流通道
请求:
POST /set_config HTTP/1.1
Content-Type: applicantion/json
{
“enable” : true|false,
“source” : “device|rtsp”,
“rtsp_url” : “rtsp://xxxx”,
“rtmp_url” : “rtmp://xxxx”
}
不改变的配置项可以不填
回复:
Content-Type: applicantion/json
{
“code” : 0,
“msg” : “成功”
}一个简单的通道html状态反馈
浏览器地址:
http://localhost:8000
回复:
RtmpPushStatusRTMP推流状态
Channel%u
attr:%s status:%s
source:%s
url:%s
配置文件接口
[Base]
EasyRTMP_License=
EasyRTSPClient_License=
HttpSrvPort=8000
BaseChannelNum=1
[Channel_0]
Enable=true
IsRtspSrc=false
RtspUrl=rtsp://127.0.0.1:8554/live/chn0
RtmpUrl=rtmp://www.easydss.com:10085/live/0000
实现方案
由于之前把需的模块都实现了,这个模块就是整合这些基础模块实现一个完整的RTMP推流摄像机。
视音频源可以来自于设备源,也可以来自于RTSP源,可通过配置选择。
运行效果图
获取更多信息
邮件:support@easydarwin.org
WEB:www.EasyDarwin.org
Copyright © EasyDarwin.org 2012-2017
- RTMP推流摄像头设计实现4
- RTMP推流摄像头设计实现0
- RTMP推流摄像头设计实现1
- RTMP推流摄像头设计实现2
- RTMP推流摄像头设计实现3
- 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协议的一些注意事项
- 京东金融内推面经
- 浅谈Java抽象,封装,继承,多态的
- 超越RFC3550 - RTP/RTCP协议族分析
- Python学习笔记(二)字符串处理
- shell脚本搭建容器云(二)
- RTMP推流摄像头设计实现4
- kafka原理及设计思想
- 高性能JavaScript---作用域链, 闭包, 原型, 原型链
- CSS样式
- java tcp网络通信 传输文件
- 树上最远距离 后序遍历
- php中英文字符串转字母转大小写
- 学生宿舍系统2
- 模拟IOC