在树莓派(Raspberry Pi)上运行SRS(Simple-RTMP-Server)

之前写过一篇《搭建自己的直播服务器(nginx + RTMP)》,后来发现一个更简单的直播服务器SRS(Simple-RTMP-Server),还是国人开发维护的,了解一下之后发现,还支持在Raspberry Pi上跑起来。想起我那尘封的Raspberry Pi,我就打算用它做成一个内网的直播服务器,这样就不用经常在PC上开启一个CentOS 7 虚拟机。

搭建环境:
主机:Raspberry Pi B型(第一代国产红版)
系统:2015-05-05-raspbian-wheezy
直播服务器:SRS 2.0
直播软件(推流):OBS Studio
播放软件(拉流):VLC
复制代码

附上raspbian各个版本的下载列表downloads.raspberrypi.org/raspbian/im…

注意:如果Raspberry Pi 硬件型号和我的是一样的,建议用wheezy,不要用最新版本的,之前心想既然打开尘封的Raspberry Pi,那就跑些新东西吧,装上最新系统后,结果折腾了两天SRS2.0 怎么也跑不起来,或许版本兼容问题。

开始前需要一些准备

切换源

将Raspberry Pi 的软件源切换为国内,加速软件下载 在Raspberry Pi的国内源中,我推荐中科大的

先备份一下文件

sudo cp /etc/apt/sources.list /etc/apt/backup_sources.list
复制代码

然后修改文件

sudo nano /etc/apt/sources.list
复制代码

用什么编辑器,看个人习惯了

将文件内容删除或者全注释,换成以下内容(这里以wheezy为例,新版的可以看参考里的中科大帮助文档)

deb http://mirrors.ustc.edu.cn/raspbian/raspbian/ wheezy main contrib non-free rpi
deb-src http://mirrors.ustc.edu.cn/raspbian/raspbian/ wheezy main contrib non-free rpi
复制代码

同时还可以修改另外一个软件源,虽然不是必要的,但是还是修改吧

# 先备份
sudo cp /etc/apt/sources.list.d/raspi.list /etc/apt/sources.list.d/raspi.list.backup
# 再修改
sudo nano /etc/apt/sources.list.d/raspi.list
复制代码

将文件内容删除或者全注释,换成以下内容(这里以wheezy为例)

deb http://mirrors.ustc.edu.cn/archive.raspberrypi.org/debian/ wheezy main
deb-src http://mirrors.ustc.edu.cn/archive.raspberrypi.org/debian/ wheezy main
复制代码

修改保存后执行sudo apt-get updatesudo aptitude update,进行更新

安装需要的工具

更新后就要安装需要的工具,Raspberry Pi本身就包含编译SRS的大部分工具了,这里需要两个打包工具

sudo aptitude install lsb_release
sudo aptitude install zip
复制代码

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上

git clone https://github.com/ossrs/srs.git
复制代码
开始编译SRS
# 进入trunk文件夹
cd srs/trunk
# 编译并打包SRS
./scripts/package.sh --pi
复制代码

由于Raspberry Pi的硬件性能,所以编译的时间会比较漫长。

package.sh包含了编译和打包两个操作

如果不想打包编译,也可以只编译

# 编译SRS
./configure --pi && make 
# 运行SRS
./objs/srs -c conf/srs.conf
复制代码
解包安装

生成的包位置:srs/trunk/objs/SRS-RaspberryPi7-armv6l-2.0.243.zip

# install: 方法
unzip -q SRS-RaspberryPi7-armv6l-2.0.243.zip
cd SRS-RaspberryPi7-armv6l-2.0.243
sudo bash INSTALL
复制代码
SRS的运行

安装好后可以通过以下方式运行SRS

# srs的命令 /etc/init.d/srs {start|stop|status|restart|reload}
# 启动SRS
sudo /etc/init.d/srs start
# 停止SRS
sudo /etc/init.d/srs stop

复制代码
SRS 配置

如果只是编译源码而不是打包,SRS的配置就像前面./objs/srs -c conf/srs.conf,通过指定不同的.conf 文件配置

而如果像我这样,打包成二进制文件,那就通过修改/etc/init.d/srs中的CONFIG的值改变配置

还可以修改/usr/local/srs/conf/里的srs.conf也可以修改

## /etc/init.d/srs 中的部分内容
# the config of ROOT, user must modify it when start srs from other directory,
# it's ok to use the script by command ./etc/init.d/ossrs
ROOT="/usr/local/srs"
APP="./objs/srs"
CONFIG="./conf/srs.conf"
DEFAULT_PID_FILE='./objs/srs.pid'
DEFAULT_LOG_FILE='./objs/srs.log'
复制代码

推流与拉流

我采用OBS Studio进行推流,VLC 拉流测试

OBS Studio 配置

我这里是采用内网进行直播的推流和拉流

VLC 拉流观看

通过VLC打开直播

效果拉流效果

参考

Performance benchmark for SRS on RaspberryPi

SRS for linux-arm (RaspberryPi篇)

中国科学技术大学Raspbian 源使用帮助

中国科学技术大学另一个Raspberry Pi 源使用帮助

lsb_release - Raspberry Pi Forums

转载于:https://juejin.im/post/5afa8e5c6fb9a07ab1115249

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值