RTMP是flash player從視頻服務器接收視頻的一種TCP協(xié)議。adobe公司已經(jīng)公布了rtmp協(xié)議的大部分內容,雖然還有一些細節(jié)未公開,不過對于我們自己開發(fā)一個rtmp服務器已經(jīng)足夠了,即使不開放,很多開源的項目已經(jīng)把協(xié)議的很多細節(jié)搞清楚了。
目前很多視頻監(jiān)控系統(tǒng)前端設備都是IP攝像頭,而這些攝像頭視頻格式大部分都是MPEG4/h.264格式,最新的flash player對于這兩種格式都支持。所以把IP攝像頭的音視頻數(shù)據(jù)接收然后發(fā)送給rtmp服務器,rtmp服務器再按照rtmp協(xié)議打包轉發(fā)給flash player,就能實現(xiàn)在flash player中播放IP攝像頭的音視頻了。
越來越多的視頻監(jiān)控系統(tǒng)都有B/S的頁面,這能極大方便方便用戶的使用。然而大部分B/S頁面中的視頻顯示部分都是采用ACTIVEX控件的方式從服務器獲取音視頻,這又大大降低用戶使用的方便性了。有以下缺點:
1. activex控件需要下載,首次瀏覽這個頁面的時候會比較慢。
2. 使用activex控件需要權限,默認的IE瀏覽器會彈出提示框安裝,并且如果activex控件未通過微軟的數(shù)字簽名的話,IE瀏覽器也是不讓安裝的,需要設置IE瀏覽器的安全級別,才能安裝。普通用戶操作起來會很麻煩。
3. activex控件只能在IE核心的瀏覽器上使用,無法支持chrome、firefox等瀏覽器,而IE市場份額越來越小,已經(jīng)跌至50%以下。使用activex控件的方式會強迫用戶使用IE瀏覽器,用戶體驗不好,更直接cancel掉了非windows操作系統(tǒng)用戶訪問監(jiān)控系統(tǒng)的權力。
相反,RTMP流媒體協(xié)議有以下優(yōu)點:
1. 90%以上電腦上都安裝有flash player,可以不用下載,直接觀看監(jiān)控系統(tǒng)的音視頻。chrome更是內置了flash player。跟操作系統(tǒng)無關,只要安裝了flash player的系統(tǒng)都能觀看。
2. 沒有權限要求,直接看。
3. 支持直播、點播(對應視頻監(jiān)控的記錄回放)
當然RTMP協(xié)議也有一些局限,RTMP基于TCP協(xié)議,而TCP協(xié)議實時性不如UDP,也占用帶寬。adobe公司開發(fā)的基于UDP的RTMFP協(xié)議能很好的解決這些問題,rtmfp協(xié)議未公開,不過網(wǎng)上也有些資料,相信不久就能真相大白。