写在前面的话
<p>
对于2016年,毋庸置疑的是直播年,在这样一个大环境的推动下,我想作为一个开发者,不对直播相关的内容去做了解与涉猎肯定是说不过去吧,所以这一篇就作为直播相关开发的启篇。
工欲善其事必先利其器,对于直播开发,肯定是需要采集视频源,然后把视频推流到服务端,本地在进行拉流播放的流程。所以这个过程中,我们需要首先来把服务端这个中间环节的工作搞定,后续再弄推流和拉流功能。现在推流大部分都是使用RTMP/HLS协议,接下来我们看下这两个协议的区别
图1 协议区别RTMP是主流的直播传输协议,延迟低,可用于pc和移动端;HLS就是专门为适应苹果的一种直播协议,但它的延迟比RTMP要高,在移动web端一般采用HLS协议。
对于流媒体服务器,选择性很多,接下用一张图展示下主流的流媒体服务器
图2 流媒体服务器对于做客户端的我们来说,其实选择那种都可以,因为这个其实并不在我们的工作范围里面,我这边选择的是Red5,这是纯java开发的,并且他的搭建相对来说还是比较简单的,so,开始我们的Red5服务器搭建吧
一.Red5服务器搭建
<p>
1.下载Red5
首先我们需要下载最新版本的 red5 服务器
下载页面地址如下:
https://github.com/Red5/red5-server/releases
找到最新的版本下载,如下
图3 Red5服务器下载当然,我相信你是下载不下来的,因为我下载也是下了好久
so,这里有别人传到CSDN的版本,虽然不是最新的,但是whatever
下载好以后找一个合适的位置解压
2.配置环境变量
在 文件 ~/.bash_profile(如果没有请创建) 内部 添加一行,设置 RED5_HOME 变量,变量值就是你的 red5根目录路径,如下
首先打开.bash_profile
open -e .bash_profile
然后添加red5根目录路径
图4 添加路径
保存并关闭更新刚配置的环境变量
source .bash_profile
3.启动Red5
cd 到 red5根目录下执行 ls 命令查看一下 ,会看到几个.sh 后缀的文件
如下
其中:
red5.sh 是用来启动 red5服务器的
red5-shutdown.sh 是用来关闭red5服务器的
执行脚本
sh ./red5.sh
接下就看到服务器启动起来了,如下
图6 red5运行打开浏览器,输入http://http://localhost:5080/ 回车
出现如下页面表示启动成功
服务器到这里就已经搭建完毕了,接下来就是让Red5服务器完成转发的任务
二.Red5服务器转发功能
<p>
看成功界面会有一个Launch a demo,这些demo都是Red5提供的,这些demo呢,我们通过csdn下载的版本其实已经包含在里面了
点击后可以看到如下的界面
图8 Red5Demos这里的Publisher就是我们需要的Demo了,Publisher是用于采集视频数据推流的
打开如下
图9 Publisher这里首先将Location里面的链接中的localhost替换成我们本机的IP地址,然后Connect,接下来点击Vedio选择Vedio Device,一般我们都是用的电脑打开这个界面,所以选择笔记本或者其他内置摄像头,点击Start,最后点击上方的Publish就可以将摄像头采集的数据上传了。
数据上传后自然要拉流验证,拉流可以用VLC,至于VLC是什么,自行谷歌,
打开VLC如下
图10 VLC选择Open NetWork,输入链接为Publisher中的Location+Name
运行,稍后如下
图11 VLC运行成功图到这里我们就看到了Red5流媒体服务器转发功能成功了
写在后面的话
<p>
直播服务器相关到这里就结束了,其实相关的东西并不多,而且只要安装结束后,在整个的直播开发中就不用在做操作了,那么下一篇文章就是对于手机端数据源相关的采集,以及编码相关,peace~~~~
网友评论