1、环境搭建
1.1、FFmpeg、Nginx服务器和rtsp-simple-server下载
- FFmpeg、Nginx服务器下载参考链接:Windows搭建RTMP视频流服务(Nginx服务器版)_rtmp windows-CSDN博客
- rtsp-simple-server下载参考链接:FFMEPG推流视频及VLC拉流视频教程_视频推流服务器搭建-CSDN博客
- FFmpeg、Nginx服务器、rtsp-simple-server打包下载链接:百度网盘 请输入提取码
- 提取码:lx8e
2、运行rtsp-simpls-server.exe
打开上文下载的文件夹,点击rtsp-simpls-server.exe运行,弹出允许访问网络弹窗,点击允许
成功运行界面如下
3、运行Nginx服务器
按下WIN+R,输入cmd,进入cmd命令界面,在此界面中进入nginx_1.7.11.3文件夹目录下,输入以下命令
start nginx
停止Nginx服务器命令
taskkill /f /im nginx.exe
4、实现推流
新建一个cmd命令窗口,进入ffmpeg文件夹目录,并将视频文件放入该文件夹下,输入以下命令
ffmpeg -re -stream_loop -1 -i 测试视频.mp4 -c copy -f flv rtmp://127.0.0.1:1935/live/test
成功推流结果如下
5、利用ffplay或VLC拉流
5.1 ffplay拉流
新建cmd窗口,再次进入到ffmpeg文件夹目录,输入以下命令
ffplay rtmp://127.0.0.1:1935/live/test
成功拉流截图如下
5.2 VLC拉流
VLC.exe分享链接:https://pan.baidu.com/s/1jr3mBnC1IV4Q7fNN8tdlJg?pwd=2wny
提取码:2wny
按照VLC.exe指引安装即可,安装位置可选在c盘以外的盘。
安装完成后,点击VLC桌面快捷方式,进入操作界面后,点击媒体,进入打开网络串流
在框中输入
rtmp://127.0.0.1:1935/live/test
点击播放,即可成功拉流
6、利用代码实现视频推流及拉流
6.1 利用Anaconda创建虚拟环境,并激活该环境(yourname可自定义)
conda create --name yourname python=3.8
conda activate yourname
6.2 环境配置
- 将ffmpeg文件夹下的文件,均移入D:\anaconda\envs\yourname\Library\bin文件夹下(yourname为上一步创建的环境名字)
- 在此文件夹下双击rtsp-simpls-server.exe文件,运行rtsp-simpls-server。按照3中同样的方式运行Nginx服务器
6.3 推流代码
import subprocess
video_path = "D:/Opencv454Binarylib/opencv/sources/samples/data/output.mp4"
rtmp_url = "rtmp://127.0.0.1:1935/live/test"
ffmpeg_command = [
'ffmpeg',
'-re',
'-stream_loop', '-1',
'-i', video_path,
'-c', 'copy',
'-f', 'flv',
rtmp_url
]
ffmpeg_process = subprocess.Popen(ffmpeg_command)
ffmpeg_process.wait()
ffmpeg_process.terminate()
其中video_path与rtmp_url分别为数据地址、推流地址,可进行更换
6.4 拉流代码
import subprocess
rtmp_url = "rtmp://127.0.0.1:1935/live/test"
ffplay_command = [
'ffplay',
rtmp_url
]
ffplay_process = subprocess.Popen(ffplay_command)
ffplay_process.wait()
ffplay_process.terminate()
同样rtmp_url可更换
参考链接: