System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本申請涉及視頻,尤其涉及一種視頻文件轉碼方法和裝置。
技術介紹
1、目前視頻文件的爆炸式增長,視頻格式越來越多,而播放終端的多樣化,為了兼容各種播放終端、節省存儲空間以及用戶的即時觀看需求,轉碼點播成為迫切的需求。
2、為了提升視頻點播的起播速度,業內方案通常會選擇將原始視頻文件的內容全部轉碼hls或dash等格式的視頻文件。根據視頻協議的差異,hls或dash格式是將視頻分成一個個小的視頻分片,每個視頻分片中包含獨立的描述信息,不管視頻總時長多大,視頻起播速度都可以令人滿意。
3、但是,對于例如mp4格式的原始視頻,所有的視頻描述信息都是放在一個moov?box中,點播原始視頻,必須先獲得moov?box數據。視頻文件越大,起播速度越慢。并且,服務器資源是受限的,所以,相關技術中直接將原始視頻文件的全部內容轉為hls或dash等格式的視頻文件的方式只能以任務隊列的方式執行,這就導致用戶訪問課程視頻的時候,課程視頻可能還沒來得及進行格式轉換,即起播速度慢。同時,還需要大量的存儲空間來同時保存兩種格式的視頻,這不僅導致服務器的存儲壓力大,而且其存儲的視頻使用率其實很低,很容易造成存儲資源的浪費。
技術實現思路
1、本申請實施例提供了一種視頻文件轉碼方法和裝置,能夠根據用戶播放需求動態轉碼,提高視頻文件的轉碼速度和轉碼有效性,避免用戶已點播視頻而視頻文件還未轉碼以及存儲空間浪費的問題。所述技術方案如下:
2、第一方面,本申請實施例提供了一種視頻文件轉
3、接收到客戶端針對原始視頻文件的首次點播請求后,向上述客戶端發送上述原始視頻文件對應的頭部轉碼視頻文件,以使上述客戶端基于上述頭部轉碼視頻文件播放上述原始視頻文件中前目標時長的第一視頻片段;上述頭部轉碼視頻文件基于上述第一視頻片段進行轉碼得到;
4、將上述原始視頻文件中上述第一視頻片段之后的第二視頻片段進行轉碼,得到上述原始視頻文件對應的主部轉碼視頻文件;
5、接收到上述客戶端針對上述原始視頻文件的再次點播請求后,向上述客戶端發送上述主部轉碼視頻文件,以使上述客戶端在播放完上述第一視頻片段后基于上述主部轉碼視頻文件繼續播放上述第二視頻片段。
6、本申請實施例中,一方面,只預先將原始視頻文件對應前目標時長的第一視頻片段進行轉碼得到對應的頭部轉碼視頻文件,相比于相關技術中直接將原始視頻文件的全部內容轉為hls或dash等格式的hls視頻文件的方式而言,本申請不僅視頻文件轉碼速度更快,而且占用的存儲空間更少,還能在用戶點播該原始視頻時實現立即開始播放該原始視頻前目標時長的第一視頻片段,大大避免出現用戶點播視頻而服務端還沒有轉碼的問題;另一方面,對于原始視頻文件的點播,在不影響用戶觀看體驗的情況下,還會在客戶端基于頭部轉碼視頻文件播放原始視頻文件中前目標時長的第一視頻片段時,動態轉碼原始視頻文件對應后續的hls視頻內容(即主部轉碼視頻文件),也即可以根據用戶的實際播放需求動態轉碼第一視頻片段后的視頻片段,對用戶未點播訪問的內容則不轉碼,不僅大大節省了服務端的存儲資源,避免存儲空間的浪費;又一方面,在接收到客戶端針對原始視頻文件的再次點播請求后,向客戶端發送該主部轉碼視頻文件,以使客戶端在播放完第一視頻片段后基于主部轉碼視頻文件繼續播放第一視頻片段之后的第二視頻片段,從而讓客戶端可以流暢地播放原始視頻文件,確保轉碼視頻文件(例如但不限于hls視頻文件)的使用率,提高了視頻文件轉碼的有效性。
7、在一種可能的實現方式中,上述向上述客戶端發送上述原始視頻文件對應的頭部轉碼視頻文件之前,上述方法還包括:
8、獲取上述原始視頻文件;
9、將上述原始視頻文件中上述第一視頻片段進行轉碼,得到上述原始視頻文件對應的頭部轉碼視頻文件;上述頭部轉碼視頻文件包括頭部轉碼視頻文件內容描述文本以及第一ts分片集;上述第一ts分片集包括上述第一視頻片段對應的至少一個ts分片;
10、將上述原始視頻文件以及上述原始視頻文件對應的頭部轉碼視頻文件進行關聯存儲。
11、本申請實施例中,相比于相關技術中直接將原始視頻文件的全部內容轉碼為hls或dash等格式的視頻文件并將轉碼前后的這兩個視頻文件同時存儲的方式而言,本申請不僅提高了視頻文件轉碼的速度,而且減少了視頻文件所需占用的存儲空間,還能在用戶點播該原始視頻時通過關聯存儲的原始視頻文件以及其對應的頭部轉碼視頻文件實現立即開始播放該原始視頻的第一視頻片段,確保用戶視頻點播的播放效率。
12、在一種可能的實現方式中,上述接收到客戶端針對原始視頻文件的首次點播請求后,向上述客戶端發送上述原始視頻文件對應的頭部轉碼視頻文件,包括:
13、接收到客戶端針對原始視頻文件的首次點播請求后,判斷上述原始視頻文件是否存在對應的完整轉碼視頻文件;
14、若否,則向上述客戶端發送上述原始視頻文件對應的頭部轉碼視頻文件。
15、在一種可能的實現方式中,上述判斷上述原始視頻文件是否存在對應的完整轉碼視頻文件之后,上述方法還包括:
16、若是,則向上述客戶端發送上述完整轉碼視頻文件,以使上述客戶端基于上述完整轉碼視頻文件播放上述原始視頻文件對應的完整視頻;上述完整轉碼視頻文件基于上述頭部轉碼視頻文件和上述主部轉碼視頻文件合并得到。
17、在一種可能的實現方式中,上述將上述原始視頻文件中上述第一視頻片段之后的第二視頻片段進行轉碼,得到上述原始視頻文件對應的主部轉碼視頻文件之后,上述方法還包括:
18、將上述頭部轉碼視頻文件和上述主部轉碼視頻文件進行合并,得到上述原始視頻文件對應的完整轉碼視頻文件;
19、接收到另一客戶端針對上述原始視頻文件的點播請求后,向上述另一客戶端發送上述完整轉碼視頻文件,以使上述另一客戶端基于上述完整轉碼視頻文件播放上述原始視頻文件對應的完整視頻。
20、在一種可能的實現方式中,上述第二視頻片段為上述原始視頻文件中上述第一視頻片段之后的全部剩余視頻片段;上述主部轉碼視頻文件包括主部轉碼視頻文件內容描述文本以及第二ts分片集;上述第二ts分片集包括上述第二視頻片段對應的至少一個ts分片。
21、在一種可能的實現方式中,上述第二視頻片段為上述原始視頻文件中上述第一視頻片段之后第一時長內的第一剩余視頻片段;上述主部轉碼視頻文件包括上述第一剩余視頻片段對應的第一主部轉碼視頻片段描述信息以及第二ts分片子集;上述第二ts分片子集包括上述第一剩余視頻片段對應的至少一個ts分片;
22、上述向上述客戶端發送上述主部轉碼視頻文件,以使上述客戶端在播放完上述第一視頻片段后基于上述主部轉碼視頻文件繼續播放上述第二視頻片段之后,上述方法還包括:
23、將上述第二視頻片段更新為上述原始視頻文件中上述第一剩余視頻片段之后第二時長內的第二剩余視頻片段,并再次執行上述將上述原始視頻文件本文檔來自技高網...
【技術保護點】
1.一種視頻文件轉碼方法,其特征在于,包括:
2.如權利要求1所述的方法,其特征在于,所述向所述客戶端發送所述原始視頻文件對應的頭部轉碼視頻文件之前,所述方法還包括:
3.如權利要求1所述的方法,其特征在于,所述接收到客戶端針對原始視頻文件的首次點播請求后,向所述客戶端發送所述原始視頻文件對應的頭部轉碼視頻文件,包括:
4.如權利要求3所述的方法,其特征在于,所述判斷所述原始視頻文件是否存在對應的完整轉碼視頻文件之后,所述方法還包括:
5.如權利要求1所述的方法,其特征在于,所述將所述原始視頻文件中所述第一視頻片段之后的第二視頻片段進行轉碼,得到所述原始視頻文件對應的主部轉碼視頻文件之后,所述方法還包括:
6.如權利要求1所述的方法,其特征在于,所述第二視頻片段為所述原始視頻文件中所述第一視頻片段之后的全部剩余視頻片段;所述主部轉碼視頻文件包括主部轉碼視頻文件內容描述文本以及第二ts分片集;所述第二ts分片集包括所述第二視頻片段對應的至少一個ts分片。
7.如權利要求1所述的方法,其特征在于,所述第二視頻片段
8.如權利要求1所述的方法,其特征在于,所述頭部轉碼視頻文件對應的頭部轉碼視頻文件內容描述文本中不包含結束標志;
9.如權利要求1-8任一項所述的方法,其特征在于,所述客戶端獲取所述頭部轉碼視頻文件和所述主部轉碼視頻文件的地址相同。
10.一種視頻文件轉碼裝置,其特征在于,包括:
...【技術特征摘要】
1.一種視頻文件轉碼方法,其特征在于,包括:
2.如權利要求1所述的方法,其特征在于,所述向所述客戶端發送所述原始視頻文件對應的頭部轉碼視頻文件之前,所述方法還包括:
3.如權利要求1所述的方法,其特征在于,所述接收到客戶端針對原始視頻文件的首次點播請求后,向所述客戶端發送所述原始視頻文件對應的頭部轉碼視頻文件,包括:
4.如權利要求3所述的方法,其特征在于,所述判斷所述原始視頻文件是否存在對應的完整轉碼視頻文件之后,所述方法還包括:
5.如權利要求1所述的方法,其特征在于,所述將所述原始視頻文件中所述第一視頻片段之后的第二視頻片段進行轉碼,得到所述原始視頻文件對應的主部轉碼視頻文件之后,所述方法還包括:
6.如權利要求1所述的方法,其特征在于,所述第二視頻片段為所述原始視頻文件中所述第一視頻片段之后的全部...
【專利技術屬性】
技術研發人員:付金祥,
申請(專利權)人:廣州開得聯智能科技有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。