EasyDarwin+FFmpeg实现本地音视频推流
作者:互联网
所需
- EasyDarwin 用作流媒体转发服务器
- FFmpeg 用于转码及推流
步骤
1、 安装 EasyDarwin,下载地址
2、 解压后如图:
有两种方法运行
(1) 运行 EasyDarwin.exe,这样会弹出一个窗口,关闭窗口服务端就停止了
(2) 运行 ServiceInstall-EasyDarwin.exe,作为后台服务安装启动,将一直常驻,可运行 ServiceUninstall-EasyDarwin.exe 卸载(推荐这种)
3、 安装 FFmpeg,下载地址,点进去东西很多,让人眼花缭乱,找到需要的版本,下载完解压即可
4、 将 FFmpeg 添加到环境变量,此电脑—右键—属性—高级系统设置—环境变量—系统变量—找到 Path 的变量名—编辑—添加 FFmpeg 目录,注意要指定到 bin 目录
5、 推流脚本
(1) pushRTSP.bat 用于视频文件推流
@echo off
@REM (1,1,X) 修改第三个X值表示要推几路流
@REM -re 以视频原始帧率发送
@REM -stream_loop -1表示无限循环
@REM -i 设定输入视频
for /L %%i in (1,1,8) do (
start ffmpeg -re -stream_loop -1 -i %1 -vcodec copy -acodec copy -rtsp_transport tcp -f rtsp rtsp://127.0.0.1:554/%%i
)
(2) transcode.bat 将其它格式视频转码为 h264 裸流,若要转为 h265,将命令中的两处 x264 改成 x265 即可
@echo off
@REM -an: 去掉音频
@REM -vn: 去掉视频
@REM -acodec: 设定音频的编码器,未设定时则使用与输入流相同的编解码器,音频解复用一般后面加copy表示拷贝
@REM -vcodec: 设定视频的编码器,未设定时则使用与输入流相同的编解码器,视频解复用一般后面加copy表示拷贝
@REM -f: 输出格式(视频转码)若不指定则从文件后缀名推断 -f h264
@REM -bf: B帧数目控制
@REM -i: 设定输入流
@REM -r: 设置视频频率(FPS)
@REM -y: 输出时覆盖输出目录已存在的同名文件
@REM keyint: 关键帧最大间隔
@REM min-keyint: 关键帧最小间隔
ffmpeg -i %1 -vcodec libx264 -bf 0 -r 15 -x264-params "keyint=30:min-keyint=30" -an -y %~n1.out
复制上面代码保存成脚本文件,文件后缀名为.bat
脚本的使用方法很简单,将视频文件拖拽到脚本上执行即可
6、 在浏览器打开 http://localhost:10008/#/ 可查看转发服务器的推流列表
标签:视频,设定,FFmpeg,音视频,REM,EasyDarwin,推流 来源: https://blog.csdn.net/suwk1009/article/details/122862730