將海康大華等網路攝像機RTSP流進行網頁Flash rtmp和H5 hls直播的技術方案
通過開源、開源社群,我們接觸了大大小小各行各業的直播需求形態,大多數使用者選擇了最省錢的一種方式:用自有的IPC攝像機做為視訊源,用企業自己的固定線路進行長時間不間斷的常態直播,省錢啊!
上面說到何種需求形態,尤其是在較大企業需要,如:石油、航天、安監、農業,他們有一個共同點,前期投入了大量的經費構建自己的專用網路,有固定IP,頻寬上下行足夠大,流量不用也是浪費,基於自身安全保密考慮,需要在自建的網路中建設直播方案;
要義:我有頻寬,我有伺服器,我有固定IP,我有攝像頭,我就想做自己的直播,不想用CDN!
技術實現方法
剝離業務需求,流媒體方面的業務需求基本就是:
-
RTSP流轉RTMP流進行RTMP/HLS直播;
此部分是功能的核心,如何能夠穩定、支援重連、低延時、時間戳均勻地進行RTMP、HLS直播,ffmpeg是開發者的首選,能夠相容絕大部分的RTSP流和高效的RTMP推流,而且能夠保持低延時,如果僅僅是用來做一個demo,那麼用ffmpeg的命令就能搞定,通過:ffmpeg -re -i rtsp://xxx -f flv rtmp://xxx,這種命令形式,推送效果很好,但是有一個缺點,就是ffmpeg.exe目前不帶自動斷線重連的功能,所以,ffmpeg.exe只能做為demo來用;
另一種方式就是基於ffmpeg或者EasyRTSPClient+EasyRTMP的二次開發功能,自己開發出支援重連的RTSP拉轉RTMP推的功能,這個方案我們在部落格《EasyRTMP實現將RTSP流轉換成RTMP流實現RTSP直播轉RTMP直播的功能》和《EasyRTMP+EasyRTSPClient實現的多路(支援斷線重連)RTSP轉RTMP直播推流工具》中已經詳細描述,ffmpeg來做的話,也將會是同樣的方法,對每一路的“RTSP轉RTMP”維護一個Session,每一個Session有一個ffmpeg拉流的RTSPSource和一個RTMP推流的RTMPSink,ffmpeg再維護RTSPSource的重連和RTMPSink的重連; -
外圍對這些RTSP輸入源與RTMP輸出源進行通道化的管理;
按照1中的描述,我們不但要做“RTSP轉RTMP”的功能,還要做一個外圍的有效的Source和Sink從配置、到修改、啟用/禁用、列表查詢等一系列的功能,這個功能其實就是類似NVR的通道管理的概念,而且通道管理還需要增加一些增值化的服務就更好了,比如:線上狀態、通道快照、是否啟用音訊、是否長時間拉流推流/還是有人看的時候再拉轉推,等等一系列的功能;
方案推薦
上面描述了這種業務需求的要義和解決方案,為自家開源團隊開發的產品打個廣告:EasyNVR,這個在之前的部落格中也已經詳細描述過一些應用的場景了《基於EasyNVR實現RTSP/Onvif監控攝像頭Web無外掛化直播監控》,EasyNVR在這一塊已經經過了很多使用者和應用場景的論證,對一般的企業級直播需求是完全能夠滿足的,而且還能對接到CDN,可以說是一款足夠“小而美”的應用產品!
EasyNVR 下載
EasyNVR專案下載地址:https://github.com/EasyDarwin/EasyNVR(內含使用文件和介面文件)
EasyNVR適用於各種網路場景中
EasyNVR適用的案例
基於EasyNVR實現了很多行業場景的直播需求,目前已經廣泛應用於石油油田、水利大壩、園區監控、幼兒園直播、景區直播:
上為一水利監控專案應用,EasyNVR伺服器一邊擁有內網訪問許可權,一邊擁有公網固定IP,採用的是方案1x
上為一施工工地網頁監控專案,採用的EasyNVR方案為1x
上為一幼兒園直播監控專案,面向家長進行幼兒園微信直播,採用的EasyNVR方案為1x
上為一園區監控網頁監控專案,採用的EasyNVR方案為1x
上為一施工工地網頁監控專案,採用的EasyNVR方案為1x
上為中石油地點網頁監控專案,採用的EasyNVR方案為2x
獲取更多資訊
相關文章
- 視訊技術詳解:RTMP H5 直播流技術解析H5
- LiveGBS流媒體平臺GB/T28181功能-獲取GB28181接入的海康大華宇視華為攝像頭硬體NVR裝置通道影片直播流地址HLS/HTTP-FLV/WS-FLV/WebRTC/RTMP/RTSPVRHTTPWeb
- RTSP網路攝像頭網頁無外掛直播視訊平臺EasyNVR自定義標題和CopyRight步驟網頁VR
- FFmpeg實現監控攝像頭的RTSP協議轉RTMP協議直播協議
- 直播協議詳解 RTMP、HLS、HTTP-FLV、WebRTC、RTSP協議HTTPWeb
- 海康威視攝像頭-chrome谷歌瀏覽器高版本區域網下海康攝像頭web網頁實時播放Chrome谷歌瀏覽器Web網頁
- 【硬體裝置】海康NVR硬碟錄影機接入海康RTSP攝像頭操作步驟VR硬碟
- 讀取多個(海康\大華)網路攝像頭的視訊流 (使用opencv-python),解決實時讀取延遲問題OpenCVPython
- iNeuOS工業互聯平臺,WEB組態(iNeuView)整合rtmp和websocket視訊元件,支援海康、大華等攝像頭實時顯示視訊WebView元件
- Windows11實現錄屏直播,H5頁面直播 HLS ,不依賴FlashWindowsH5
- HLS直播技術方案及踩過的坑
- Golang開源流媒體伺服器(RTMP/RTSP/HLS/FLV等協議)Golang伺服器協議
- centos下用ffmpeg推流宇視科技攝像頭rtsp流到前端播放(無flash)CentOS前端
- [SRS流媒體]RTMP/HLS 直播伺服器simple-rtmp-server安裝伺服器Server
- 智慧攝像機的網路安全如何保障?
- python利用ffmpeg進行rtmp推流直播Python
- 海康RTSP轉flv並實現h5頁面播放H5
- 網路攝像機-ISP基礎一
- 海康攝像頭在chrome瀏覽器下拉取rtmp流播放報錯:FLASH: rtmpconnectfailure解決辦法Chrome瀏覽器AI
- 詳解網路攝像機中的IR-CUT
- 多品牌攝像機影片平臺EasyCVR海康大華宇視影片平臺如何接入多樣化裝置VR
- 網路攝像機—影象壓縮方式—JPEG、MJPEG
- 白宮最新禁令:禁止政府採購華為海康大華等五家公司的裝置及技術
- ffmpeg+nginx將rtsp轉為rtmpNginx
- win10 2004怎樣新增網路攝像機_win10 2004新增網路攝像機步驟Win10
- 海康威視網路攝像頭,把電腦作為硬碟錄影機使用。方便別人方便自己。硬碟
- 配置Nginx以支援RTMP直播及HLS流播放Nginx
- vlc+flv.js 攝像頭 H5 直播JSH5
- 網路攝像機畫面卡頓的主要原因有哪些?
- RTMP視訊直播系統(PC網頁/微信小程式/播放器/流媒體)網頁微信小程式播放器
- 海康威視攝像機Java SDK拉流(二)開啟關閉實時預覽Java
- shodan秒破網路攝像頭
- Nginx+FFmpeg實現rtsp流轉hls流,在WEB通過H5 video實現視訊播放NginxWebH5IDE
- 1000個網路攝像頭如何組網?
- FFMPEG 抓RTSP流,推送RTMP至FMS伺服器伺服器
- nginx 轉發 rtmp 直播流Nginx
- Android 如何直播 RTMP 流Android
- 前端網路診斷技術方案前端