开发时偶尔需要使用rtmp直播流做视频流测试,苦于网上开源的rtmp视频流都已经失效,无奈只好尝试在本地自己搭建一个rtmp的推流服务,方便测试使用。
做rtmp推流服务的nginx需要包含有rtmp模块,官方的Nignx中没有包含rtmp模块,需要自行下载rtmp模块并安装编译。上面的Nginx版本已经包含了rtmp模块,无需自己重新编译。
rtmp {
server {
listen 1935;
application live { // live是推流路径的名字
live on;
}
}
}
start nginx.exe
// 1.启动
start nginx.exe
nginx.exe // 这种会让cmd窗口一直处于执行中,不能进行其他命令操作
// 2.停止
nginx.exe -s stop // 快速停止nginx,可能不保存相关信息;
nginx.exe -s quit // quit是完整有序的停止nginx,并保存相关信息
// 3.重新载入Nginx
nginx.exe -s reload
// 4.重新打开日志文件
nginx.exe -s reopen
// 5.查看Nginx版本
nginx.exe -v
ffmpeg -re -stream_loop -1 -i .\test.mp4 -vcodec libx264 -acodec aac -f flv rtmp://127.0.0.1:1935/live/hls
rtmp://127.0.0.1:1935/live/hls
由于是本地推流,拉流地址中的127.0.0.1也可以使用localhost代替。可能偶尔会出现拉流在播放但是黑屏的情况,此时可以停掉批处理的推流服务,重新推流试试。重开后拉流播放器也需要重新拉流。