環(huán)境
- 系統(tǒng):win10
- 播放器:potplayer
- 服務(wù)器:nginx
nginx服務(wù)
- 開啟nginx服務(wù)
nginx.exe -c conf\nginx-win-rtmp.conf
- 停止nginx服務(wù)
nginx -s stop
記得停止服務(wù) 如果不停止就又運(yùn)行開啟命令讲冠,會(huì)報(bào)錯(cuò)
點(diǎn)播
-
需要修改conf\nginx-win-rtmp.conf文件瓜客,修改的部分如圖 路徑用的是相對路徑,直接在nginx.exe的同級目錄下添加了一個(gè)video目錄竿开,并把點(diǎn)播文件放到這里
重新開啟nginx服務(wù)谱仪,在 ip地址/stat 界面可以看到變化
- 在點(diǎn)播目錄下放置一個(gè)mp4文件,直接使用potplayer拉流
rtmp://ip地址:1935/vod/orange.mp4
成功德迹,并且可以拖動(dòng)滑動(dòng)條,使用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
推流過程中報(bào)錯(cuò) - 把-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的時(shí)間 - 去除-f 和-vcodec重新嘗試將yuv文件轉(zhuǎn)化為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的時(shí)間拉流如果加上-qp 0 參數(shù)揭芍,點(diǎn)播就不會(huì)成功
測試4k視頻
視頻信息:4k 8bit 120fps
文件太大胳搞,拉流失敗
其他
ffplay播放yuv文件命令
ffplay -f rawvideo -video_size 1920x1080 a.yuv
從服務(wù)器下載yuv文件命令
scp lss@服務(wù)器ip地址:/storage/wpt2/4Kvideo/HDvideo/Beauty_1920x1080_120fps_420_8bit_YUV.yuv D:\\Work\\rtmp\\video
遺留問題
ffmpeg幾個(gè)參數(shù)的作用,有的參數(shù)似乎會(huì)沖突
參考文章
- 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