树莓派 —— 搭建nginx - rtmp流服务

本文介绍了在树莓派上搭建nginx-rtmp流服务的步骤,包括安装依赖、配置、解决编译问题、配置nginx服务、测试点播与推拉流,以及设置开机自启nginx服务。
背景

     今天如往常一样,打开树莓派继续向阿里云推流测试,发现欠费了!可不能耽误测试呀,于是在树莓派上搭建了nginx的rtmp服务来继续使用。

     

搭建

     1、安装依赖包

sudo apt-get install build-essential libpcre3 libpcre3-dev libssl-dev

     2、下载nginx和nginx-rtmp-module源码

wget http://nginx.org/download/nginx-1.10.3.tar.gz

git clone https://github.com/arut/nginx-rtmp-module.git

tar -zxvf nginx-xxx.tar.gz

// 进入nginx源码解压目录
cd nginx-xxx.tar

     3、配置

// 在nginx源码解压目录下创建extra文件夹并将nginx-rtmp-module目录移动到extra目录下
mkdir extra
mv ../nginx-rtmp-module ./extra

// 配置
./configure --with-http_ssl_module --add-module=./extra/nginx-rtmp-module

     配置期间遇到的错误解决:

          1、./configure: error: the HTTP rewrite module requires the PCRE library.

               解决: sudo apt-get install libpcre3 libpcre3-dev

          2、缺少ssl相关支持
               解决:sudo apt-get install libssl-dev



     4、编译

make -j4

// 默认安装目录/usr/local/nginx
sudo make install

     编译期间遇到的错误解决:

          1、error: this statement may fall through [-Werror=implicit-fallthrough=] h ^= data[2] << 16;

               解决: sudo nano objs/Makefile 后, 将 -Werror 删除。再次编译即可。



     5、配置nginx服务

          nginx配置文件在/usr/local/nginx/conf目录下,配置rtmp server功能需要修改该目录下nginx.conf文件,打开该文件在末尾追加如下内容。

# rtmp server
rtmp 
{
	server 
	{
		listen 1935;
		chunk_size 4096;
		
		# live用于直播
		application live 
		{
			live  on;
			record off;
		}
		
		# vod用于点播
		application vod 
		{
			play /home/pi/jxd/nginx/pushVideo;
		}
	}
}



     6、开启服务,并测试点播与推拉流

sudo /usr/local/nginx/sbin/nginx

          1、点播测试

/home/pi/jxd/nginx/pushVideo文件夹下放一个text.mp4文件。
然后拉流:rtmp://192.168.3.9/vod/test.mp4 即可完成点播。


          2、推拉流测试

// 推拉流地址
rtmp://当前ip/live			例如:rtmp://192.168.8.100/live



     7、配置开机自启nginx服务

          创建"/usr/lib/systemd/system/nginx.service"文件并写入内容

[Unit]												# 服务的说明
Description=nginx									# 描述服务
After=network.target								# 描述服务类别
  
[Service]											# 服务运行参数
Type=forking										# forking后台运行形式
ExecStart=/usr/local/nginx/sbin/nginx				# 运行命令(要求使用绝对路径)
ExecReload=/usr/local/nginx/sbin/nginx -s reload	# 重启命令(要求使用绝对路径)
ExecStop=/usr/local/nginx/sbin/nginx -s quit		# 停止命令(要求使用绝对路径)
PrivateTmp=true										# True表示给服务分配独立的临时空间
  
[Install]											# 运行级别下服务安装的相关设置。可设置为多用户,即系统运行级别为3
WantedBy=multi-user.target


          上述配置好后,在终端以管理员权限运行下面的第一个开机自启动指令即可。

设置开机自启动:			systemctl enable nginx.service

查看nginx状态:			systemctl status nginx.service

重启服务器:				reboot

再次连接后,查看服务状态: 	systemctl status nginx.service

(参考文章)

     

关注

笔者 - jxd

微信公众号搜索 “码农总动员” 或 微信扫描下方二维码,了解更多你不知道的XX,O(∩_∩)O

在这里插入图片描述

评论 6
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

信必诺

嗨,支持下哥们呗。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值