rtsp->rtmp 推流直播 Plan B


上篇文章我們談到使用 EasyDarwin 推流后 前端HTML播放器 播放無畫面的情況,找了各種播放器都服務正常解決,但使用VLC卻能正常播放的問題,我們嘗試了很久最后另辟蹊徑,找到 nginx安裝rtmp模塊后 使用FFmpeg往 nginx推流 的解決方案

帶有 rtmp 模塊的 nginx 下載地址 https://github.com/illuspas/nginx-rtmp-win32

下載后將兩個工具放在同一個目錄下,如下圖

image

1:打開 FFmpeg 目錄 雙擊 ffmpeg.exe 先運行(注意啟動先后順序)

image

2:打開 nginx-rtmp-win32-master 雙擊 nginx.exe 運行

image

3:打開 nginx 目錄下的 conf 文件夾下面的 nginx.conf 文件 我們看到 http server在監聽 8089 端口 rtmp 播放端口為 1935

image

4:我們再瀏覽器里面輸入 http://localhost:8089/ 訪問出現如下界面(注意這里使用360瀏覽器默認有flash插件)

image

這個是 nginx-rtmp-win32-master 自帶的rtmp測試工具,有直播測試器、安卓端和IOS端的 sdk

5:我們需要先使用命令行工具,讓 FFmpeg 拉取海康攝像頭視頻流往 nginx 推,這樣才可以在此 rtmp測試器里面播放,首先打開cmd命令行窗口,進入 ffmpeg的根目錄

image

然后執行如下命令

ffmpeg -i "rtsp://admin:Aa123456@10.24.18.3:554/Streaming/Channels/101" -f flv -r 20 -s 510x440 -an rtmp://localhost:1935/live/3

6:出現如下命令說明ffmpeg拉取視頻流和推視頻流已成功運行

image

7:在測試播放器 的 player address 中輸入命令行中的播放地址 rtmp://localhost:1935/live/3 點擊播放,就能看到右側出現視頻畫面

image

8:最后我們將啟動命令編輯成 bat腳本,便可以一次性啟動多個視頻直播流,像這樣

image

實測 6核 8G 服務器 推二十個無壓力。,后續我們可以將此命令做成 winform 或者 服務 后台運行,這樣就可以直接從數據庫中配置。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM