快速搭建一个简单的流媒体视频服务
前言
最近自己在研究有关于流媒体播放的技术,网上资料甚少。出于开源精神以及在查阅资料得到各位大佬的帮助,故将自己的心得写下记录,便于分享以及日后维护。
在此极力感谢并推荐雷神(雷霄骅)
个人博客:https://blog.csdn.net/leixiaohua1020
系统组成
一个完整的流媒体系统大致需要三个部分组成:编码器、流服务器和播放器。
编码器通过对内容来源(如MP3文件或者麦克风输入)进行编码,并将编码过的内容发送到流服务器;流服务器再将它们发布到Internet,这样客户端的播放器只要连接到流服务器就可以进行在线播放了。
而本次搭建过程是基于RTMP协议完成。
RTMP协议简介
播放一个RTMP协议的流媒体需要经过以下几个步骤:握手,建立连接,建立流,播放。
RTMP连接都是以握手作为开始的。
1:建立连接阶段用于建立客户端与服务器之间的“网络连接”;
2:建立流阶段用于建立客户端与服务器之间的“网络流”;
3:播放阶段用于传输视音频数据。
Red5 概述
Red5 是一个采用 Java 开发开源的 Flash 流媒体服务器。免费开源使软件更加容易扩展,下载后你可以对源代码进行修改;更加经济,比起 FMS 高昂的费用,Red5 能为一般的应用节约大笔费用;同时服务器端的 Java 面向对象语言比起 FMS 服务器端的 ActionScript2 语言更加成熟。鉴于 Red5 的种种优势,推出不久便被广大用户所接受。
Red 5 支持:
-
把音频(MP3)和视频(FLV, F4V, MP4, 3GP)转换成播放流;
-
录制客户端播放流, 把摄像头,麦克风等传入的音频视频录制保存到服务器;
-
共享对象;
-
现场直播流发布;
-
远程调用;
-
协议:RTMP, RTMPT, RTMPS, and RTMPE。
Red5 服务器搭建
JDK自行安装_本文不做演示
可参考:https://