好久没写博客了,忙的没有这个心情。
项目碰到(可能)需要大家rtmp服务器,记录一下过程,方便以后自己(或者同事)查找。
1.服务器
参考:windows环境搭载 rtmp服务器(https://www.cnblogs.com/Leesttee/p/8193389.html)
下载nginx,用cmd运行,其他资料里面都是从源代码改善编译的,就这个最方便了,直接运行就行。
百度云:https://pan.baidu.com/s/1nuTYpwH
命令:nginx.exe -c conf\nginx-win-rtmp.conf
配置文件我也不改了。下一步。
发现一点,中文目录不行,启动会有问题
-------------------------------------------原创部分(不用看) Start----------------------------------------
任务管理器里面的三个nginx for Windows启动后,cmd窗口可以关闭,不影响。
但是那样的话nginx怎么关闭,手动关闭进程吗?好像是的。
麻烦,用命令:taskkill /f /t /im nginx.exe
写个bat文件放进去,stop.bat。
taskkill /f /t /im nginx.exe
pause
因为每次都要进入nginx-1.7.11.3-Gryphon目录,在启动,麻烦写了个bat文件,start-rtmp.bat。
nginx.exe -c conf\nginx-win-rtmp.conf
pause
合起来弄个restart-rtmp.bat
taskkill /f /t /im nginx.exe
nginx.exe -c conf\nginx-win-rtmp.conf
-------------------------------------------原创部分(不用看) End----------------------------------------
2.推流
参考:利用ffmpeg实现rtmp推流(https://www.jianshu.com/p/c141fc7881e7)
到官网下载,不是最大的Download按钮,要去找windows的release版本。
最终下到的是:ffmpeg-20190715-7cb4f8c-win64-static.zip
拷贝一个小视频到 bin目录里面,改名为a.mp4,cmd运行,命令:ffmpeg.exe -re -i a.mp4 -f flv rtmp://127.0.0.1:1935/live
上面的nginx-win-rtmp.conf里面的rtmp配置没动,也不需要密钥 最原始的状态
rtmp {
server {
listen 1935;
chunk_size 4000;
application live {
live on;
hls on;
hls_path /temp;
hls_fragment 5s;
}
}
}
现在知道了一个点是 这里的live是能改掉吧,改成什么,地址里面就是怎样的。
后面测试一下多个流怎么弄,先把最简单的原型弄完。
3.取流
下载vlc,使用上面的地址取流rtmp://127.0.0.1:1935/live,看到视频了。
这里要注意,要运行上面的推流指令,然后马上取流看视频,视频太小,流推完了,就看不到了。
不过也可以先让vlc取流,它会在那里等待,然后再推流,也能看到视频。
但是有时候看不到,有时候可以。而且有时候,先播放视频再看vlc也不行,vlc会卡在那里。
不知道什么原因。
总之,这里ffmpeg推完流量肯定是看不到视频了的。这个是对应直播这种实时推流,取流的应用吧。
推流完显示: