crtmpserver流媒体服务学习(一)

CRTMP简介

crtmpserver(C++ RTMP Server)是高性能的流媒体服务器,支持以下协议(直播或录制):

  • 支持Flash(RTMP,RTMPE,RTMPS,RTMPS,RTMPT,RTMPTE)
  • 支持嵌入式设备:iPhone,Android
  • 支持监控摄像机
  • 支持IP-TV(MPEG-tS,RTSP/RTCP/RTP)
此外,crtmpserver可以作为高性能rendes-vous服务器,可以让你做:
  • 音视频会议
  • 在线游戏
  • 在线协作
  • 简单/复杂的聊天应用
 
crtmpserver不同之处
  • 支持多种流媒体技术之间的通信(Adobe flash, Apple streaming, Silverlight, etc)
  • 高性能,并发几千路连接
  • 占用资源少
  • 可移植性强,只要GCC支持,crtmpserver可以运行在: IP cameras, Android, ARM or MIPS based systems, SoC, etc
  • 依赖少:lua, openssl

注:引自http://blog.chinaunix.net/uid-26000296-id-3776089.html

crtmp的目录结构:

1. 顶层(crtmpserver/) 下的文件夹结构
3rdparty/             : 对lua, xml进行解析的源代码文件夹
sources/              : 项目的核心实现源代码文件夹
builders/              : 各种环境(VS2010, android, linux)下的项目生成
configs/               : 一些预定义的配置文件和示例启动脚本
docs/                  : 项目相关的文档
man/                   : crtmpserver的man文档
appscaffold/       : 创建自定义APP的方法
constants/          : 项目的常量配置文件
media/                : 用于播放的媒体素材文件夹

cleanup.sh    : 清除所有生成的项目
README        : 指导如何编译、安装和使用crtmpserver
LICENSE       : 版权声明
2. crtmpserver/3rdparty/
lua-dev/      : 解析lua型的配置文件
tinyxml/      : 解析xm工l型的配置文件
3. crtmpserver/docs/
ApplicationProtocols.doc : crtmpserver支持的协议详细
keepalive.txt            : TCP的keep live 功能说明
startup_script_rtmpd     : 一个启动,停止rtmpserver的shell脚本
architecture.txt         : 协议链的介绍
RTMPEHandshake.pdf       : crtmpserver在握手时的详细数据定义
stream_from_vlc.txt      : 和VLC相关的一个配置
config.doxy              : 配置项目的说明
server.xlsx              : crtmpserver在握手时的详细数据定义
diagrams.cdd
simpleLive/              : 播放器的页面示例

4. /crtmpserver/sources/
androidapplestreaming/   : 和andriod, apple的移动设备流生成相关
common/                  
thelib/
vm/
applications/
crtmpserver/
tests/
trafficdissector/  
vmtests/

posted on 2014-03-18 08:59  DuDD  阅读(793)  评论(0编辑  收藏  举报

导航