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可以分散开从从服务器上拉媒体流。如下图所示

 

最新文章

  1. iOS设备升级iOS7
  2. net use命令详细解释
  3. 【转】增加eclipse的运行内存 -- 不错!!
  4. Java switch-case
  5. Linux shell入门基础(七)
  6. bootstrap初探
  7. Linux下串口编程入门
  8. 【Android开发经验】使用反射,得到的类的字段、方法、并实现了简单的调用
  9. Linux系统的信号详解
  10. 关于socket编程获取客户端地址笔记
  11. 接口测试入门(3)--使用httpClient进行登录用例操作/set-cookies验证/ List<NameValuePair>设置post参数/json解析
  12. nginx资料汇总
  13. 洛谷P4065 [JXOI2017]颜色(线段树)
  14. windows新增/修改/删除系统环境变量bat示例,一键配置JAVA_HOME
  15. 查看CPU信息
  16. hibernate validator自定义校验注解以及基于服务(服务组)的校验
  17. jenkins 如何处理windows batch command
  18. anaconda+theano+keras手写字符识别新版
  19. Discuz常见小问题-如何修改板块和分区
  20. [C#学习笔记]分部类和分部方法

热门文章

  1. 解决cookie 跨iframe
  2. Fox And Two Dots
  3. [Unity]C#.数据类型总结
  4. Navicate for mysql 数据库设计-数据库分析
  5. mysql时间函数,总是记不住,总是查。
  6. Phpexcel 多sheet ,设置
  7. The Willpower Instinct
  8. (译)Windsor入门教程---第一部分 获取Windsor
  9. MAC平台下mysql7.5的安装
  10. javascript 巴西世界杯倒计时