Rtmp轉m3u8視頻切片系統及方法
【技術領域】
[0001]本發明涉及視頻數據傳輸及播放技術領域,尤其涉及一種RTMP轉M3U8視頻切片系統及方法。
【背景技術】
[0002]傳統的視頻監控系統是一種模擬視頻監控系統,模擬視頻監控系統是由監控終端和電視墻組成,在模擬視頻監控系統中,前端的攝像頭通過視頻電纜將模擬視頻信號發送給矩陣監控主機,矩陣監控主機再將收到的模擬視頻信號輸送到主控室的電視墻上,供用戶監控,但這種監控系統存在明顯的缺陷,如布點受線路限制、布點工程量大、布點工程周期長而缺乏移動性。性能單一,查看不方便。
[0003]另外,在這種傳統的視頻監控系統中,采集的原是視頻數據是存儲在攝像頭的存儲設備中,或者與監控主機連接的存儲設備上。這樣的結構,特別是在攝像頭的數量較多或者需要長時間的拍攝監控視頻的情況下,存儲的數據受到存儲設備空間大小的影響,從而降低了監控視頻數據保存的時間。
[0004]此外,現在已經出現了一種利用系統網絡將監控數據上傳至別處的服務器,并能從服務器上下載該視頻數據的視頻監控系統。但是這種系統不支持跨終端系統的獲取,即,不能兼容安卓系統與蘋果操作系統。
【發明內容】
[0005]本發明的目的在于克服上述現有技術的不足,提供了一種RTMP轉M3U8視頻切片系統,該系統能夠將攝像頭采集的數據通過Internet網絡上傳至網絡上的RTMP服務器或者M3U8服務器,同時能夠允許不同操作系統的移動終端從RTMP服務器或者M3U8服務器上獲取監控視頻。
[0006]本發明提供的RTMP轉M3U8視頻切片系統是這樣實現的:一種RTMP轉M3U8視頻切片系統,包括:Internet網絡;分別與所述Internet網絡連接的監控視頻推送端、Web服務器以及RTMP服務器;M3U8服務器,連接至所述RTMP服務器。
[0007]其中,所述監控視頻推送端采集現場視頻信息,將所述現場視頻信息實時轉換成FLV流格式,并將所述FLV流格式通過Internet網絡上傳至所述RTMP服務器;所述RTMP服務器接收、保存所述的FLV流格式數據,并將所述FLV流格式數據進行Ts切片處理,轉換成M3U8的Ts視頻切片數據,所述RTMP服務器將所述Ts視頻切片數據發送至所述M3U8服務器;所述M3U8服務器記錄所述Ts視頻切片數據。
[0008]其中,所述Web服務器中記錄有所述監控視頻推送端連接至所述Internet網絡上傳視頻信息的身份驗證信息;當所述監控視頻推送終端上由外部輸入的身份驗證信息與所述Web服務器中記錄的身份驗證信息相同時,所述監控視頻推送系統允許接入所述Internet 網絡。
[0009]其中,所述監控視頻推送端包括:攝像頭,用于采集現場視頻信息;視頻硬盤錄像機,將所述攝像頭采集的視頻信息進行編碼并存儲視頻錄像;視頻發布端,用于接收視頻硬盤錄像機輸出的視頻流數據,并將所述視頻流數據解碼編碼成FLV流格式數據并發送。
[0010]其中,所述RTMP服務器包括:FLV數據接收模塊,用于實時接收監控視頻推送端上傳的FLV流格式數據;
FLV緩存模塊,與所述FLV數據接收模塊連接,用于實時緩存所述FLV流格式數據以進行實時轉發;
FLV存儲模塊,與所述FLV數據緩存模塊連接,用于存儲所述FLV流格式數據以待上傳結束后的播放;
FLV數據通信模塊,與所述FLV數據存儲模塊連接,用于將所述FLV存儲模塊中存儲的FLV流格式通過無線通信的方式發送;
FLV數據處理模塊,與所述FLV數據存儲模塊連接,用于將所述FLV流格式數據轉換成所述Ts視頻切片數據;
Ts數據轉發模塊,與所述FLV數據處理模塊連接,用于將Ts視頻切片數據進行實時轉發。
[0011 ] 其中,所述M3U8服務器包括:Ts數據接收模塊,用于接收所述RTMP服務器轉換的Ts視頻切片數據;
Ts數據存儲模塊,與所述Ts數據接收模塊連接,用于存儲所述Ts視頻切片數據;
Ts數據通信模塊,與所述Ts數據存儲模塊連接,用于將存儲在所述Ts視頻存儲模塊中的Ts視頻切片數據通過無線通信方式發送。
[0012]本發明提供的RTMP轉M3U8視頻切片系統能夠將獲取的原始監控視頻數據經過基本數據變換,轉化成FLV流格式數據通過Internet網絡上傳至所述RTMP服務器,其中,所述RTMP服務器能夠將所述FLV流格式數據進行視頻切片后發送至所述M3U8服務器中保存。外部移動設備可以通過網絡訪問本發明的RTMP服務器或者M3U8服務器,分別選擇自身移動設備支持的服務器上下載或者瀏覽監控視頻數據,例如,安卓系統從RTMP服務器上瀏覽或下載FLV流格式數據進行播放;而蘋果系統從M3U8服務器上瀏覽或者下載Ts視頻切片數據進行播放。
[0013]本發明同時還提供一種RTMP轉M3U8視頻切片方法,該方法能夠將存儲在RTMP服務器中的FLV視頻數據轉換成適合蘋果系統播放的M3U8格式的Ts視頻切片數據。所述的Ts視頻切片數據存儲在M3U8服務器中。
[0014]本發明提供的RTMP轉M3U8視頻切片方法是這樣實現的:一種RTMP轉M3U8視頻切片方法,包括以下步驟:
步驟I)監控視頻推送端連接至所述Internet網絡;
步驟2)所述監控視頻推送端通過Internet網絡發送FLV流格式數據至RTMP服務器; 步驟3)所述RTMP服務器接收并存儲所述FLV流格式數據;
步驟4)所述RTMP服務器對存儲的所述FLV流格式數據進行Ts切片處理,并將處理后的Ts視頻切片數據發送至所述M3U8服務器;
步驟5)所述M3U8服務器接收所述Ts視頻切片數據并存儲。
[0015]其中,步驟I)中所述監控視頻推送端接入所述Internet網絡時需要進行身份驗證,包括:所述Web服務器上存儲有身份驗證信息,當所述監控視頻推送終端上由外部輸入的身份驗證信息與所述Web服務器中記錄的身份驗證信息相同時,所述監控視頻推送系統被允許接入所述Internet網絡。
[0016]其中,所述步驟2)包括以下步驟:
步驟2.1)攝像頭采集現場視頻信息;
步驟2.2)視頻硬盤錄像機將所述攝像頭采集的視頻信息進行編碼并存儲;
步驟2.3)視頻發布端接收視頻硬盤錄像機輸出的視頻信息流,并將所述的視頻信息流編碼成FLV流格式數據,采用RTMP網絡協議將所述FLV流格式數據發送給RTMP服務器。
[0017]其中,所述步驟3)中所述RTMP服務器通過無線通信方式發送所述FLV流格式數據;所述步驟5)中所述M3U8服務器通過無線通信方式發送所述Ts視頻切片數據。
[0018]本發明提供的RTMP轉M3U8視頻切片方法將獲取的監控視頻數據上傳至網絡服務器的同時將監控視頻數據進行了兩種格式的分開存儲,其中,首先將原始監控視頻數據轉換成支持安卓系統播放的FLV流格式數據,然后將該FLV流格式數據按照RTMP協議發送至RTMP服務器;所述RTMP服務器對FLV流格式數據進行Ts視頻切片形成支持蘋果系統播放的Ts視頻切片數據,并將該Ts視頻切片數據存儲在所述M3U8服務器中。本發明利用上述的方法能夠滿足不同系統的移動終端對存儲在網絡上的監控視頻數據的瀏覽、存儲及調用。
[0019]
【附圖說明】
[0020]為了更清楚地說明本發明的技術方案,下面將對實施方式中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施方式,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以從這些附圖獲得其他的附圖。
[00