windows环境下ffmepg推流视频及拉流

1、环境搭建

1.1、FFmpeg、Nginx服务器和rtsp-simple-server下载

  1. FFmpeg、Nginx服务器下载参考链接:Windows搭建RTMP视频流服务(Nginx服务器版)_rtmp windows-CSDN博客
  2. rtsp-simple-server下载参考链接:FFMEPG推流视频及VLC拉流视频教程_视频推流服务器搭建-CSDN博客
  3. FFmpeg、Nginx服务器、rtsp-simple-server打包下载链接:百度网盘 请输入提取码
  4. 提取码: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 环境配置

  1. 将ffmpeg文件夹下的文件,均移入D:\anaconda\envs\yourname\Library\bin文件夹下(yourname为上一步创建的环境名字)
  2. 在此文件夹下双击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可更换

参考链接:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值