使用ffmpeg本地发布rtmp/rtsp直播流

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服务器,可以去这个链接

rtsp-simple-server

ffmpeg -re -stream_loop -1 -i wfj.mp4 -c:v libx264 -c:a aac -f rtsp rtsp://localhost:8554/stream

相关推荐
刘广睿1 天前
断点续传与分片下载是怎么实现的?Range 请求在视频下载中的工程实践
okhttp·ffmpeg·音视频·下载·python3.11
IvanCodes2 天前
FFmpeg安装与使用教程
ffmpeg
betazhou5 天前
mysql shell8.4.10+mysql 8.4.10搭建MySQL replicaset主从
数据库·mysql·ffmpeg·replicaset·mysql shell
VidDown6 天前
# VP9 还是 H.265?一次压缩选型翻车后的复盘
ffmpeg·音视频·h.265·视频编解码·视频·vp9
heqingchun166 天前
RK3568 交叉编译与部署:MPP + FFmpeg 硬解全流程
ffmpeg·视频编解码
云贝贝贝7 天前
OceanBase 生产运维 7 个高频现场:从连不上到误删兜底
运维·ffmpeg·oceanbase
≮傷£≯√7 天前
ffmpeg 2个图片合并为视频
ffmpeg·音视频
zone_z10 天前
07 · 等待事件与 OWI 方法:从 OSW 到 BUG 的完整破案实录
linux·数据库·oracle·ffmpeg·bug·troubleshooting
'20611 天前
**写了个自动整理下载视频的脚本:按片名归档、自动重命名、生成目录索引
开发语言·python·ffmpeg·音视频·cctv
殷忆枫11 天前
嵌入式Linux下基于FFmpeg实现MP4解码为JPG图片(SSD202D交叉编译实战)
linux·运维·ffmpeg