零,在前面一章的学习,我们知道了 发送端是要将音视频数据 推流 到 流媒体服务器,然后 客户端 从流媒体服务器中 拉流 播放。
因此第一个要掌握的就是如何 搭建一个 流媒体服务器。
我们不可能在学习阶段就开发一个流媒体服务器,在学习的初步阶段 需要会使用成熟的流媒体服务器
1.本章节是学习 RTMP 流媒体协议,需要使用SRS 流媒体服务器
SRS(Simple Realtime Server)是一款开源流媒体服务器,专注于实时音视频传输,采用C++开发,具有高性能、低延迟、多协议支持等特点,适用于直播、在线教育、视频会议等场景
SRS 流媒体支持的协议:
- 支持RTMP(实时消息传输协议)、HLS(HTTP Live Streaming)、HTTP-FLV(低延迟直播)、WebRTC(实时通信)、SRT(安全可靠传输)等主流流媒体协议。
- 支持协议间互转(如RTMP转WebRTC),适配多种终端播放需求
一 安装和测试srs流媒体服务器
1.1 安装srs流媒体服务器
官网
第⼀步,获取SRS。
官网说明如下:
将官网上废话删除,直接写关键点
0.我们在linux 上先创建一个文件夹放置SRS的源码,mkdir srs_source3.0
这个名字是随便取的,之所以取3.0,是因为学习的教程中就是用3.0教授的,实际版本已经有5.x了。
1:进入到 srs_source3.0文件夹,然后执行下面的命令。命令的意思下载SRS,
cd srs_source3.0
git clone -b develop https://gitee.com/ossrs/srs.git &&
cd srs && git remote set-url origin https://github.com/ossrs/srs.git
由于上述命令有个 cd srs,因此执行完毕后,会直接进入到srs 目录
2:下载后需要checkout 到你要的branch,可以这样理解,你工作的时候,有可能公司的代码是基于SRS3.0开发的,那么你最好下载一个SRS3.0的版本,那么checkout就是帮你做这件事情的。
我们可以通过 git branch -a 看到SRS对应的版本有哪些。
cd trunk
git branch -a
我们可以看到目前SRS支持您切换的版本有好多,看官网的说明,3.0, 4.0, 5.0 都是稳定的版本。
3.我们切换到remotes/origin/3.0release 这个版本
官网的说明如下:如果是3.0的功能,更新代码后要改变到3.0分支:
注意的是git pull 可能会链接不上网络,因为你不会翻墙,当git pull 链接不上网络的时候,可以直接git checkout 3.0release
git pull && git checkout 3.0release
也可以直接命名您的当前branch 为3.0,实际上也是从remotes/origin/3.0release上获得的
git checkout -b 3.0 remotes/origin/3.0release
我们再次看一下 git branch