nginx+rtmp

RTMP(Real Time Messaging Protocol)实时消息传送协议是Adobe Systems公司为Flash播放器和服务器之间音频、视频和数据传输开发的私有协议。

它有三种变种:

1)工作在TCP之上的明文协议,使用端口1935

2)RTMPT封装HTTP请求之中,可穿越防火墙

3)RTMPS类似RTMPT,但使用的是HTTPS连接;

 

RTMP协议就像一个用来装数据包的容器,这些数据可以是AMF格式的数据,也可以是FLV中的视/音频数据。一个单一的连接可以通过不同的通道传输多路网络流。这些通道中的包都是按照固定大小的包传输的。

 

 

   



                                           1   RTMP交互图



2. RTMP server

2.1当前的流媒体server

 

现在主要有两种rtmp server,商业的和开源的。

  商业的有FMS Wowza

  开源RTMP server

  1.  red5 java  有名

  2.  crtmpserver c++ 支持多种rtmp协议,移动设备以及IPTV相关网络协议 http://www.rtmpd.com/ Erlyvideo erlong 有开源和商业版本 https//github.com/erlyvideo/erlyvideo h

 3.  aXeVideo haXe 一个实验性的,轻量级的服务器 http://code.google.com/p/haxevideo/ 

 4. FluorineFx .Net To be defined http://www/fluorinefx.com 

 5. nginx-rtmp c nginx模块 支持rtmp和HLS https://github.com/arut/nginx-rtmp-module


3 Nginx rtmp 功能点
1.支持视频的直播、点播、录制(flv格式)
2.支持FLV/MP4(H264/AAC编码),输入流可以是文件或者HTTP流
3.支持两种流的分发模式 push and pull
4.支持在线转码(使用ffmpeg)
5.支持HLS (HTTP LiveStreaming)需要 libavformat (>= 8. 53.31.100) from ffmpeg 
6.可以协同工作:FMS server(Wirecast, FMS, Wowza,)Player(JWPlayer, FlowPlayer, StrobeMediaPlayback,)外部程序(ffmpeg,avconv,rtmpdump,flvstreamer )
7.数据统计
8.跨平台 Linux/FreeBSD/MacOS
9. 支持外部程序(exec)

4.

编译nginx rtmp模块


你可能感兴趣的:(multimedia)