环境
- 系统:win10
- 播放器:potplayer
- 服务器:nginx
nginx服务
- 开启nginx服务
nginx.exe -c conf\nginx-win-rtmp.conf
- 停止nginx服务
nginx -s stop
记得停止服务 如果不停止就又运行开启命令,会报错
点播
-
需要修改conf\nginx-win-rtmp.conf文件,修改的部分如图 路径用的是相对路径,直接在nginx.exe的同级目录下添加了一个video目录,并把点播文件放到这里
image.png
重新开启nginx服务,在 ip地址/stat 界面可以看到变化
- 在点播目录下放置一个mp4文件,直接使用potplayer拉流
rtmp://ip地址:1935/vod/orange.mp4
成功,并且可以拖动滑动条,使用ffplay拉流同样成功
ffmpeg mp4文件模拟直播推流
mp4 1280x720 24fps
ffmpeg -re -i orange.mp4 -vcodec libx264 -acodec aac -f flv rtmp://ip地址:1935/live/home
播放器拉流
- 打开potplayer
- 右键->打开->打开链接
- 地址输入
rtmp://ip地址:1935/live/home
使用ffplay 拉流
ffplay -i rtmp://ip地址:1935/live/home1
感觉ffplay比potplayer加载的快 成功率也更高
ffmpeg yuv文件推流
yuv文件信息:50fps 4k 8bit
- 推流命令:
ffmpeg -re -s 3840x2160 -pix_fmt yuv420p -i y.yuv -vcodec libx264 -acodec aac -f flv rtmp://192.168.10.101:1935/live/home
推流过程中报错 - 把-f rawvideo 换成-pix_fmt yuv420p 该命令
ffmpeg -re -pix_fmt yuv420p -s 1920x1080 -r 120 -i Beauty_1920x1080_120fps_420_8bit_YUV.yuv -vcodec h264 -acodec aac -f flv rtmp://ip地址:1935/liveApp/home
可以成功! 拉流大概需要28s的时间 - 去除-f 和-vcodec重新尝试将yuv文件转化为mp4/flv然后再推流
ffmpeg -pix_fmt yuv420p -s 1920x1080 -r 120 -i Beauty_1920x1080_120fps_420_8bit_YUV.yuv -c:v libx264 Beauty_1920x1080_120fps_420_8bit_YUV_noqp.flv
推流成功 ,并且<=1s的时间拉流如果加上-qp 0 参数,点播就不会成功
测试4k视频
视频信息:4k 8bit 120fps
文件太大,拉流失败
其他
ffplay播放yuv文件命令
ffplay -f rawvideo -video_size 1920x1080 a.yuv
从服务器下载yuv文件命令
scp lss@服务器ip地址:/storage/wpt2/4Kvideo/HDvideo/Beauty_1920x1080_120fps_420_8bit_YUV.yuv D:\\Work\\rtmp\\video
遗留问题
ffmpeg几个参数的作用,有的参数似乎会冲突
参考文章
- win10推流+rtmp:https://blog.csdn.net/qq_32381727/article/details/81078213?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param
- nginx命令:https://www.cnblogs.com/net666/p/10195447.html
网友评论