[發明專利]直播視頻的轉碼裝置、方法及計算機可讀存儲介質有效
| 申請號: | 201711373360.6 | 申請日: | 2017-12-19 |
| 公開(公告)號: | CN108174226B | 公開(公告)日: | 2020-11-10 |
| 發明(設計)人: | 張國梁 | 申請(專利權)人: | 平安科技(深圳)有限公司 |
| 主分類號: | H04N21/2187 | 分類號: | H04N21/2187;H04N21/231;H04N21/2343;H04N21/262;H04N21/24 |
| 代理公司: | 深圳市沃德知識產權代理事務所(普通合伙) 44347 | 代理人: | 于志光;郭夢霞 |
| 地址: | 518000 廣東省深*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 直播 視頻 裝置 方法 計算機 可讀 存儲 介質 | ||
1.一種直播視頻的轉碼裝置,其特征在于,所述裝置包括存儲器和處理器,所述存儲器上存儲有可在所述處理器上運行的直播視頻轉碼程序,所述直播視頻轉碼程序被所述處理器執行時實現如下步驟:
在開始接收推流客戶端上傳的流媒體文件時,為所述流媒體文件創建轉碼任務,其中,所述推流客戶端以持續發送數據包的方式上傳所述流媒體文件;
將接收到的數據包添加至數據緩存隊列中,并基于所述數據緩存隊列執行所述轉碼任務;
在所述轉碼任務的執行過程中對所述數據緩存隊列中的數據包的處理狀態進行記錄,并對所述轉碼任務的執行狀態進行定時檢測;
若檢測到所述轉碼任務執行失敗,則根據記錄的數據包的處理狀態,標記任務失敗的第一數據包節點;
基于標記的所述第一數據包節點重啟所述轉碼任務;
在所述轉碼任務重啟后,將重啟所述轉碼任務時接收到的數據包作為第二數據包節點;
在執行重啟后的所述轉碼任務時,將所述第一數據包節點至所述第二數據包節點之間的數據包,以及任務重啟后的第二預設時長內添加至所述數據緩存隊列中的數據包轉換為視頻幀圖像;
按照預設的跳幀規則,刪除轉換得到的視頻幀圖像中的預設比例的視頻幀圖像使觀眾客戶端與推流客戶端的直播內容達到同步;所述預設的跳幀規則是每間隔m幀圖像刪除n幀圖像,其中m、n均為正整數;
將經過跳幀處理后剩余的視頻幀圖像轉換為流媒體文件后重新執行正常的轉碼任務。
2.根據權利要求1所述的直播視頻的轉碼裝置,其特征在于,所述對所述轉碼任務的執行狀態進行定時檢測的步驟包括:
獲取所述轉碼任務的日志數據,從日志數據中獲取所述轉碼任務的進度信息,并對所述進度信息的更新狀態進行監測,其中,當檢測到所述進度信息在第一預設時長內未被更新過,則判定所述轉碼任務執行失敗。
3.根據權利要求1所述的直播視頻的轉碼裝置,其特征在于,所述對所述轉碼任務的執行狀態進行定時檢測的步驟包括:
偵測轉碼進程在執行轉碼任務過程中周期性上報的心跳信息,其中,在連續預設數量的周期內偵測不到心跳信息時,判定所述轉碼任務執行失敗。
4.根據權利要求1至3中任一項所述的直播視頻的轉碼裝置,其特征在于,所述在轉碼任務的執行過程中對數據緩存隊列中的數據包的處理狀態進行記錄的步驟包括:
將所述數據緩存隊列中完成轉碼處理的數據包刪除,或者將所述數據緩存隊列中完成轉碼處理的數據包標記為已轉碼狀態。
5.一種直播視頻的轉碼方法,其特征在于,所述方法包括:
在開始接收推流客戶端上傳的流媒體文件時,為所述流媒體文件創建轉碼任務,其中,所述推流客戶端以持續發送數據包的方式上傳所述流媒體文件;
將接收到的數據包添加至數據緩存隊列中,并基于所述數據緩存隊列執行所述轉碼任務;
在所述轉碼任務的執行過程中對所述數據緩存隊列中的數據包的處理狀態進行記錄,并對所述轉碼任務的執行狀態進行定時檢測;
若檢測到所述轉碼任務執行失敗,則根據記錄的數據包的處理狀態,標記任務失敗的第一數據包節點;
基于標記的所述第一數據包節點重啟所述轉碼任務;
在所述轉碼任務重啟后,將重啟所述轉碼任務時接收到的數據包作為第二數據包節點;
在執行重啟后的所述轉碼任務時,將所述第一數據包節點至所述第二數據包節點之間的數據包,以及任務重啟后的第二預設時長內添加至所述數據緩存隊列中的數據包轉換為視頻幀圖像;
按照預設的跳幀規則,刪除轉換得到的視頻幀圖像中的預設比例的視頻幀圖像使觀眾客戶端與推流客戶端的直播內容達到同步;所述預設的跳幀規則是每間隔m幀圖像刪除n幀圖像,其中m、n均為正整數;
將經過跳幀處理后剩余的視頻幀圖像轉換為流媒體文件后重新執行正常的轉碼任務。
6.根據權利要求5所述的直播視頻的轉碼方法,其特征在于,所述對所述轉碼任務的執行狀態進行定時檢測的步驟包括:
獲取所述轉碼任務的日志數據,從日志數據中獲取所述轉碼任務的進度信息,并對所述進度信息的更新狀態進行監測,其中,當檢測到所述進度信息在第一預設時長內未被更新過,則判定所述轉碼任務執行失敗。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于平安科技(深圳)有限公司,未經平安科技(深圳)有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201711373360.6/1.html,轉載請聲明來源鉆瓜專利網。





