視頻編碼器的軟件功能主要包括視頻的編碼壓縮、與客戶端的連接、發送視頻流給客戶端、接收客戶端發送來的配置及控制命令、接收前端傳感器的信號狀態改變并更新服務器、對登錄連接的用戶進行認證、提供Web服務等。
聲明:部分內容及圖片來源于網絡,如有侵權請聯系刪除。
視頻編碼器的軟件一般包括如下幾個部分:操作系統、Web服務、CGI應用、編碼壓縮程序、網絡傳輸協議、視頻存儲管理等。
目前多數視頻編碼器的軟件系統采用嵌入式Linux作為操作系統平臺,在Linux系統中,軟件采用分層的體系結構,軟件系統構建在硬件系統之上,硬件系統在固件(Firmware]的支持下工作,系統的應用程序工作在用戶模式,而設備驅動程序則工作在內核模式。
1.嵌入式系統(Linux)
嵌入式視頻編碼器是一種集軟、 硬件于一體的設備,主要包括處理器、嵌入式操作系統及相華應用軟件。嵌入式操作系統是實時的、支持嵌入式系統應用的系統平臺,是嵌入式設備中查要的軟件部分,通常包括與硬件相關的底層驅動軟件、系統內核、設備驅動及通訊協議等,具體特點如下:
A、指令精簡,處理速度快。
B、調用速度快,系統數據多置于Flash緩存內。
C、性能穩定,嵌入式系統是一種集軟硬件于一體的可獨立工作的設備。
D、適合于大量的視頻數據應用。
E、實時性好,其軟件固態化,因而系統處理實時性好。
通常,在視頻編碼器系統中,Linux負責整個系統軟件的總體調度,Linux 系統通常包括如下兒個部分: Linux 內核[Kernel)、文件系統(Filesystem)、設備驅動和TCP/IP網絡協議棧等。
嵌入式系統需要通過各種硬件驅動程序來完成對各個外設的操作,在嵌入式軟件系統設計中,硬件設備驅動開發是一個重要的部分。由于嵌入式系統設計是針對特定場合和應用設計的,還須開發相應的網卡驅動、USB 驅動和對應的1/0控制瑞口驅動程序,這些驅動模塊和Linux中其他模塊共同構成了嵌入式系統的軟件運行平臺。
2.應用軟件
嵌入式視頻編碼器系統除了有相關的硬件平臺和軟件平臺外,還需要運行在平臺上面的各種應用程序,主要實現的功能包括Web服務、客戶連接認證、視頻流的發送、控制流的接收與余令執行、報警狀態檢測與響應、視頻內容分析、PTZ操作等。
Web服務:支持IE客戶訪問。
客戶認證:對請求連接的客戶進行認證,并反饋參數。
數據發送:將視頻流發送給客戶端并動態更新。
PTZ操作:接受PTZ指令并發送給串口,完成對云臺、鏡頭等設備的控制。
報警:對外部報警信號接收及做出相關動作響應。
VCA:視頻內容分析功能。
3.編碼壓縮
編碼壓縮工作主要完成對采集、數字化的視頻圖像的編碼壓縮。對采集到的圖像數據進行壓縮可以有兩種方案,一種是用硬件來壓縮, 另一種壓縮方法就是用軟件來實現。
MPEG-4壓縮方式是目前種主流的編碼方法。而H.264是更先進的方法,與其他壓縮編碼方式比較,利用H.264標準可以獲得更高的壓縮比及更好的圖像質量。
4.網絡傳輸
目前網絡上數據的傳輸主要采用TCP和UDP協議。TCP協議能提供有序、可靠的服務,但是一旦數據丟失會帶來嚴重的延遲,無法保證實時性;UDP 是節約資源的傳輸層協議,其操作執行比TCP快得多,它適合于不斷出現的、與時間相關的應用。由于音、視頻數據對實時性要求比較高,而控制數據則對可靠性要求較高,因此,通常系統采用兩種通信協議: TCP/IP協議傳輸通信控制數據,UDP/IP 協議傳輸視頻數據。
由于UDP的不可靠性,基于UDP的應用程序在不可靠網絡使用時必須自己解決可靠性問題,諸如報文丟失、重復、失序和流量控制等問題。在實現連續媒體數據傳輸時,發送方和接受方應該能處理圖像傳輸中發生的數據丟失、延遲等一些問題。因此,在UDP協議之上,采用RTP(實時傳輸協議)和RTCP[實時傳輸控制協議)來完成視頻數據的傳輸。
5.客戶端應用
此處的客戶端軟件是指編碼器廠商提供的簡易客戶應用程序,可以實現一些基本功能,對于大型系統及項目,一般另外有中央管理軟件及NVR平臺,并利用專用的客戶端程序實現強大的功能。客戶端主要完成視頻數據的接收、解碼和顯示工作,同時還可以設置編碼器的參數。從功能角度,客戶端的軟件體系結構可劃分為3個模塊:設備控制模塊、網絡的接收與反饋模塊、顯示模塊。
審核編輯 黃宇
-
TCP
+關注
關注
8文章
1353瀏覽量
79055 -
UDP
+關注
關注
0文章
325瀏覽量
33931 -
視頻編碼器
+關注
關注
1文章
67瀏覽量
15053
發布評論請先 登錄
相關推薦
評論