999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于RTMP協議的橋梁視頻監控關鍵技術研究

2020-12-07 08:45:44崔營營劉洋劉志強
物聯網技術 2020年11期

崔營營 劉洋 劉志強

摘 要:文中針對視頻監控信號對網絡帶寬要求高,難以通過公網遠程傳輸等問題,提出了基于RTMP協議的實時視頻遠程傳輸解決方案,通過開發視頻轉換軟件將橋梁現場視頻信號轉換為RTMP碼流,并將其推流至云平臺端搭建的Nginx流媒體服務器上。客戶端通過開發Web端和安卓移動視頻播放軟件,實現了橋梁視頻監控信息的跨平臺展示應用,提升了橋梁安全的實時監管能力。

關鍵詞:RTMP協議;流媒體;Nginx服務器;Web;編碼技術;視頻監控

中圖分類號:TP206文獻標識碼:A文章編號:2095-1302(2020)11-00-03

0 引 言

近年來,隨著我國交通基礎設施建設的跨越式發展,各類跨江跨海大橋建立的健康監測系統逐漸成為保障橋梁安全的重要手段。視頻監控憑借技術成熟,監測方式直觀可靠等優點已成為橋梁健康監測系統的標配。但視頻信號相較數字類監測信號對網絡帶寬要求較高,常出現卡頓、掉幀等問題。同時考慮橋梁現場惡劣的工況及數據安全要求,導致目前只能采用高速光纖專網實現視頻信號的局域網傳輸,大大限制了網絡傳輸距離和應用范圍。

本文提出了一種基于RTMP(Real Time Messaging Protocol,RTMP)協議的視頻監控數據遠程傳輸方案,在不改變橋梁監測系統網絡架構的基礎上,實現了視頻監控信號的遠程傳輸和多平臺展示應用[1-2]。

1 編碼協議簡介

1.1 RTMP協議

RTMP協議是一種進行實時數據通信的網絡協議,主要用來在支持Flash/AIR平臺和支持RTMP協議的流媒體服務器之間進行音視頻數據通信[3-4]。

RTMP協議是建立在TCP協議之上的應用層協議,其數據包由一個固定長度的包頭和最大長度為128 B的包體組成。RTMP協議數據包格式如圖1所示。

協議包頭中MessageType為消息類型,PayloadLength為報文長度,TimeStamp為消息時間戳,StreamID為視頻流ID。協議包體主要由基本消息頭(ChunkBasicHeader)、負載消息頭(ChunkMessageHeader)、擴展時間戳(ExtendedTimeStamp)和消息塊數據(ChunkData)組成。

為保證在低網絡帶寬下視頻流的傳輸,在RTMP協議下視頻消息塊被拆分為若干個小的數據塊,各數據塊通過ChunkMessageHeader消息頭可重新組裝成完整的消息塊。數據采集端將視頻流分割成較小的數據塊后以TCP協議發送至服務器端,客戶端獲取服務器端數據塊后重新將其組裝成完整的視頻消息塊,實現視頻流的流暢播放,從而解決了低帶寬情況下的視頻延遲和卡頓問題。

1.2 H.264編碼技術

H.264是當前一種主流的視頻壓縮編碼標準。與H.261,H.263等視頻編碼標準相比,H.264協議采用DCT變換編碼加DPCM差分編碼,并融合了運動估計、多幀預測、基于內容的變長編碼等先進技術,使其編碼壓縮效率大幅提升,進而有效提升視頻質量及其網絡適應能力。

H.264協議為解決不同應用中網絡傳輸的差異問題,在架構層面定義了兩個層級。

(1)視頻編碼層(VCL):通過視頻信息的編碼,實現視頻內容的高效展示;

(2)網絡提取層(NAL):判斷當前網絡環境,并采用相應的提取算法打包和傳輸視頻數據。

H.264編碼架構如圖2所示。

2 總體技術路線

本文結合以往項目經驗,提出基于RTMP協議的視頻監控信號的遠程傳輸方案,總體技術路線如下:

(1)橋梁現場視頻攝像機將采集的原始視頻流數據通過光纖內網傳輸到監控中心的視頻處理服務器;

(2)自主開發RTMP碼流轉換軟件并將其部署在視頻處理服務器上,將橋梁現場傳輸的原始視頻信號轉換為RTMP碼流,并通過加密公網將RTMP信號推流至具有公網IP的云服務器端;

(3)在云服務器端部署并配置Nginx流媒體服務Server端,實現RTMP視頻數據的中繼轉換功能;

(4)在客戶端開發基于Web端和安卓移動端的視頻播放軟件,從Nginx服務器獲取并展示視頻信號,實現橋梁視頻監控信息的實時展示[5-6]。

RTMP視頻監控網絡架構如圖3所示。

3 關鍵技術研究

3.1 RTMP碼流轉換開發

目前主流的RTMP碼流轉換方法是采用FFmpeg將RTSP視頻信號轉換為RTMP流媒體信號,但FFmpeg存在丟包率高、多路信號傳輸支持性差等缺點。

