一種高清視頻實時點播和歷史回放的方法及系統的制作方法
【技術領域】
[0001]本發明涉及視頻監控技術領域,特別是一種高清視頻實時點播和歷史回放的方法及系統。
【背景技術】
[0002]為了便于本發明的描述,首先給出以下名詞解釋:
SIP:全稱Sess1n Initiat1n Protocol,會話發起協議,用于創建、修改和終止包括視頻、語音、即時通信、在線游戲和虛擬現實等多種多媒體元素在內的交互式用戶會話。
[0003]RTSP:全稱 Real Time Streaming Protocol,實時流傳輸協議。
[0004]RTP:全稱 Real-time Transport Protocol,實時傳輸協議。
[0005]SDP:全稱Sess1n Descript1n Protocol,會話描述協議,可以為會話通知、會話邀請和其它形式的多媒體會話初始化等目的提供多媒體會話描述。
[0006]隨著科學技術的發展和人們日常生產和生活方式的改變,安防監控在維護社會治安穩定方面起著越來越重要的作用。目前的視頻服務器一般只支持RTSP傳輸協議,RTSP傳輸協議對網絡延時容忍度較高,對時間同步的要求較低,可以較好地進行視頻傳輸。而目前國家安防領域提出的安全防范視頻監控聯網系統提出通過SIP協議進行系統內各設備間的信息傳輸和控制,由于目前技術中視頻服務器只支持RTSP傳輸協議,無法支持基于SIP協議的客戶端,導致SIP協議的客戶端無法實現高清視頻的點播和回放功能,反過來也大大地限制了視頻服務器的應用范圍,而且也不利于更好地進行安全監控。
【發明內容】
[0007]為了解決上述的技術問題,本發明的目的是提供一種高清視頻實時點播和歷史回放的方法。本發明的另一目的是提供一種高清視頻實時點播和歷史回放的系統。
[0008]本發明解決其技術問題所采用的技術方案是:
一種高清視頻實時點播和歷史回放的方法,包括:
步驟1、視頻服務器接收客戶端發送的連接請求;
步驟2、判斷用戶池是否已滿,若未滿,則判斷接收到的連接請求是基于SIP協議還是RTSP協議,進而對客戶端發送鑒權請求,反之拒絕連接請求,斷開與該客戶端的連接;
步驟3、接收客戶端返回的鑒權信息后進行鑒權,判斷客戶端是否通過鑒權,若是,則注冊該用戶,與客戶端建立連接,進而進行相應的視頻點播或歷史回放操作,反之斷開與該客戶端的連接;
步驟4、根據網絡質量狀態,自適應地調整視頻幀率、碼率,或者從主碼流切換到子碼流;
步驟5、與客戶端斷開連接后,注銷該用戶并回收用戶槽。
[0009]進一步,所述步驟2中所述判斷接收到的連接請求是基于SIP協議還是RTSP協議,進而對客戶端發送鑒權請求的步驟,其具體為: 判斷接收到的連接請求是基于SIP協議還是RTSP協議,若是RTSP協議,則告知客戶端視頻服務器所支持的RTSP請求類型,并對客戶端發送鑒權請求,反之若是基于SIP協議,則直接對客戶端發送鑒權請求。
[0010]進一步,所述步驟3中所述鑒權信息包括用戶名及登陸密碼,所述接收客戶端返回的鑒權信息后進行鑒權,判斷客戶端是否通過鑒權的步驟,其具體為:
接收客戶端返回的鑒權信息后,采用MD5哈希算法對鑒權信息中的登陸密碼進行運算,進而判斷獲得的運算值與文件系統中存儲的與該鑒權信息的用戶名所對應的MD5值是否一致,若是,則表示鑒權通過,反之表示鑒權不通過。
[0011]進一步,所述步驟3中所述進行相應的視頻點播的步驟,包括RTSP客戶端點播步驟和SIP客戶端點播步驟,所述RTSP客戶端點播步驟,包括:
531、RTSP客戶端發送獲取媒體初始化描述信息的請求;
532、視頻服務器接收到RTSP客戶端的請求后,向RTSP客戶端發送響應消息和SDP會話信息,所述SDP會話信息包括會話連接信息以及媒體流通道描述信息;
533、RTSP客戶端接收響應消息和SDP會話消息后,對SDP會話消息中的媒體流發送連接請求;
534、視頻服務器回復響應消息,與RTSP客戶端建立會話;
535、RTSP客戶端發送請求實時點播媒體流的點播請求;
536、視頻服務器接收到點播請求后,實時地從共享內存中提取媒體流并對其進行RTP打包后發送給客戶端,同時實時地采集并向共享內存內寫入媒體流數據;
537、RTSP客戶端接收到視頻服務器發送的媒體流數據后進行解碼播放;
所述SIP客戶端點播步驟,包括:
S4USIP客戶端發送攜帶第一 SDP信息的請求,請求建立會話連接,所述第一 SDP信息包括SIP客戶端的IP地址、端口號以及所請求的媒體流信息;
542、視頻服務器接收到SIP客戶端的請求后,向SIP客戶端發送響應消息和第二SDP信息,所述第二 SDP信息包括媒體流的IP地址、端口號以及媒體格式;
543、SIP客戶端接收到響應消息和第二SDP信息后,發送攜帶所接收的響應消息的確認請求,與視頻服務器建立會話;
544、視頻服務器接收到確認請求后,實時地從共享內存中提取媒體流并對其進行RTP打包后發送給客戶端,同時實時地采集并向共享內存內寫入媒體流數據;
545、SIP客戶端接收到視頻服務器發送的媒體流數據后進行解碼播放。
[0012]進一步,所述步驟3中所述進行相應的歷史回放操作的步驟,包括RTSP客戶端請求回放歷史視頻的步驟以及SIP客戶端請求回放歷史視頻的步驟,所述RTSP客戶端請求回放歷史視頻的步驟,包括:
551、RTSP客戶端發送獲取媒體初始化描述信息的請求;
552、視頻服務器接收到RTSP客戶端的請求后,向RTSP客戶端發送響應消息和SDP會話信息,所述SDP會話信息包括會話連接信息以及媒體流通道描述信息;
553、RTSP客戶端接收響應消息和SDP會話消息后,對SDP會話消息中的媒體流發送連接請求;
554、視頻服務器回復響應消息,與RTSP客戶端建立會話; 555、RTSP客戶端向視頻服務器發送請求進行歷史回放控制的回放請求;所述回放控制包括視頻暫停、播放、快放、慢放和隨機拖動播放中的一項或多項;
556、視頻服務器接收到回放請求后,實時地從本地硬盤中讀取封裝后的媒體流并結合回放請求對媒體流進行RTP打包后發送給RTSP客戶端;
557、RTSP客戶端接收到視頻服務器發送的媒體流后進行解碼播放;
所述SIP客戶端請求回放歷史視頻的步驟,包括:
S6USIP客戶端發送攜帶第三SDP信息的請求,請求建立會話連接,所述第三SDP信息包括回放的開始與結束時間以及SIP客戶端的IP地址、端口號和所請求的媒體流信息;
562、視頻服務器接收到SIP客戶端的請求后,向SIP客戶端發送響應消息和第四SDP信息,所述第四SDP信息包括媒體流的IP地址、端口號以及媒體格式;
563、SIP客戶端接收到響應消息和第四SDP信息后,發送攜帶所接收的響應消息的確認請求,與視頻服務器建立會話;
564、視頻服務器接收到確認請求后,實時地判斷是否接收到SIP客戶端發送的進行歷史回放控制的RTSP請求信息,若是,則實時從本地硬盤中讀取封裝后的媒體流并結合RTSP請求信息對媒體流進行RTP打包后發送給SIP客戶端,反之實時從本地硬盤中讀取封裝后的媒體流并對其進行RTP打包后發送給SIP客戶端;
565、SIP客戶端接收到視頻服務器發送的媒體流后進行解碼播放。
[0013]本發明解決其技術問題所采用的另一技術方案是:
一種高清視頻實時點播和歷史回放的系統,包括視頻服務器、SIP客戶端及RTSP客戶端,所述視頻服務器包括音視頻采集模塊、音視頻編碼模塊、本地存儲模塊及網絡傳輸模塊,所述音視頻采集模塊的輸出端與音視頻編碼模塊的輸入端連接,所述音視頻編碼模塊的輸出端分別與本地存儲模塊的輸入端和網絡傳輸模塊的第一輸入端連接,所述本地存儲模塊的輸出端與網絡傳輸模塊的第二輸入端連接,所述網絡傳輸模塊分別與SIP客戶端及RTSP客戶端連接。
[0014]進一步,所述音視頻采集模塊支持2路HDMI高清視頻輸入接口、4路8BIT HD-SDI視頻輸入接口、2路16BIT HD-SDI視頻輸入接口、I路MIC音頻輸入接口和I路LINE音頻輸入接口,所述音視頻采集模塊支持的最高分視頻辨率為1080P60。
[0015]進一步,所述音視頻編碼模塊采用視頻分辨率為1080P的主碼流技術和視頻分辨率為CIF的子碼流技術,所述音視頻編碼模塊支持H264、MEPG4視頻編碼以及G711、G726、G729和AAC音頻編碼,支持H264、MEPG4視頻編碼,以及G711、G726、G729和AAC音頻編碼,所述音視頻編碼模塊將編碼后的音視頻數據通過共享內存傳遞到網絡傳輸模塊。
[0016]進一步,所述