使用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

相关推荐
AIGC小尼8 小时前
MiniMax-H3 8G 显存 AI 漫剧进阶实战|ComfyUI 命令行调参、角色锁定与 FFmpeg 批量脚本全解析
人工智能·ffmpeg·comfyui·ai漫剧
物极必反102416 小时前
QT使用FFMpeg编译安卓程序.md
qt·ffmpeg·安卓
胡家伟++17 小时前
从一段经文到 5 分半水墨动画短片:全 AI 流水线完整实录(即梦 + TTS 克隆 + ffmpeg + 思维链重构)
人工智能·ffmpeg·aigc
allnlei1 天前
Opus In-Band FEC 详解:原理、实现与开源方案
ffmpeg·音视频·gstreamer
VidDown2 天前
从一堆脚本到能维护的系统:视频处理管道的工程化
服务器·ffmpeg·音视频·视频编解码
FlightYe2 天前
视界原理之2D视频(二):视频文件里有什么
android·linux·网络·c++·ffmpeg·音视频·aac
可乐鸡翅yeah_2 天前
hls.js 切换多个视频源,新手开发常见踩坑
开发语言·前端·javascript·ios·ffmpeg·音视频·safari
程序员老陆2 天前
FFmpeg 日志级别深度解析:从 AV_LOG_ERROR 到 AV_LOG_TRACE 的完整指南
ffmpeg·音视频
用户2181697049303 天前
FFmpeg (一)使用opencv实现马赛克
ffmpeg
cpp_learner3 天前
FFmpeg RTSP播放时钟实现揭秘
ffmpeg