經過多方比選驗證,本文最終采用EasyRTMP直播組件進行二次開發,該組件集成了RTMP基本協議與異步推送、環形緩沖區、網絡擁塞自動丟幀、事件回調、緩沖器、關鍵幀檢索等功能,可兼容市面上大部分RTMP流媒體服務器。

EasyRTSP直播組件具有Windows,ARM,Linux等不同跨平臺版本[7-8]。實際開發中采用C++語言引用EasyRTSPClient.dll類庫編寫視頻流接收及RTMP轉換功能,其代碼邏輯流程如圖4所示。

本模塊通過RTSPSourceCallback回調函數不斷監聽視頻數據,當監聽到數據類型為EASY_SDK_VIDEO_FRAME_FLAG時,啟動RTMP碼流轉換代碼塊,其處理核心邏輯代碼如下:

if(_mediatype== EASY_SDK_VIDEO_FRAME_FLAG)

{

pChannel->fPusherInfo.rtmpHandle= EasyRTMP_Create();

//創建RTMP句柄對象

EasyRTMP_SetCallback(pChannel->fPusherInfo.rtmpHandle,__EasyRTMP_Callback, pChannel);//設置RTMP回調函數

EasyRTMP_Connect(pChannel->fPusherInfo.rtmpHandle, pChannel->fCfgInfo.destRtmpAddr);//連接目標主機

mediaInfo.u32VideoFps=pChannel->fMediainfo.u32VideoFps;

mediaInfo.u32VideoCodec = frameinfo->codec;

mediaInfo.u32VideoFps = frameinfo->fps;

EasyRTMP_InitMetadata(pChannel->fPusherInfo.rtmpHandle, &mediaInfo, 1024);//初始化RTMP元數據

EASY_AV_Frame avFrame;

memset(&avFrame, 0, sizeof(EASY_AV_Frame));

//視頻幀大小

avFrame.u32AVFrameFlag = EASY_SDK_VIDEO_FRAME_FLAG;

avFrame.u32AVFrameLen = frameinfo->length;//視頻長度賦值

avFrame.pBuffer = (unsigned char*)pbuf;//視頻幀內容

avFrame.u32VFrameType = EASY_SDK_VIDEO_FRAME_I;

EasyRTMP_SendPacket(pChannel->fPusherInfo.rtmpHandle, &avFrame);//RTMP視頻流發送目標主機

}

按照以上代碼邏輯編寫軟件程序并封裝成后臺Windows服務,實現了多路視頻信號由RTSP協議到RTMP協議解析轉碼,并通過公網將轉換后的視頻信號推流至云端的Nginx流媒體服務器。

3.2 Nginx流媒體服務器搭建

Nginx是一種高性能的Http和反向代理服務器,通過Nginx可搭建支持RTMP協議的流媒體服務平臺,其設計難點在于如何在網絡帶寬有限的情況下盡量減少數據延遲和數據丟幀。

Nginx通過RTMP模塊提供服務,本方案采用阿里云ECS云服務器作為運行環境,操作系統為Windows Server 2012,其配置Nginx流媒體服務關鍵步驟如下:

(1)通過命令編譯并安裝Nginx依賴包gcc;

(2)下載并通過命令安裝第三方擴展模塊nginx-rtmp-module,使Nginx能夠支持RTMP和HLS協議;

(3)下載并安裝nginx_mod_h264_streaming模塊,使Nginx支持FLV和MP4流播放功能;

(4)修改nginx.conf配置文件,將nginx-rtmp-module添加到配置文件中。

核心配置信息如下:

# vim nginx.conf

rtmp {

server {

listen 1935;//監聽的端口號

application myapp {//自定義的名字

live on;

}

application hls {

live on;

hls on;

hls_path /tmp/hls;

hls_fragment 1s;

hls_playlist_length 3s;

}

}

}

# /etc/init.d/nginx reload

3.3 客戶端視頻播放開發

Nginx流媒體服務搭建完成后,客戶端可通過拉流獲取并播放視頻。本文設計Web端和安卓移動端兩種客戶端播放展示方式,如不支持HTML5則自動切換至Flash播放器。

目前主流的網絡視頻播放器架構包含UI界面、多媒體引擎和解碼器三個部分。UI界面主要實現播放界面的風格、UI組件及業務邏輯模塊控制。多媒體引擎包含媒體源管理引擎和網絡管理引擎,主要實現網絡傳輸及多媒體傳輸控制。解碼器部分包含解碼器和渲染器兩部分,為播放器的內核。網絡視頻播放器架構如圖5所示。

為實現Web端視頻播放器的去插件化,需要借助HTML5技術,通過采用Media Source Extension API接口實現基于Web的無插件式流媒體播放功能。

實際開發中,Web平臺前端視頻播放界面選擇開源類庫video.js,它能夠自動檢測瀏覽器對HTML5的支持情況,若瀏覽器不支持HTML5則自動使用Flash播放視頻,滿足系統對于多種瀏覽器的兼容性需求。Web端視頻播放界面如圖6所示。

