一種基于TS over IP的網絡視頻播放系統及方法
【技術領域】
[0001]本發明涉及視頻播放領域,尤其涉及一種基于TS over IP的網絡視頻播放系統及方法。
【背景技術】
[0002]當前基于TS over IP的網絡視頻系統,多采用超高配置服務器加軟件集合來實現TS流的切片、加密和傳輸動作,一方面高配置的服務器成本很高,會加重運營商的負擔,另一方面軟件實現切片、加密等功能存在耗時長、延時高、計時不精確等問題,同時要求高配置的硬件資源,間接提高運營成本。而且,目前針對多節目TS流或者基于H265編碼的TS流進行切片、加密操作,軟件實現難度巨大。
[0003]傳統的基于IP模式的網絡視頻系統,由于軟件對算法處理的友好度不高,會導致在實現方案中需要高配置的服務器和大量的軟件技術開發人員。此外,由于算法的復雜度隨著用戶量的增加會呈現幾何式的增長,也會產生到后續用戶增多時方案的改進困難。
[0004]以上種種缺陷直接導致完全采用軟件實現上述過程會增加運營商的負擔,降低運營商的收益,最終影響方案的推廣使用。
【發明內容】
[0005]本發明的目的就是為了解決上述問題,提供一種基于TS over IP的網絡視頻播放系統及方法,采用FPGA軟硬件協同方案實現網絡視頻播放,解決了 TS over IP傳輸過程中軟件實現多節目TS流的切片、加密造成的成本提高和開發困難等問題。
[0006]為了實現上述目的,本發明采用如下技術方案:
[0007]—種基于TS over IP的網絡視頻播放系統,包括:
[0008]PCIE板卡與TS服務器連接,并與CA服務器連接,接收網路數據包并解析得到TS流,對TS流進行解復用、切片,并將切片加密后存儲到PCIE板卡的緩存中;
[0009]所述TS服務器,從PCIE板卡的緩存中讀取加密后的切片數據;
[0010]所述CA服務器,發送用于加密切片數據的切片密鑰給PCIE板卡。
[0011 ] 所述網絡視頻播放系統還包括:編/轉碼器,與PCIE板卡連接,根據設定的編碼標準對外界信息進行采集、編/轉碼,并將編/轉碼得到的ES數據打包成PES分組,對PES分組進一步處理得到TS流,然后再將TS流打包成網絡數據包輸出給PCIE板卡。
[0012]所述TS服務器讀取切片數據后,將切片數據存儲在其存儲設備上或者將切片數據通過網絡發送出去。
[0013]所述PCIE板卡設有FPGA芯片,所述FPGA芯片對TS流進行解復用、切片以及加密;所述PCIE板卡還設有中斷寄存器,當PCIE板卡的緩存中有切片數據時,置位中斷寄存器。
[0014]—種基于TS over IP的網絡視頻播放方法,包括如下步驟:
[0015]SI:PCIE板卡接收網絡數據包并解析得到TS流,對TS流進行解復用、切片,并對切片數據進行加密,然后將加密后的切片數據存儲到PCIE板卡的緩存中,置位PCIE板卡的中斷寄存器,產生硬件中斷,等待TS服務器讀取加密后的TS流切片數據;
[0016]S2:TS服務器監測中斷寄存器,若中斷寄存器處于置位狀態,則執行步驟S3 ;若中斷寄存器未處于置位狀態,則執行步驟S2 ;
[0017]S3:TS服務器從PCIE板卡的緩存中讀取加密的切片數據,復位中斷寄存器。
[0018]所述步驟S1之前還包括??編/轉碼器接收外界信息并將外部信息轉化為TS流,然后將TS流打包成網絡數據包發送給PCIE板卡。所述編/轉碼器接收外界信息并將外部信息轉化為TS流的具體過程為??編/轉碼器根據設定的編碼標準對外界信息進行采集、編/轉碼,并將編/轉碼得到的ES數據打包成PES分組,然后再對PES分組進一步處理,拆解成TS流。
[0019]所述步驟S3之后還包括,TS服務器將加密的切片數據存儲在其存儲設備上或者通過網絡發送出去。
[0020]所述步驟S1進一步包括:
[0021]Sl-1:PCIE板卡建立節目列表,實時解析輸入數據獲取節目信息,更新節目列表內容,并對TS流進行解復用操作;
[0022]Sl-2:PCIE板卡根據設定切片時間及所述節目列表,對每個節目的TS流進行切片;
[0023]Sl-3:PCIE板卡實時從CA服務器獲取切片密鑰和授權控制信息ECM包,將ECM包復用到TS流切片數據的頭部,依據切片密鑰對TS流切片數據進行加密;
[0024]Sl-4:PCIE板卡將加密后的切片數據保存到緩存中,置位中斷寄存器,產生硬件中斷,等待TS服務器讀取加密后的切片數據。
[0025]所述步驟S1-1中,所述節目信息至少包括節目關聯表PAT (Program Associat1nTable)、節目映射表 PMT (Program Map Table)和音視頻 PID。
[0026]所述步驟S2還包括:TS服務器與PCIE板卡實時通信,使用PCIE板卡上的節目列表更新TS服務器上的節目列表。
[0027]所述步驟S3中,TS服務器從PCIE板卡的緩存中讀取加密的切片數據的具體方法為:TS服務器依據對應規則啟動直接內存存取DMA (direct memory access),從PCIE板卡緩存中讀取切片數據。
[0028]本發明的有益效果為:
[0029]1、基于FPGA的軟硬件協同方案,針對傳統軟件實現方案進行改進來解決傳統方案設備的漏洞,簡單可用,成本低,性能好,易于推廣。
[0030]2、采用硬件加速的方式實現TS流的解復用、切片、加密操作,極大地降低了服務器的硬件成本和軟件開發成本,提升了節目的實時性和并發能力,并且能夠實時完成對多節目流和H265編碼流的處理;同時FPGA的可編程能力使得將來方案修改變得簡單,只需在線升級FPGA代碼和軟件代碼就可以實現系統功能的升級。
[0031]3、采用FPGA的靈活編程,將切片、加密等功能直接采用硬件實現,既降低了對服務器配置的要求,又減輕了軟件開發的難度,同時還實現了節目處理的實時性,特別是能夠解決多節目TS流和H265編碼TS流軟件實現的困難,能夠有效的降低服務器的運營成本,解決軟件開發的難度,實現節目的實時處理。
[0032]4、PCIE板卡基于FPGA芯片實現,硬件完成TS流的接收、解復用、切片、加密等動作,因為硬件高效的處理速度,可以實現節目流的實時處理,不會引入過大的延時;同時,由于PCIE板卡的使用,降低了軟件開發的困難和對運行服務器配置的要求,極大地降低了運行成本和開發成本。
【附圖說明】
[0033]圖1為本發明所述系統結構示意圖;
[0034]圖2為本發明所述系統另一結構不意圖;
[0035]圖3為本發明所述PCIE板卡結構示意圖;
[0036]圖4為本發明所述方法流程圖;
[0037]圖5為本發明所述方法的另一流程圖。
【具體實施方式】
[0038]下面結合附圖與實施例對本發明作進一步說明。
[0039]如圖1所示,一種基于TS over IP的網絡視頻播放系統,包括:PCIE板卡、TS服務器和CA服務器,其中:
[0040]所述PCIE板卡接收網路數據包并解析得到TS流,對TS流進行解復用、切片,并將切片加密后存儲到PCIE板卡的緩存中;
[0041]所述TS服務器通過PCIE接口與PCIE板卡連接,從PCIE板卡的緩存中讀取加密后的切片數據,并將切片數據存儲在其存儲設備上或者通過網絡發送出去;
[0042]所述CA服務器通過網絡與PCIE板卡連接,發送用于加密切片數據的切片密鑰給PCIE板卡。
[0043]所述PCIE板卡設有FPGA芯片,FPGA芯片對TS流進行解復用、切片以及加密。
[0044]所述PCIE板卡還設有中斷寄存器,當PCIE板卡的緩存中有切片數據時,中斷寄存器置位,即設置中斷寄存器的值為1。
[0045]如圖2所示,一種基于TS over IP的網絡視頻播放系統,包括:編/轉碼器、PCIE板卡、TS服務器和CA服務器,其中:
[0046]所述編/轉碼器根據設定的編碼標準對外界信息(例如圖像,聲音等模擬信息)進行采集、編/轉碼,并將編/轉碼得到的ES數據打包成PES分組,對PES分組進一步處理,拆解成TS流,采用依據TS over IP的格式,將TS流打包成網絡數據包輸出給PCIE板卡;
[0047]所述PCIE板卡通過網絡與編/轉碼器連接,接收網路數據包并解析得到TS流,對TS流進行解復用、切片,并將切片加密后存儲到PCIE板卡的緩存中;
[0048]所述TS服務器通過PCIE接口與PCIE板卡連接,從PCIE板卡的緩存中讀取加密后的切片數據,并將切片數據通過網絡發送給終端;
[0049]所述CA服務器通過網絡與PCIE板卡連接,發送用于加密切片數據的切片密鑰給PCIE板卡。
[0050]所述PCIE板卡設有FPGA芯片,FPGA芯片對TS流進行解復用、切片以及加密。
[0051]所述PCIE板卡還設有中斷寄存器,當PCIE板卡的緩存中有切片數據時,中斷寄存器置位,即設置中斷寄存器的值為1。
[0052]如圖3所示,所述PCIE板卡包括FPGA芯片,FPGA芯片分別與中斷寄存器、緩存、網絡接口和PCIE接口雙向連接。
[0053]所述FPGA芯片對TS流進行解復用、切片以及加密,并將加密后的切片數據保存在緩存中。
[0054]所述中斷寄存器用于指示緩存中是否有切片數據等待被讀取,當中斷寄存器的值為1時,表示PCIE板卡的緩存中有切片數據等待被讀取;當中斷寄存器的值為0時,表示PCIE板卡的緩存中沒有切片數據等待被讀取。
[0055]所述緩存為DRR3內存芯片,用于存儲加密的切片數據。
[0056]所述網絡接口和PCIE接口分別用于PCIE板卡與外部設備進行通信。
[0057]如圖4所示,一