之前写过一篇《搭建自己的直播服务器(nginx + RTMP)》,后来发现一个更简单的直播服务器SRS(Simple-RTMP-Server),还是国人开发维护的,了解一下之后发现,还支持在Raspberry Pi上跑起来。想起我那尘封的Raspberry Pi,我就打算用它做成一个内网的直播服务器,这样就不用经常在PC上开启一个CentOS 7 虚拟机。
1 | 搭建环境: |
附上raspbian各个版本的下载列表https://downloads.raspberrypi.org/raspbian/images/
注意:如果Raspberry Pi 硬件型号和我的是一样的,建议用wheezy,不要用最新版本的,之前心想既然打开尘封的Raspberry Pi,那就跑些新东西吧,装上最新系统后,结果折腾了两天SRS2.0 怎么也跑不起来,或许版本兼容问题。
开始前需要一些准备
切换源
将Raspberry Pi 的软件源切换为国内,加速软件下载
在Raspberry Pi的国内源中,我推荐中科大的
先备份一下文件
1 | sudo cp /etc/apt/sources.list /etc/apt/backup_sources.list |
然后修改文件
1 | sudo nano /etc/apt/sources.list |
用什么编辑器,看个人习惯了
将文件内容删除或者全注释,换成以下内容(这里以wheezy为例,新版的可以看参考里的中科大帮助文档)
1 | deb http://mirrors.ustc.edu.cn/raspbian/raspbian/ wheezy main contrib non-free rpi |
同时还可以修改另外一个软件源,虽然不是必要的,但是还是修改吧
1 | # 先备份 |
将文件内容删除或者全注释,换成以下内容(这里以wheezy为例)
1 | deb http://mirrors.ustc.edu.cn/archive.raspberrypi.org/debian/ wheezy main |
修改保存后执行sudo apt-get update
和sudo aptitude update
,进行更新
安装需要的工具
更新后就要安装需要的工具,Raspberry Pi本身就包含编译SRS的大部分工具了,这里需要两个打包工具
1 | sudo aptitude install lsb_release |
zip
好像自带了,lsb_release
可能需要更新几次才能安装成功。这两个都是后续编译打包SRS需要的。
如果试了几次
sudo aptitude install lsb_release
都安装不了可以试试这样
1.apt-cache search lsb
搜索一下
2.sudo apt-get install lsb-release
尝试通过APT安装。
SRS的编译与打包
下载SRS源码
通过git将SRS下载到Raspberry Pi上
1 | git clone https://github.com/ossrs/srs.git |
开始编译SRS
1 | # 进入trunk文件夹 |
由于Raspberry Pi的硬件性能,所以编译的时间会比较漫长。
package.sh
包含了编译和打包两个操作
如果不想打包编译,也可以只编译
1 | # 编译SRS |
解包安装
生成的包位置:srs/trunk/objs/SRS-RaspberryPi7-armv6l-2.0.243.zip
1 | # install: 方法 |
SRS的运行
安装好后可以通过以下方式运行SRS
1 | # srs的命令 /etc/init.d/srs {start|stop|status|restart|reload} |
SRS 配置
如果只是编译源码而不是打包,SRS的配置就像前面./objs/srs -c conf/srs.conf
,通过指定不同的.conf 文件配置
而如果像我这样,打包成二进制文件,那就通过修改/etc/init.d/srs
中的CONFIG
的值改变配置
还可以修改/usr/local/srs/conf/
里的srs.conf
也可以修改
1 | ## /etc/init.d/srs 中的部分内容 |
推流与拉流
我采用OBS Studio进行推流,VLC 拉流测试
OBS Studio 配置
我这里是采用内网进行直播的推流和拉流
VLC 拉流观看
通过VLC打开直播
效果拉流效果
参考
Performance benchmark for SRS on RaspberryPi