安卓移動端采用開源視頻播放器ijkplayer,該播放器包含先進的音視頻編解碼庫libavcodec,能夠實現完整的視頻錄制、轉換以及流媒體播放等功能。安卓移動端視頻監控APP界面如圖7所示。

4 結 語

本文針對橋梁健康監測系統采集的視頻監控信號對網絡帶寬要求高,難以通過公網遠距離傳輸的問題,提出了基于RTMP協議的視頻遠程傳輸方案。

橋梁現場通過開發并部署基于RTMP協議的碼流轉換軟件,將原始視頻信號轉換為RTMP碼流并推送至云服務器端。

云服務器端通過搭建Nginx流媒體服務接收轉換橋梁現場推送的RTMP碼流,并為客戶端提供拉流服務,同時還具有緩存中繼和公網轉發功能。

實際應用中采用Web網頁端和安卓端兩種方式獲取并展示視頻監控信息,實現了橋梁視頻監控信號的跨平臺展示應用,大大提升了橋梁安全的實時監管能力。

參考文獻

[1]王艷.Android系統中RTMP流媒體直播的設計與實現[J]. 電視技術,2017,41(1):64-67.

[2]張印.基于RTMP協議的流媒體系統的設計實現[D]. 成都:電子科技大學,2016.

[3]吳楊.基于RTMP協議的實時視頻監控系統的設計與實現[D].杭州:浙江工業大學,2017.

[4]吳楊.基于SIP、RTP/RTCP和RTSP協議的視頻監控系統[J].計算機與現代化,2013,29(11):139-142.

[5]隗超,張偉,石瀾.基于Nginx負載均衡及多線程智慧農業系統的設計[J].物聯網技術,2017,7(4):110-111.

[6]葉鋒,傅燕云,陳林芳,等. 基于多協議融合的實時移動視頻監控系統[J].計算機系統應用,2015,25(4):80-85.

[7]孫曉波,王榮浩,季新年,等.基于Web視頻監控系統的設計方案[J].電腦編程技巧與維護,2011,18(2):61-62.

[8]方旭昌.基于H.264的無線視頻采集系統[D].杭州:杭州電子科技大學,2013.

[9]馬丹丹.基于RTMP協議的視頻流媒體服務器部分關鍵技術研究與實現[D].南京:南京航空航天大學,2012.

[10]許磊.基于RTMP協議的智能監控系統的設計與實現[D].廣州:廣東工業大學,2017.

主站蜘蛛池模板: 精品国产欧美精品v| 人妻精品全国免费视频| 亚亚洲乱码一二三四区| 黄色一及毛片| 欧美激情伊人| 久久黄色一级视频| 国产国产人成免费视频77777| 日韩午夜片| 在线国产资源| 日本精品αv中文字幕| 亚洲人成色在线观看| 亚洲欧洲天堂色AV| 久草视频中文| 精品精品国产高清A毛片| 欧美日韩精品一区二区在线线| 久久中文无码精品| 日本成人在线不卡视频| 日韩无码黄色| 国产系列在线| 亚洲国产精品一区二区第一页免| 找国产毛片看| 欧美一级夜夜爽www| 国产欧美日韩精品综合在线| 麻豆精品在线播放| 日本AⅤ精品一区二区三区日| 国产夜色视频| 欧美性精品| 久青草国产高清在线视频| 国产国模一区二区三区四区| 免费欧美一级| 久久精品中文无码资源站| 夜夜操国产| 无码专区国产精品第一页| 2021精品国产自在现线看| 国产在线97| 国产va免费精品观看| 992tv国产人成在线观看| 57pao国产成视频免费播放| 99re精彩视频| 日韩精品一区二区三区免费在线观看| 黄色网在线| 久久综合九色综合97网| 国产亚洲欧美日韩在线一区二区三区| 深爱婷婷激情网| 亚洲综合香蕉| 亚洲综合中文字幕国产精品欧美| 久久网欧美| 日韩免费视频播播| 香蕉蕉亚亚洲aav综合| 国产嫩草在线观看| 亚洲精品另类| 欧美人与牲动交a欧美精品 | 少妇精品久久久一区二区三区| 国产精品福利在线观看无码卡| 91麻豆精品国产高清在线| 91po国产在线精品免费观看| 91麻豆精品视频| 在线看AV天堂| 国产理论精品| 无码专区在线观看| 亚洲中字无码AV电影在线观看| 亚洲一区二区在线无码| 久久一级电影| a毛片在线播放| 99久久国产精品无码| 四虎影视无码永久免费观看| 操操操综合网| 97在线公开视频| 日韩黄色在线| 一本二本三本不卡无码| 亚洲第一黄片大全| 无码网站免费观看| 亚洲av综合网| 99热这里只有成人精品国产| 色偷偷一区二区三区| 亚洲人在线| 亚洲一区无码在线| 一级毛片免费观看不卡视频| 丁香婷婷久久| 无码人妻热线精品视频| 一本大道视频精品人妻| 香蕉eeww99国产在线观看|