1
FFmpeg的选择与下载
选择合适的版本
首先,访问FFmpeg官方下载页面(https://ffmpeg.org/download.html),在这里可以找到最新的稳定版或 nightly 构建版本。对于大多数常规用途,推荐下载预编译的Windows静态版本,它不需要额外的库支持即可运行。
下载ZIP文件
在官方下载页面中找到适用于Windows系统的版本链接,并直接下载压缩包,如果追求更高的效率和最新特性,也可以下载预编译的FFmpeg完整二进制包。
Releases:https://github.com/BtbN/FFmpeg-Builds/releases
复制bin文件夹的位置D:\Software\ffmpeg-master-latest-win64-gpl-shared\bin
右键点击"此电脑"或"计算机",选择"属性" -> "高级系统设置" -> "环境变量"。
在"系统变量"区域中找到"Path"变量,点击"编辑"
2 下载 nginx 以及 rtmp 插件
windos 可以通过 https://github.com/illuspas/nginx-rtmp-win32下载
3 nginx.conf 修改
java
rtmp {
server {
listen 1935; # RTMP监听端口,默认为1935
chunk_size 4096;
application live {
live on;
record off;
# 示例推流地址:rtmp://localhost:1935/live/mystream
}
}
}
4 视频转直播流
打开终端:
taskkill /f /im nginx.exe 关闭nginx
start nginx 开启nginx
netstat -ano | findstr :1935 1935没有被占用
ffmpeg -re -i output.mp4 -c copy -f flv rtmp://localhost:1935/live/mystream (mystream是自定义名称)
-re参数表示以实际时间速率读取输入文件。-i output.mp4指定要推送的视频文件。-c copy表示复制流而无需重新编码,提高效率。-f flv指定输出格式为FLV,适应RTMP协议。- 推送地址
rtmp://localhost:1935/live/mystream应与Nginx配置中的应用及流名称匹配。
ffmpeg -re -stream_loop -1 -i wfj.mp4 -c copy -f flv rtmp://localhost:1935/live/mywfj
ffmpeg -re -stream_loop -1 -i wfj.mp4 -c:v libx264 -c:a aac -f flv rtmp://localhost:1935/live/mywfj
这是持续循环 的命令
5 如果报错
两个原因
1 电脑防火墙拦截 需要打开所有防火墙
2 成功后突然断开 是电脑太卡或者网络不好
6 验证
下载VLC软件
媒体-媒体-打开网络串流-输入 rtmp://localhost:1935/live/mywfj
localhost 如果在局域网中访问 可以替换为自身的
视频转 rtsp:
安装rtsp-simple-server
安装rtsp服务器,可以去这个链接
ffmpeg -re -stream_loop -1 -i wfj.mp4 -c:v libx264 -c:a aac -f rtsp rtsp://localhost:8554/stream