通过nginx-rtmp server进行视频流转发的几种方法

本文介绍了通过nginx-rtmp server进行视频流接收、转推的方法,包括直接转推、ffmpeg处理后转推以及结合opencv进行人脸识别的转推方式。实验中提到了使用vlc播放视频流,以及在不同场景下nginx.conf的配置细节。
摘要由CSDN通过智能技术生成

1.接收流:

在需要接收流的节点上进行类似以下的配置:

	application live{
		live on;
	
	}

只要有这一项,就可以通过在浏览器等位置输入下面这个url来点播了

rtmp://127.0.0.1:1935/live

可以使用vlc播放视频流

下载vlc:

sudo apt install vlc

2.转推流:

a.直接转推:

#在application live上收到流后直接用push命令转推给下一个节点
	application live{
		live on;
		push rtmp://10.10.3.2/live;
	}

b.ffmpeg处理一下之后转推:

需要先安装ffmpeg:

sudo apt install ffmpeg

然后转推:

这里的转推是live收到流后先用ffmpeg处理完 发给另一个application sendout

然后在sendout里push出去给下一个节点

application live{
		live on;
		exec ffmpeg -re -i rtmp://localhost:1935/live/mystream -vcodec flv -acodec copy -s 32x32 -f flv rtmp://localhost:1935/sendout/mystream;
	}
	application sendout{
		live on;
		push rtmp://10.10.3.2/live;
		
	}

c.opencv读取然后进行人脸识别然后使用python脚本转推:

先理解一下只收流不转推:

import cv2
#从远端rtmp server的play下记录的视频文件中拉取流的方式:
#这个和下面的从live里拉流的方式二选一
vid_capture=cv2.VideoCapture("rtmp://远端ip:1935/play/friends.mp4")
#从本地rtmp server的live application中拉取流的方式(live是本地server收流的application)
#可以在live application收流的过程中开始拉
#可以在live application收到流之前拉(不知道太久行不
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值