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

相关推荐
程序员老陆6 小时前
说一说FFmpeg6在Linux平台的编译
linux·运维·服务器·ffmpeg
用户518186005668 小时前
FFmpeg 剪辑:为什么 `-c copy` 往往做不到帧准确剪切
ffmpeg
福大大架构师每日一题9 小时前
mediamtx v1.19.3正式发布:认证安全、WebRTC跨域、MoQ稳定性、RTSP与HLS全面升级
安全·ffmpeg·webrtc
cpp_learner1 天前
FFmpeg 解复用全流程解析
ffmpeg
程序员老陆1 天前
FFmpeg时间基相关函数大杂烩
ffmpeg·时间基·timebase
程序员老陆2 天前
FFmpeg libswresample 模块的关键函数swr_convert 到底在干嘛?
ffmpeg·音视频·格式转换·音频重采样
海兰2 天前
ffmpeg-wasm 完整安装指南(Ubuntu 24.04)
ubuntu·ffmpeg·wasm
≮傷£≯√3 天前
QT配置FFmpeg
开发语言·qt·ffmpeg
Everbrilliant893 天前
Android FFmpeg 实战:从基础到播放器的完整技术解析
android·ffmpeg·ffmepg实战·音视频同步实现·ffmpegpractices·ffmpegpractice·opengl 视频渲染
苏灿烤鱼4 天前
从微信公众号内容到视频号视频:自动化视频生成的技术实现
人工智能·python·ffmpeg