1、概述
flash技术是adobe公司的产品,主要包括flash播放器和rtmp服务器,adobe为了实现flash定义了rtmp协议和专门的音视频封装格式(音频为fla,视频为flv)。
adobe关于这些技术和标准的说明如下[1]:
2、rtmp服务器实现
(1)视频平台自己实现rtmp协议
(2)借助于第三方rtmp服务
视频平台只需要通过ffmpeg将视频流推送给第三方rtmp服务,然后客户端通过访问RTMP服务来播放视频流[2]
3、rtmp服务
(1)商业性:Adobe Media Server、FMS Wowza
(2)开源性:Simple-RTMP-Server、nginx-rtmp-module
4、Simple-RTMP-Server[3]
国人发起的开源项目,C++编写,基于linux平台
5、nginx-rtmp-module[4][5]
nginx是一个http服务器,通过添加nginx-rtmp-module搭建一个流媒体服务器,可以支持rtmp和hls协议。同样的,视频流需要通过ffmpeg按照rtmp协议推送至nginx,然后客户端通过rtmp或者hls协议访问视频流。
nginx-rtmp-module源码可以在github上下载。nginx在windows上使用时需要对源码进行编译,并且集成nginx-rtmp-module,目前已有编译集成好的版本,例如:
(1)http://nginx-win.ecsds.eu/下版本nginx 1.7.11.3 Gryphon
(2)https://github.com/illuspas/nginx-rtmp-win32
6、Adobe Media Server
Adobe Media Server是Adobe公司自己的rtmp服务器,性能更好,部署流程和上面nginx一样。网上nginx 1.7.11.3 Gryphon这个版本的nginx作为rtmp服务,在网络条件较差时,性能较差,视频很卡,但是采用Adobe Media Server则比较流畅。
参考:
[1] https://stackoverflow.com/questions/4364958/adobe-flash-to-play-rtsp-stream#
[2] http://blog.csdn.net/leixiaohua1020/article/details/39803457
[3] http://blog.csdn.net/winshining/article/details/74910586
[4] http://blog.csdn.net/mengzhengjie/article/details/50977752
[5] http://blog.csdn.net/redstarofsleep/article/details/45092147