本發明涉及視頻轉碼處理領域,更具體地,涉及一種視頻轉碼方法、裝置、電子設備及存儲介質。
背景技術:
1、在音視頻直播和點播場景中,視頻轉碼起著至關重要的作用,能夠適配各種類型的設備,同時能夠優化網絡的傳輸,提高用戶的觀看體驗。但是,視頻的轉碼需要對音視頻的每一幀進行轉碼預測,所以需要消耗大量的計算資源。
技術實現思路
1、本發明旨在克服上述現有技術的至少一種缺陷,提供一種視頻轉碼方法、裝置、電子設備及存儲介質,用于降低視頻轉碼過程中的資源消耗。
2、根據本申請的第一方面,提供了一種視頻轉碼方法,所述轉碼方法包括:
3、設置轉碼處理的轉碼預測參數;所述轉碼預測參數至少包括轉碼關鍵幀間隔,最大關鍵幀數和最小關鍵幀數;
4、獲取源視頻流解碼后的源視頻幀,并獲取所述源視頻幀的解碼關鍵幀間隔;所述解碼關鍵幀間隔為所述源視頻幀中,兩個連續關鍵幀之間的時間差;
5、根據所述源視頻幀的幀類型設置預測幀類型;
6、如所述解碼關鍵幀間隔與所述轉碼關鍵幀間隔不相同,根據最大關鍵幀數和最小關鍵幀數對所述預測幀類型進行動態調整;
7、根據動態調整后的所述預測幀類型對對應的所述源視頻幀進行轉碼處理。
8、可選地,所述根據最大關鍵幀數和最小關鍵幀數對所述預測幀類型進行動態調整,具體包括:
9、獲取預測關鍵幀間隔數;所述預測關鍵幀間隔數為所述預測幀類型中,兩個連續的關鍵幀之間的間隔幀數;
10、如所述預測關鍵幀間隔數小于所述最小關鍵幀數,將所述預測幀類型中,所述兩個連續的關鍵幀中的后一個所述預測幀類型,設置為非關鍵幀;
11、如所述預測關鍵幀間隔數大于所述最大關鍵幀數,以所述預測幀類型的所述兩個連續的關鍵幀中,前一個所述預測幀類型所對應的源視頻幀為初始位置,根據所述初始位置獲取調整位置;所述調整位置與所述初始位置的幀數差為所述最大關鍵幀數;
12、將所述調整位置對應的所述預測幀類型設置為關鍵幀。
13、可選地,所述轉碼預測參數還包括轉碼雙向預測幀數;
14、在所述根據最大關鍵幀數和最小關鍵幀數對所述預測幀類型進行動態調整之后,還包括:
15、獲取所述預測幀類型連續為雙向預測幀的數量作為連續幀數;
16、如所述轉碼雙向預測幀數與所述連續幀數不同時,根據所述連續幀數設置對應的所述預測幀類型。
17、可選的,所述獲取所述預測幀類型連續為雙向預測幀的數量作為連續幀數,具體包括:
18、按照所述預測幀類型設置的先后順序,獲取所述預測幀類型;
19、當出現所述預測幀類型為雙向預測幀時,統計所述預測幀類型連續為雙向預測幀的數量,直至出現所述預測幀類型為關鍵幀/前向預測幀時,結束統計,將統計得到的數量作為所述連續幀數。
20、可選的,所述根據所述連續幀數設置對應的所述預測幀類型,具體包括:
21、如所述連續幀數大于所述轉碼雙向預測幀數,將所述連續幀數所對應的所述預測幀類型均設置為前向預測幀;
22、如所述連續幀數小于所述轉碼雙向預測幀數,按照所述預測幀類型設置的先后順序,將所述連續幀數所對應的所述預測幀類型前后的若干個所述預測幀類型,設置為雙向預測幀。
23、可選的,所述按照所述預測幀類型設置的先后順序,將所述連續幀數所對應的所述預測幀類型前后的若干個所述預測幀類型,設置為雙向預測幀,具體包括:
24、獲取所述連續幀數與所述轉碼雙向預測幀數的幀數差;
25、根據所述幀數差,并按照所述預測幀類型設置的先后順序,獲取所述連續幀數所對應的所述預測幀類型的前若干個前向預測幀和/或后若干個前向預測幀;
26、將所述前若干個前向預測幀和/或后若干個前向預測幀的所述預測幀類型,設置為雙向預測幀,使所述預測幀類型連續為雙向預測幀的數量與所述轉碼雙向預測幀數相同。
27、可選的,所述根據所述源視頻幀的幀類型設置預測幀類型,具體為將所述預測幀類型設置為對應的源視頻幀的幀類型。
28、根據本申請的第二方面,提供了一種視頻轉碼裝置,所述轉碼裝置包括:
29、轉碼參數設置模塊,用于設置轉碼處理的轉碼預測參數;所述轉碼預測參數至少包括轉碼關鍵幀間隔,最大關鍵幀數和最小關鍵幀數;
30、解碼參數獲取模塊,用于獲取源視頻流解碼后的源視頻幀,并獲取所述源視頻幀的解碼關鍵幀間隔;所述解碼關鍵幀間隔為所述源視頻幀中,兩個連續關鍵幀之間的時間差;
31、幀類型設置模塊,用于根據所述源視頻幀的幀類型設置預測幀類型;
32、幀類型調整模塊,用于如所述解碼關鍵幀間隔與所述轉碼關鍵幀間隔不相同,根據最大關鍵幀數和最小關鍵幀數對所述預測幀類型進行動態調整;
33、轉碼處理模塊,用于根據動態調整后的所述預測幀類型對對應的所述源視頻幀進行轉碼處理。
34、根據本申請的第三方面,提供了一種電子設備,包括存儲器和處理器,所述存儲器上存儲有計算機可讀指令,所述處理器執行所述計算機可讀指令,實現上述第一方面所述的一種視頻轉碼方法。
35、根據本申請的第四方面,提供了一種計算機存儲介質,其上存儲有計算機可讀程序,所述計算機可讀程序被執行時,實現上述第一方面所述的一種視頻轉碼方法。
36、根據上述的任意一個方面,本申請提供的一種視頻轉碼方法、裝置、電子設備及存儲介質,通過設置轉碼處理的轉碼預測參數,將其中的轉碼關鍵幀間隔與源視頻幀的解碼關鍵幀間隔進行比較,當所述解碼關鍵幀間隔與所述轉碼關鍵幀間隔相同時,表示轉碼處理所設置的關鍵幀之間的間隔與源視頻幀中的關鍵幀之間的間隔是相同的,則可以直接根據源視頻幀的幀類型來設置作為轉碼幀類型決策參考的預測幀類型,不需要額外的轉碼預測,進而降低了轉碼處理的資源消耗;當所述解碼關鍵幀間隔與所述轉碼關鍵幀間隔不同時,則根據預設值的最大關鍵幀數和最小關鍵幀數對所述預測幀類型進行動態調整,以此來匹配調整所述預測幀類型,相較于轉碼預測,通過參數設置調整所述預測幀類型所消耗的計算資源較低,同樣能夠減少計算資源的消耗。
37、進一步的,本申請提供的一種視頻轉碼方法、裝置、電子設備及存儲介質,通過設置轉碼預測參數中的轉碼雙向預測幀數,將所述轉碼雙向預測幀數和設置的所述預測幀類型中連續為雙向預測幀的數量進行比較,根據實際的所述雙向預測幀的數量,對所述預測幀類型進行調整,保證轉碼處理的正常進行的前提下,有效地降低了轉碼處理的計算消耗。
1.一種視頻轉碼方法,其特征在于,所述轉碼方法包括:
2.根據權利要求1所述的一種視頻轉碼方法,其特征在于,所述根據最大關鍵幀數和最小關鍵幀數對所述預測幀類型進行動態調整,具體包括:
3.根據權利要求1或2任一項所述的一種視頻轉碼方法,其特征在于,所述轉碼預測參數還包括轉碼雙向預測幀數;
4.根據權利要求3所述的一種視頻轉碼方法,其特征在于,所述獲取所述預測幀類型連續為雙向預測幀的數量作為連續幀數,具體包括:
5.根據權利要求3所述的一種視頻轉碼方法,其特征在于,所述根據所述連續幀數設置對應的所述預測幀類型,具體包括:
6.根據權利要求5所述的一種視頻轉碼方法,其特征在于,所述按照所述預測幀類型設置的先后順序,將所述連續幀數所對應的所述預測幀類型前后的若干個所述預測幀類型,設置為雙向預測幀,具體包括:
7.根據權利要求1或2任一項所述的一種視頻轉碼方法,其特征在于,所述根據所述源視頻幀的幀類型設置預測幀類型,具體為將所述預測幀類型設置為對應的源視頻幀的幀類型。
8.一種視頻轉碼裝置,其特征在于,所述轉碼裝置包括:
9.一種電子設備,包括存儲器和處理器,其特征在于,所述存儲器上存儲有計算機可讀指令,所述處理器執行所述計算機可讀指令,實現上述權利要求1-7任一項所述的一種視頻轉碼方法。
10.一種計算機存儲介質,其特征在于,其上存儲有計算機可讀程序,所述計算機可讀程序被執行時,實現上述權利要求1-7任一項所述的一種視頻轉碼方法。