CRtmpServer分析与应用
CRtmpServer分析与应用
官方地址:http://www.rtmpd.com/
CRtmpServer是一款不错的开源流媒体服务器,用c++语言编写,跨平台。官方介绍CRtmpServer不仅支持adobe rtmp协议,还支持其它常用的协议:
To and from Flash (RTMP,RTMPE, RTMPS, RTMPT, RTMPTE)
To and from embedded devices: Android, IP cameras, Hardware encoders
From iOS devices
IP-TV using MPEG-TS and RTSP/RTCP/RTP protocols
CRtmpServer从生产环境使用的情况来看,每天都在用,从几十M到上百M的流量不等,运行几个月无宕机,CPU, 内存各方面性能指标稳定,还是比较满意的。当然官方还提示有改进的商业版的版本“EvoStream”,如果不差钱,可以买商业版,也算支持作者辛苦的付出。日常使用,开源版本已经足够。
下图1是我整理的画的CRtmpServer结构图,按层次划分。分为以下几大部分:
网络层: 操作系统的网络模型相关, Linux平台epoll, FreeBSD平台kqueue, Windows平台select
协议层: RTMP,SIP SDP,HTTP,TS, RTP等协议的处理
媒体层: 处理媒体的codec, 如mp3, mp4, flv, aac H.264等
应用层: 一系列应用,如admin, http/https, liveflv, dns等,我们也可以扩展自己的协议,如图中应用层红色模块部分扭示
CRtmpServer还支持简单的负载集群,只需要把配置文件中配置主从关系,推到主上的媒体流自然从上面也有,Viewer可以分散开从从服务器上拉媒体流。如下图所示
最新文章
- iOS设备升级iOS7
- net use命令详细解释
- 【转】增加eclipse的运行内存 -- 不错!!
- Java switch-case
- Linux shell入门基础(七)
- bootstrap初探
- Linux下串口编程入门
- 【Android开发经验】使用反射,得到的类的字段、方法、并实现了简单的调用
- Linux系统的信号详解
- 关于socket编程获取客户端地址笔记
- 接口测试入门(3)--使用httpClient进行登录用例操作/set-cookies验证/ List<;NameValuePair>;设置post参数/json解析
- nginx资料汇总
- 洛谷P4065 [JXOI2017]颜色(线段树)
- windows新增/修改/删除系统环境变量bat示例,一键配置JAVA_HOME
- 查看CPU信息
- hibernate validator自定义校验注解以及基于服务(服务组)的校验
- jenkins 如何处理windows batch command
- anaconda+theano+keras手写字符识别新版
- Discuz常见小问题-如何修改板块和分区
- [C#学习笔记]分部类和分部方法