[發明專利]一種視頻播放方法及裝置在審
| 申請號: | 202111535810.3 | 申請日: | 2021-12-15 |
| 公開(公告)號: | CN114222182A | 公開(公告)日: | 2022-03-22 |
| 發明(設計)人: | 陳小波;田細亞;李云龍 | 申請(專利權)人: | 湖南快樂陽光互動娛樂傳媒有限公司 |
| 主分類號: | H04N21/44 | 分類號: | H04N21/44;H04N21/434;H04N21/81 |
| 代理公司: | 北京集佳知識產權代理有限公司 11227 | 代理人: | 錢娜 |
| 地址: | 410003 湖南省*** | 國省代碼: | 湖南;43 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 視頻 播放 方法 裝置 | ||
本發明提供一種視頻播放方法及裝置。通過在啟動視頻播放時,通過對當前創建的surface和當前創建的surface對應的key進行判斷,在當前創建的surface和當前創建的surface對應的key發生變化時,確定當前為在視頻播放過程中切換出去再切換回來的播放狀態,然后再根據視頻包的來源,確定如果視頻包來自于緩存GOP隊列則為舊的,已經播放過的視頻,則丟棄,若非來自于GOP隊列則為新的視頻,渲染所述視頻幀輸出并與當前創建的surface綁定。從而解決現有視頻播放過程中切換出去再切換回來時,導致黑屏或者前后畫面不連續等播放體驗差的問題,實現改善以及提升用戶播放體驗的目的。
技術領域
本發明涉及移動終端流媒體播放技術領域,尤其涉及一種視頻播放方法及裝置。
背景技術
基于當前的視頻播放技術,在視頻啟播的時候需要設置給播放器渲染模塊一個view組件,view組件是創建UI時最基礎的組件。當視頻解碼輸出時需要在這個view組件上進行畫面渲染。
目前,在使用android平臺的移動終端中,通常視頻解碼播放時使用硬解碼mediacodec。在視頻使用mediacodec硬解碼播放的過程中,所使用到的view組件主要包括surfaceview組件和textureview組件。在mediacodec創建后,在進行configure配置時需要綁定用于畫面渲染的surface,其中,surface來源于surfaceview生命周期。但是,在視頻播放過程中一旦通過菜單鍵進行前后臺切換或者切換到別的應用后切換回來播放,來回切換的操作會導致surface發生銷毀再創建的過程。
而在現有技術中,android平臺在surface發生銷毀時會停止播放器播放視頻,而在surface再次被創建時則會通過設置再次使播放器重新啟播,但是在這個停止播放再重新啟播的過程中,會導致出現黑屏或者前后畫面不連續的問題,導致播放體驗差。
發明內容
有鑒于此,本發明實施例提供一種視頻播放方法及裝置,以解決現有視頻播放過程中切換出去再切換回來時,導致黑屏或者前后畫面不連續等播放體驗差的問題。
為實現上述目的,本發明實施例提供如下技術方案:
本發明實施例第一方面公開了一種視頻播放方法,所述方法包括:
當啟動視頻播放時,獲取當前創建的surface和所述當前創建的surface對應的key;
若所述當前創建的surface經由編解碼器進行配置,獲取視頻包;
判斷所述當前創建的surface是否為非空,以及所述當前創建的surface是否與上一次創建的surface為同一個對象,以及所述當前創建的surface對應的key是否與所述上一次創建的surface對應的key相同;
若任一判斷為否,將所述當前創建的surface設置為true;
對所述視頻包進行解碼,得到解碼后的視頻幀;
判斷所述視頻幀的來源是否為緩存GOP隊列;
若是,則丟棄所述視頻幀;
若否,則渲染所述視頻幀,并輸出至設置為true的當前創建的surface。
可選的,還包括:
若所述當前創建的surface未經由編解碼器進行配置,獲取解復用視頻隊列中的視頻包;
判斷來自解復用視頻隊列中的視頻包是否為關鍵幀;
若所述來自解復用視頻隊列中的視頻包是關鍵幀,清空緩存GOP隊列,并將所述來自解復用視頻隊列中的視頻包添加至所述緩存GOP隊列,所述緩存GOP隊列的參數buffer_deep遞增1;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于湖南快樂陽光互動娛樂傳媒有限公司,未經湖南快樂陽光互動娛樂傳媒有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202111535810.3/2.html,轉載請聲明來源鉆瓜專利網。





