一種視頻文件存儲方法及其裝置與流程
2023-04-29 22:11:55 3

本發明涉及無線通信領域,尤指一種視頻文件存儲方法及其裝置。
背景技術:
HTTP Live Streaming(HLS)是一種基於HTTP的流媒體傳輸協議,該HLS可以實現流媒體的直播和點播。
通常,HLS視頻文件包括兩部分,一部分是m3u8描述文件,用於描述ts文件的播放順序和播放信息,另一部分是ts媒體文件,一般每個ts文件播放時長差不多10秒鐘,也就是說,一個HLS的內容包括很多ts文件。例如,一個2小時的HLS視頻內容,對應標清,高清和超清三種碼率,該HLS視頻內容每10秒鐘一個ts,每種碼率會有3600*2/10=720個ts文件,那該HLS視頻總共有720*3=2160個ts文件。
本領域技術人員在實現上述方案的過程中發現,HLS視頻文件包括大量的ts媒體文件和m3u8描述文件,然而,存儲HLS視頻文件時,每個ts媒體文件和m3u8描述文件均需要一個文件句柄,從而導致存儲HLS視頻文件需要使用的大量的文件句柄數,進而降低了伺服器的存儲能力。
技術實現要素:
為了解決上述技術問題,本發明提供了一種視頻文件存儲方法及其裝置,用以解決伺服器的存儲能力較低的問題。
為了達到本發明目的,本發明提供了一種視頻文件存儲方法,包括:
伺服器接收終端發送的第一文件請求,所述第一文件請求用以請求存儲 在所述伺服器的內容文件,所述第一文件請求包括統一資源定位器URL參數和字節索引參數,所述字節索引參數包括所述內容文件在內容聚合文件的字節範圍,所述URL參數包括內容聚合文件存儲在所述伺服器的地址信息,所述視頻文件包括所述內容文件,所述內容文件包括至少兩個內容單元文件;
所述伺服器根據所述第一文件請求,確定所述內容文件;
所述伺服器向所述終端發送所述內容文件。
進一步的,所述伺服器接收終端發送的第一文件請求之前,還包括:
所述伺服器接收所述終端發送的第二文件請求,所述第二文件請求包括所述URL參數;
所述伺服器根據所述URL參數,確定存儲所述視頻文件的地址;
所述伺服器根據所述地址,確定所述地址上存儲的第一描述文件,所述第一描述文件包括至少兩個內容單元文件的播放順序的信息和各內容單元文件在所述內容聚合文件中的字節信息;
所述伺服器向所述終端發送所述第一描述文件。
進一步的,所述伺服器接收終端發送的第一文件請求之前,還包括:
所述伺服器通過字節追加方式,依次存儲所述至少兩個內容單元文件,獲得內容聚合文件。
進一步的,所述伺服器通過字節追加方式,依次存儲所述至少兩個內容單元文件,獲得內容聚合文件,還包括:
所述伺服器將每個內容單元文件在所述內容聚合文件中的字節信息存儲在所述第一描述文件,所述第一描述文件包括所述至少兩個內容單元文件的播放順序和每個所述內容單元文件在所述內容聚合文件中的字節信息。
進一步的,所述伺服器通過字節追加方式,依次存儲所述至少兩個內容單元文件,獲得內容聚合文件之前,還包括:
所述伺服器根據目錄,確定設置在所述目錄下的視頻文件的描述文件;
所述伺服器根據所述描述文件,確定所述至少兩個內容單元文件,所述描述文件包括所述至少兩個內容單元文件的播放順序。
本發明提供了一種視頻文件存儲裝置,包括:
接收模塊,用於接收終端發送的第一文件請求,所述第一文件請求用以請求存儲在所述伺服器的內容文件,所述第一文件請求包括統一資源定位器URL參數和字節索引參數,所述字節索引參數包括所述內容文件在內容聚合文件的字節範圍,所述URL參數包括內容聚合文件存儲在所述伺服器的地址信息,所述視頻文件包括所述內容文件,所述內容文件包括至少兩個內容單元文件;
處理模塊,用於根據所述第一文件請求,確定所述內容文件;
發送模塊,用於向所述終端發送所述內容文件。
進一步的,所述接收模塊,還用於所述伺服器接收所述終端發送的第二文件請求,所述第二文件請求包括所述URL參數;
所述處理模塊,還用於根據所述URL參數,確定存儲所述視頻文件的地址;根據所述地址,確定所述地址上存儲的第一描述文件,所述第一描述文件包括至少兩個內容單元文件的播放順序的信息和各內容單元文件在所述內容聚合文件中的字節信息;
所述發送模塊,還用於向所述終端發送所述第一描述文件。
進一步的,所述處理模塊,還用於通過字節追加方式,依次存儲所述至少兩個內容單元文件,獲得內容聚合文件。
進一步的,所述處理模塊,還用於將每個內容單元文件在所述內容聚合文件中的字節信息存儲在所述第一描述文件,所述第一描述文件包括所述至少兩個內容單元文件的播放順序和每個所述內容單元文件在所述內容聚合文件中的字節信息。
進一步的,所述處理模塊,還用於根據目錄,確定設置在所述目錄下的視頻文件的描述文件;根據所述描述文件,確定所述至少兩個內容單元文件,所述描述文件包括所述至少兩個內容單元文件的播放順序
在本實施例中,伺服器接收終端發送的第一文件請求,所述第一文件請求用以請求存儲在所述伺服器的內容文件,所述第一文件請求包括統一資源定位器URL參數和字節索引參數,所述字節索引參數包括所述內容文件在內容聚合文件的字節範圍,所述URL參數包括內容聚合文件存儲在所述伺服器的地址信息,所述視頻文件包括所述內容文件,所述內容文件包括至少兩個內容單元文件;所述伺服器根據所述第一文件請求,確定所述內容文件;所述伺服器向所述終端發送所述內容文件。實現了將多個內容單元文件存儲在一個聚合文件,從而使得存儲HLS視頻文件使用的文件句柄數大大減少,進而提高了存儲能力。
本發明的其它特徵和優點將在隨後的說明書中闡述,並且,部分地從說明書中變得顯而易見,或者通過實施本發明而了解。本發明的目的和其他優點可通過在說明書、權利要求書以及附圖中所特別指出的結構來實現和獲得。
附圖說明
附圖用來提供對本發明技術方案的進一步理解,並且構成說明書的一部分,與本申請的實施例一起用於解釋本發明的技術方案,並不構成對本發明技術方案的限制。
圖1為本發明的視頻文件存儲方法一實施例的流程示意圖;
圖2為本發明的視頻文件存儲裝置一實施例的結構示意圖。
具體實施方式
為使本發明的目的、技術方案和優點更加清楚明白,下文中將結合附圖對本發明的實施例進行詳細說明。需要說明的是,在不衝突的情況下,本申請中的實施例及實施例中的特徵可以相互任意組合。
本發明實施例提供的視頻文件存儲方法具體可以應用於存儲(HTTP Live Streaming,簡稱HLS)視頻文件,或讀取存儲在伺服器的HLS視頻文件時。本實施例提供的視頻文件存儲方法可以通過視頻文件存儲裝置裝置執行,該 視頻文件存儲裝置可以單獨設置,也可以設置在伺服器上,其中,該裝置可以採用軟/硬體實現。以下對視頻文件存儲裝置進行詳細闡述。
圖1為本發明的視頻文件存儲方法一實施例的流程示意圖,如圖1所示,該視頻文件存儲方法,包括:
步驟101、伺服器接收終端發送的第一文件請求。
在本實施例中,所述第一文件請求用以請求存儲在所述伺服器的內容文件,所述第一文件請求包括統一資源定位器(Uniform Resoure Locator,簡稱URL)參數和字節索引參數,所述字節索引參數包括所述內容文件在內容聚合文件的字節範圍,所述URL參數包括內容聚合文件存儲在所述伺服器的地址信息,所述視頻文件包括所述內容文件,所述內容文件包括至少兩個內容單元文件。
需要說明的是,本實施例中的內容文件可以是多個內容單元文件,即HLS視頻文件以每10秒鐘分割的一個ts文件。
步驟102、伺服器根據所述第一文件請求,確定所述內容文件。
具體的,伺服器可以根據URL參數,確定內容聚合文件存儲在所述伺服器的地址信息,接著,根據字節索引參數指示的在內容聚合文件的字節範圍,確定內容文件。
步驟103、伺服器向所述終端發送所述內容文件。
在本實施例中,伺服器接收終端發送的第一文件請求,所述第一文件請求用以請求存儲在所述伺服器的內容文件,所述第一文件請求包括統一資源定位器URL參數和字節索引參數,所述字節索引參數包括所述內容文件在內容聚合文件的字節範圍,所述URL參數包括內容聚合文件存儲在所述伺服器的地址信息,所述視頻文件包括所述內容文件,所述內容文件包括至少兩個內容單元文件;所述伺服器根據所述第一文件請求,確定所述內容文件;所述伺服器向所述終端發送所述內容文件。實現了將多個內容單元文件存儲在一個聚合文件,從而使得存儲HLS視頻文件使用的文件句柄數大大減少,進而提高了存儲能力。
在上述實施例的基礎上,在所述伺服器接收終端發送的第一文件請求之前,還可以包括:
所述伺服器接收所述終端發送的第二文件請求,所述第二文件請求包括所述URL參數;
所述伺服器根據所述URL參數,確定存儲所述視頻文件的地址;
所述伺服器根據所述地址,確定所述地址上存儲的第一描述文件,所述第一描述文件包括至少兩個內容單元文件的播放順序的信息和各內容單元文件在所述內容聚合文件中的字節信息;
所述伺服器向所述終端發送所述第一描述文件。
進一步的,在上述實施例的基礎上,所述伺服器接收終端發送的第一文件請求之前,還包括:
所述伺服器通過字節追加方式,依次存儲所述至少兩個內容單元文件,獲得內容聚合文件。
同時,在伺服器通過字節追加方式,依次存儲所述至少兩個內容單元文件,獲得內容聚合文件過程中,伺服器將每個內容單元文件在所述內容聚合文件中的字節信息存儲在所述第一描述文件,所述第一描述文件包括所述至少兩個內容單元文件的播放順序和每個所述內容單元文件在所述內容聚合文件中的字節信息。
進一步的,在上述實施例的基礎上,伺服器通過字節追加方式,依次存儲所述至少兩個內容單元文件,獲得內容聚合文件之前,還可以包括:
所述伺服器根據目錄,確定設置在所述目錄下的視頻文件的描述文件;
所述伺服器根據所述描述文件,確定所述至少兩個內容單元文件,所述描述文件包括所述至少兩個內容單元文件的播放順序。
具體的,表1為聚合前後目錄結構,表2為聚合前後m3u8文件對比表。
表1
表2
圖2為本發明的視頻文件存儲裝置一實施例的結構示意圖,如圖2所示,該視頻文件存儲裝置,包括:接收模塊21、處理模塊22和發送模塊23。其中,
接收模塊21,用於接收終端發送的第一文件請求,所述第一文件請求用以請求存儲在所述伺服器的內容文件,所述第一文件請求包括統一資源定位器URL參數和字節索引參數,所述字節索引參數包括所述內容文件在內容聚合文件的字節範圍,所述URL參數包括內容聚合文件存儲在所述伺服器的地址信息,所述視頻文件包括所述內容文件,所述內容文件包括至少兩個內容單元文件;
處理模塊22,用於根據所述第一文件請求,確定所述內容文件;
發送模塊23,用於向所述終端發送所述內容文件。
在本實施例中,伺服器接收終端發送的第一文件請求,所述第一文件請 求用以請求存儲在所述伺服器的內容文件,所述第一文件請求包括統一資源定位器URL參數和字節索引參數,所述字節索引參數包括所述內容文件在內容聚合文件的字節範圍,所述URL參數包括內容聚合文件存儲在所述伺服器的地址信息,所述視頻文件包括所述內容文件,所述內容文件包括至少兩個內容單元文件;所述伺服器根據所述第一文件請求,確定所述內容文件;所述伺服器向所述終端發送所述內容文件。實現了將多個內容單元文件存儲在一個聚合文件,從而使得存儲HLS視頻文件使用的文件句柄數大大減少,進而提高了存儲能力。
在上述實施例的基礎上,所述接收模塊21,還用於所述伺服器接收所述終端發送的第二文件請求,所述第二文件請求包括所述URL參數;
所述處理模塊22,還用於根據所述URL參數,確定存儲所述視頻文件的地址;根據所述地址,確定所述地址上存儲的第一描述文件,所述第一描述文件包括至少兩個內容單元文件的播放順序的信息和各內容單元文件在所述內容聚合文件中的字節信息;
所述發送模塊23,還用於向所述終端發送所述第一描述文件。
進一步的,在上述實施例的基礎上,所述處理模塊22,還用於通過字節追加方式,依次存儲所述至少兩個內容單元文件,獲得內容聚合文件。
進一步的,在上述實施例的基礎上,所述處理模塊22,還用於將每個內容單元文件在所述內容聚合文件中的字節信息存儲在所述第一描述文件,所述第一描述文件包括所述至少兩個內容單元文件的播放順序和每個所述內容單元文件在所述內容聚合文件中的字節信息。
進一步的,在上述實施例的基礎上,所述處理模塊22,還用於根據目錄,確定設置在所述目錄下的視頻文件的描述文件;根據所述描述文件,確定所述至少兩個內容單元文件,所述描述文件包括所述至少兩個內容單元文件的播放順序。
在本實施中,實現了將多個內容單元文件存儲在一個聚合文件,從而使得存儲HLS視頻文件使用的文件句柄數大大減少,進而提高了存儲能力。
雖然本發明所揭露的實施方式如上,但所述的內容僅為便於理解本發明而採用的實施方式,並非用以限定本發明。任何本發明所屬領域內的技術人員,在不脫離本發明所揭露的精神和範圍的前提下,可以在實施的形式及細節上進行任何的修改與變化,但本發明的專利保護範圍,仍須以所附的權利要求書所界定的範圍為準。