欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

視頻播放控制方法、裝置及終端設(shè)備與流程

文檔序號(hào):12068776閱讀:371來(lái)源:國(guó)知局
視頻播放控制方法、裝置及終端設(shè)備與流程

本發(fā)明涉及多媒體技術(shù)領(lǐng)域,具體涉及一種視頻播放控制方法、裝置及終端設(shè)備。



背景技術(shù):

隨著互聯(lián)網(wǎng)技術(shù)及智能移動(dòng)終端設(shè)備的發(fā)展,各種互聯(lián)網(wǎng)產(chǎn)品給人們的工作、生活帶來(lái)了很多便利與娛樂(lè),近年來(lái),各類用于視頻直播的直播平臺(tái)層出不窮,視頻直播給人們帶來(lái)更實(shí)時(shí)的社交體驗(yàn),并且近年來(lái)拍攝設(shè)備的升級(jí),高分辨率、高碼率、高幀率的視頻也被應(yīng)用到直播場(chǎng)景中,目前對(duì)于觀看直播視頻流的客戶端,都是使用軟件解碼并且使用傳統(tǒng)的GDI(一種純用軟件繪制的圖形接口)進(jìn)行渲染,對(duì)于觀看高分辨率(寬>=1920高>=1080)、高碼率>=3000、高幀數(shù)(FPS:>=30)的視頻直播時(shí),由于軟件解碼和GDI渲染占用過(guò)高的CPU資源,造成視頻畫面卡頓、音視頻不同步的問(wèn)題,給用戶帶來(lái)了不良的觀看體驗(yàn),影響直播平臺(tái)口碑,進(jìn)而降低用戶活躍度。

因此,對(duì)于如何利用終端的現(xiàn)有硬件,盡可能地降低CPU的占用率,保證直播視頻播放的流暢度是目前亟需解決的問(wèn)題。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明的首要目的在于提供一種視頻播放控制方法及裝置;

本發(fā)明的另一目的在于提供一種實(shí)現(xiàn)該視頻播放方法的終端設(shè)備。

為實(shí)現(xiàn)該目的,本發(fā)明采用如下技術(shù)方案:

第一方面,本發(fā)明提供一種視頻播放控制方法,包括如下步驟:

從服務(wù)器獲取直播間的視頻流;

確定終端提供的解碼條件,選擇相適配的解碼接口對(duì)所述視頻流進(jìn)行解碼,當(dāng)所述解碼條件包含硬件解碼接口和軟件解碼接口時(shí),優(yōu)先調(diào)用所述硬件解碼接口進(jìn)行解碼,否則調(diào)用所述軟件解碼接口進(jìn)行解碼;

確定終端提供的渲染條件,選定相適配的圖形渲染接口將解碼后的視頻流繪制后輸出到用戶界面顯示,當(dāng)所述渲染條件包含硬件渲染接口和軟件渲染接口時(shí),優(yōu)先調(diào)用所述硬件渲染接口進(jìn)行渲染,否則調(diào)用所述軟件渲染接口進(jìn)行渲染。

進(jìn)一步的,在在所述確定終端提供的解碼條件和確定終端提供的渲染條件之前,還包括:

確定終端的操作系統(tǒng)版本。

具體的,所述操作系統(tǒng)為WINDOWS系統(tǒng),當(dāng)終端的操作系統(tǒng)為WINDOWS7版本或WINDOWS7以上版本時(shí),確定終端符合提供硬件解碼和硬件渲染的前提條件,否則調(diào)用軟件解碼接口對(duì)所述視頻流進(jìn)行解碼,再調(diào)用軟件渲染接口將解碼后的視頻流繪制后輸出到用戶界面顯示。

具體的,所述確定終端提供的解碼條件,選擇相適配的解碼接口對(duì)所述視頻流進(jìn)行解碼的步驟,具體包括:

確定終端支持的解碼器類型,所述解碼器類型包括Nvidia硬件解碼器、Intel硬件解碼器、AMD硬件解碼器;

當(dāng)終端支持Nvidia硬件解碼器時(shí),調(diào)用Nvidia硬件解碼器的硬件解碼接口對(duì)所述視頻流進(jìn)行解碼;

當(dāng)終端支持Intel硬件解碼器時(shí),調(diào)用Intel硬件解碼器的硬件解碼接口對(duì)所述視頻流進(jìn)行解碼;

當(dāng)終端支持AMD硬件解碼器時(shí),調(diào)用AMD硬件解碼器的硬件解碼接口對(duì)所述視頻流進(jìn)行解碼。

優(yōu)選的,所述硬件渲染接口為DirectX 11圖形渲染接口,當(dāng)所述視頻流采用硬件解碼時(shí),調(diào)用DirectX 11圖形渲染接口將解碼后的視頻流轉(zhuǎn)換成YUV 420格式,并裝載到DirectX 11創(chuàng)建的紋理中,然后利用DirectX 11設(shè)備將視頻流繪制后輸出到用戶界面上。

可選的,當(dāng)所述視頻流采用軟件解碼時(shí),調(diào)用DirectX 11圖形渲染接口將解碼后的視頻流轉(zhuǎn)化成RGBA格式并裝載在顯存中,然后利用DirectX 11設(shè)備將視頻流繪制后輸出到用戶界面上。

較佳的,當(dāng)所述視頻流采用硬件渲染時(shí),判斷所述視頻流是否為VR視頻,若是,則采用3D圖形渲染,否則,采用2D圖形渲染。

進(jìn)一步的,在所述從服務(wù)器獲取直播間的視頻流的步驟之后,當(dāng)接收到用戶的控制指令時(shí)才執(zhí)行所述方法的后續(xù)步驟。

第二方面,本發(fā)明提供一種視頻播放控制裝置,包括:

讀取模塊:用于從服務(wù)器獲取直播間的視頻流;

解碼模塊:用于確定終端提供的解碼條件,選擇相適配的解碼接口對(duì)所述視頻流進(jìn)行解碼,當(dāng)所述解碼條件包含硬件解碼接口和軟件解碼接口時(shí),優(yōu)先調(diào)用所述硬件解碼接口進(jìn)行解碼,否則調(diào)用所述軟件解碼接口進(jìn)行解碼;

渲染模塊:用于確定終端提供的渲染條件,選定相適配的圖形渲染接口將解碼后的視頻流繪制后輸出到用戶界面顯示,當(dāng)所述渲染條件包含硬件渲染接口和軟件渲染接口時(shí),優(yōu)先調(diào)用所述硬件渲染接口進(jìn)行渲染,否則調(diào)用所述軟件渲染接口進(jìn)行渲染。

另外,本發(fā)明還提供一種實(shí)現(xiàn)上述第一方面方法的終端設(shè)備,包括:視頻解碼器,視頻渲染引擎,中央處理器,圖形處理器,存儲(chǔ)器,觸敏顯示器。

與現(xiàn)有技術(shù)相比,本發(fā)明具備如下優(yōu)點(diǎn):

本發(fā)明針對(duì)視頻直播平臺(tái)可以有效地規(guī)范直播視頻流的編碼格式,在觀看直播視頻的終端滿足硬件解碼條件和/或硬件渲染條件時(shí),優(yōu)選采用硬件解碼和硬件渲染對(duì)直播視頻流進(jìn)行解碼、渲染,可以保證高質(zhì)量的直播視頻流播放的流暢度,尤其對(duì)于VR視頻流,采用硬件解碼跟硬件渲染可以有效地降低終端CPU的占用率,解決采用軟件編碼和GDI渲染造成視頻播放卡頓的問(wèn)題;

另外,由于直播平臺(tái)可以有效規(guī)范直播視頻流的編碼格式,可以有效地避免視頻流編碼格式不滿足支持硬件解碼的條件,為將視頻流采用硬件解碼提供更加便利的條件。

顯然,上述有關(guān)本發(fā)明優(yōu)點(diǎn)的描述是概括性的,更多的優(yōu)點(diǎn)描述將體現(xiàn)在后續(xù)的實(shí)施例揭示中,以及,本領(lǐng)域技術(shù)人員也可以本發(fā)明所揭示的內(nèi)容合理地發(fā)現(xiàn)本發(fā)明的其他諸多優(yōu)點(diǎn)。

本發(fā)明附加的方面和優(yōu)點(diǎn)將在下面的描述中部分給出,這些將從下面的描述中變得明顯,或通過(guò)本發(fā)明的實(shí)踐了解到。

【附圖說(shuō)明】

圖1為本發(fā)明視頻播放控制方法的一實(shí)施例流程示意圖;

圖2為本發(fā)明確定終端解碼器類型的一實(shí)施例流程示意圖;

圖3為本發(fā)明播放直播視頻流的一實(shí)施例示意圖;

圖4為本發(fā)明視頻播放控制裝置的一實(shí)施例示意圖。

【具體實(shí)施方式】

下面結(jié)合附圖和示例性實(shí)施例對(duì)本發(fā)明作進(jìn)一步地描述,其中附圖中相同的標(biāo)號(hào)全部指的是相同的部件。此外,如果已知技術(shù)的詳細(xì)描述對(duì)于示出本發(fā)明的特征是不必要的,則將其省略。

本技術(shù)領(lǐng)域技術(shù)人員可以理解,除非特意聲明,這里使用的單數(shù)形式“一”、“一個(gè)”、“所述”和“該”也可包括復(fù)數(shù)形式。應(yīng)該進(jìn)一步理解的是,本發(fā)明的說(shuō)明書中使用的措辭“包括”是指存在所述特征、整數(shù)、步驟、操作、元件和/或組件,但是并不排除存在或添加一個(gè)或多個(gè)其他特征、整數(shù)、步驟、操作、元件、組件和/或它們的組。應(yīng)該理解,當(dāng)我們稱元件被“連接”或“耦接”到另一元件時(shí),它可以直接連接或耦接到其他元件,或者也可以存在中間元件。此外,這里使用的“連接”或“耦接”可以包括無(wú)線連接或無(wú)線耦接。這里使用的措辭“和/或”包括一個(gè)或更多個(gè)相關(guān)聯(lián)的列出項(xiàng)的全部或任一單元和全部組合。

本技術(shù)領(lǐng)域技術(shù)人員可以理解,除非另外定義,這里使用的所有術(shù)語(yǔ)(包括技術(shù)術(shù)語(yǔ)和科學(xué)術(shù)語(yǔ)),具有與本發(fā)明所屬領(lǐng)域中的普通技術(shù)人員的一般理解相同的意義。還應(yīng)該理解的是,諸如通用字典中定義的那些術(shù)語(yǔ),應(yīng)該被理解為具有與現(xiàn)有技術(shù)的上下文中的意義一致的意義,并且除非像這里一樣被特定定義,否則不會(huì)用理想化或過(guò)于正式的含義來(lái)解釋。

本技術(shù)領(lǐng)域技術(shù)人員可以理解,這里所使用的“終端”、“終端設(shè)備”既包括無(wú)線信號(hào)接收器的設(shè)備,其僅具備無(wú)發(fā)射能力的無(wú)線信號(hào)接收器的設(shè)備,又包括接收和發(fā)射硬件的設(shè)備,其具有能夠在雙向通信鏈路上,執(zhí)行雙向通信的接收和發(fā)射硬件的設(shè)備。這種設(shè)備可以包括:蜂窩或其他通信設(shè)備,其具有單線路顯示器或多線路顯示器或沒(méi)有多線路顯示器的蜂窩或其他通信設(shè)備;PCS(Personal Communications Service,個(gè)人通信系統(tǒng)),其可以組合語(yǔ)音、數(shù)據(jù)處理、傳真和/或數(shù)據(jù)通信能力;PDA(Personal Digital Assistant,個(gè)人數(shù)字助理),其可以包括射頻接收器、尋呼機(jī)、互聯(lián)網(wǎng)/內(nèi)聯(lián)網(wǎng)訪問(wèn)、網(wǎng)絡(luò)瀏覽器、記事本、日歷和/或GPS(Global Positioning System,全球定位系統(tǒng))接收器;常規(guī)膝上型和/或掌上型計(jì)算機(jī)或其他設(shè)備,其具有和/或包括射頻接收器的常規(guī)膝上型和/或掌上型計(jì)算機(jī)或其他設(shè)備。這里所使用的“終端”、“終端設(shè)備”可以是便攜式、可運(yùn)輸、安裝在交通工具(航空、海運(yùn)和/或陸地)中的,或者適合于和/或配置為在本地運(yùn)行,和/或以分布形式,運(yùn)行在地球和/或空間的任何其他位置運(yùn)行。這里所使用的“終端”、“終端設(shè)備”還可以是通信終端、上網(wǎng)終端、音樂(lè)/視頻播放終端,例如可以是PDA、MID(Mobile Internet Device,移動(dòng)互聯(lián)網(wǎng)設(shè)備)和/或具有音樂(lè)/視頻播放功能的移動(dòng)電話,也可以是智能電視、機(jī)頂盒等設(shè)備。

本技術(shù)領(lǐng)域技術(shù)人員可以理解,這里所使用的遠(yuǎn)端網(wǎng)絡(luò)設(shè)備,其包括但不限于計(jì)算機(jī)、網(wǎng)絡(luò)主機(jī)、單個(gè)網(wǎng)絡(luò)服務(wù)器、多個(gè)網(wǎng)絡(luò)服務(wù)器集或多個(gè)服務(wù)器構(gòu)成的云。在此,云由基于云計(jì)算(Cloud Computing)的大量計(jì)算機(jī)或網(wǎng)絡(luò)服務(wù)器構(gòu)成,其中,云計(jì)算是分布式計(jì)算的一種,由一群松散耦合的計(jì)算機(jī)集組成的一個(gè)超級(jí)虛擬計(jì)算機(jī)。本發(fā)明的實(shí)施例中,遠(yuǎn)端網(wǎng)絡(luò)設(shè)備、終端設(shè)備與WNS服務(wù)器之間可通過(guò)任何通信方式實(shí)現(xiàn)通信,包括但不限于,基于3GPP、LTE、WIMAX的移動(dòng)通信、基于TCP/IP、UDP協(xié)議的計(jì)算機(jī)網(wǎng)絡(luò)通信以及基于藍(lán)牙、紅外傳輸標(biāo)準(zhǔn)的近距無(wú)線傳輸方式。

本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,本發(fā)明所稱的“應(yīng)用”、“應(yīng)用程序”、“應(yīng)用軟件”以及類似表述的概念,是業(yè)內(nèi)技術(shù)人員所公知的相同概念,是指由一系列計(jì)算機(jī)指令及相關(guān)數(shù)據(jù)資源有機(jī)構(gòu)造的適于電子運(yùn)行的計(jì)算機(jī)軟件。除非特別指定,這種命名本身不受編程語(yǔ)言種類、級(jí)別,也不受其賴以運(yùn)行的操作系統(tǒng)或平臺(tái)所限制。理所當(dāng)然地,此類概念也不受任何形式的終端所限制。

本發(fā)明所述方法的實(shí)現(xiàn)依賴于移動(dòng)終端操作系統(tǒng)中的某一功能模塊或插件,具體為內(nèi)置于移動(dòng)終端的相應(yīng)應(yīng)用程序內(nèi)的可執(zhí)行代碼或獨(dú)立于任何應(yīng)用程序的單獨(dú)可執(zhí)行的應(yīng)用程序,其可以限定于特定的應(yīng)用程序中執(zhí)行,也能夠運(yùn)行于各種兼容的應(yīng)用程序中。功能模塊或插件的具體實(shí)現(xiàn)形式不作為對(duì)本發(fā)明的具體限定。

直播間:本發(fā)明所述直播間包括以下含義,①一種基于網(wǎng)絡(luò)直播平臺(tái)創(chuàng)建的一個(gè)虛擬空間(或虛擬房間),直播間一般由主播客戶端創(chuàng)建并連接有多個(gè)觀看客戶端,即直播間中包括了主播及多個(gè)觀眾,位于該虛擬空間內(nèi)的觀看客戶端可以觀看主播客戶端的直播內(nèi)容,同時(shí)主播客戶端的用戶與觀看客戶端的用戶、觀看客戶端的用戶與觀看客戶端的用戶之間還可以進(jìn)行語(yǔ)音、圖片、文字或贈(zèng)送電子贈(zèng)品的互動(dòng);②一種以群組方式將用戶聚合在一起的即時(shí)通訊平臺(tái),例如視頻會(huì)議系統(tǒng),用戶通過(guò)登錄客戶端的方式進(jìn)入群組,用戶在群組內(nèi)以群組成員的身份存在,同一個(gè)群組內(nèi)包含有多個(gè)群組成員,用戶可任意加入或退出群組,在群組內(nèi),可以進(jìn)行文字、語(yǔ)音、視頻等多種互動(dòng)。

如圖1所示是本發(fā)明視頻播放控制方法的一實(shí)施例流程示意圖,包括如下步驟:

步驟S100:從服務(wù)器獲取直播間的視頻流。

視頻直播的播放流程為:觀看端發(fā)出觀看某一直播間的視頻直播請(qǐng)求->服務(wù)器接收到該請(qǐng)求后將直播間的播放地址(一般是一個(gè)組播URL)返回給觀看端->觀看端根據(jù)該地址加入對(duì)應(yīng)的組播組->然后從服務(wù)器上獲取該直播間的視頻流(流數(shù)據(jù))。終端獲取到所述視頻流后,在將所述視頻流轉(zhuǎn)化為圖像輸出顯示在終端用戶界面之前,還需要對(duì)所述視頻流進(jìn)行解碼、渲染等操作。

優(yōu)選的,所示視頻流的編碼格式為H.264或H.265編碼格式,對(duì)于直播平臺(tái)而言,可以有效地控制直播視頻流的編碼格式,進(jìn)而為視頻流的硬件解碼提供更加便捷的條件。

步驟S200:確定終端提供的解碼條件,選擇相適配的解碼接口對(duì)所述視頻流進(jìn)行解碼,當(dāng)所述解碼條件包含硬件解碼接口和軟件解碼接口時(shí),優(yōu)先調(diào)用所述硬件解碼接口進(jìn)行解碼,否則調(diào)用所述軟件解碼接口進(jìn)行解碼。

步驟S300:確定終端提供的渲染條件,選定相適配的圖形渲染接口將解碼后的視頻流繪制后輸出到用戶界面顯示,當(dāng)所述渲染條件包含硬件渲染接口和軟件渲染接口時(shí),優(yōu)先調(diào)用所述硬件渲染接口進(jìn)行渲染,否則調(diào)用所述軟件渲染接口進(jìn)行渲染。

在確定終端提供的解碼條件和確定終端提供的渲染條件之前,本方法還包括步驟:

確定終端的操作系統(tǒng)版本。

所述操作系統(tǒng)為WINDOWS系統(tǒng),由于微軟在WINDOWS系統(tǒng)的WINDOWS7及以上版本才為系統(tǒng)底層配置了硬件加速接口,在WINDOWS7以下版本的操作系統(tǒng)無(wú)法滿足硬件解碼和硬件渲染的條件,故本實(shí)施例中,當(dāng)終端的操作系統(tǒng)為WINDOWS7版本或WINDOWS7以上版本時(shí),確定終端符合提供硬件解碼和硬件渲染的前提條件,否則,調(diào)用軟件解碼接口對(duì)所述視頻流進(jìn)行軟解碼,然后再調(diào)用WINDOWS GDI將解碼后的視頻流繪制、輸出到用戶界面顯示。

在確定終端的操作系統(tǒng)為WINDOWS7版本或WINDOWS7以上版本后,還需確定終端的硬件是否支持硬件解碼,故本實(shí)施例還包括步驟:

確定終端支持的解碼器類型。

所述解碼器類型包括NVIDIA硬件解碼器、INTEL硬件解碼器、AMD硬件解碼器,硬件解碼技術(shù)主要由NVIDIA/INTEL/AMD三家提供了,其中,Nvidia的顯卡在硬件解碼方面推出了PureVideo技術(shù)和PureVideo HD技術(shù),Intel的顯卡在硬件解碼方面推出了Intel Clear Video技術(shù),AMD的顯卡在硬件解碼方面推出了AMD Avivo技術(shù)和AMD Avivo HD技術(shù)。

同時(shí),支持PureVideo技術(shù)的顯卡有:GeForce6系列顯卡,GeForce7系列顯卡;支持PureVideo HD(第一代)技術(shù)的顯卡有:GeForce6系列顯卡,GeForce7系列顯卡,GeForce6150集成顯卡;支持PureVideo HD(第二代)技術(shù)的顯卡有:GeForce8系列。

支持AMD Avaio技術(shù)的顯卡有:ATi X1300/X1600/X1800/X1900系列、ATi HD2000/HD3000/HD4000系列、AMD HD5000/HD6000系列。

支持AMD Avaio HD技術(shù)的顯卡有:ATI HD2400/HD2600系列。

支持Intel Clear Video技術(shù)的顯卡有:Intel GMA X4500系列。

如圖2所示是本實(shí)施例確定終端支持的解碼器類型的流程圖,具體的,

當(dāng)終端支持Nvidia硬件解碼器時(shí),調(diào)用Nvidia硬件解碼器的硬件解碼接口對(duì)所述視頻流進(jìn)行解碼;

當(dāng)終端支持Intel硬件解碼器時(shí),調(diào)用Intel硬件解碼器的硬件解碼接口對(duì)所述視頻流進(jìn)行解碼;

當(dāng)終端支持AMD硬件解碼器時(shí),調(diào)用AMD硬件解碼器的硬件解碼接口對(duì)所述視頻流進(jìn)行解碼。

對(duì)于是否可以進(jìn)行硬件解碼,除了終端本身系統(tǒng)及硬件的支持,還需要視頻流的封裝格式和編碼格式都滿足才可以進(jìn)行硬件解碼,故在視頻直播領(lǐng)域中,直播平臺(tái)可以嚴(yán)格控制直播視頻流的編碼格式(如H.264或H.265格式)及封裝格式,對(duì)于視頻流采用硬件解碼提供了更便捷的條件。

當(dāng)對(duì)所述視頻流解碼之后,還需要對(duì)解碼后的視頻流進(jìn)行渲染,此時(shí)還需要確定終端提供的渲染條件,當(dāng)所述渲染條件包含硬件渲染接口和軟件渲染接口時(shí),優(yōu)先調(diào)用所述硬件渲染接口進(jìn)行渲染,否則調(diào)用所述軟件渲染接口進(jìn)行渲染。

具體的,所述硬件渲染接口為DirectX圖形渲染接口,微軟公司將DirectX 11集成在Windows 7中,下述以DirectX 11為例進(jìn)行說(shuō)明:

一種實(shí)施方式為,當(dāng)所述視頻流采用硬件解碼時(shí),調(diào)用DirectX 11圖形渲染接口將解碼后的視頻流轉(zhuǎn)換成YUV 420格式,并裝載到DirectX 11創(chuàng)建的紋理(一種保存在顯存的圖片容器)中,然后利用DirectX 11設(shè)備將視頻流繪制后輸出到用戶界面顯示,這種方式下可以最高程度地節(jié)省CPU的使用率。

另一種實(shí)施方式為,當(dāng)所述視頻流采用軟件解碼時(shí),調(diào)用DirectX 11圖形渲染接口將解碼后的視頻流轉(zhuǎn)化成RGBA格式并裝載在顯存中,然后再利用DirectX 11設(shè)備將視頻流繪制后輸出到用戶界面顯示。

并且,在所述視頻流采用DirectX 11圖形渲染接口渲染時(shí),判斷所述視頻流是否為VR視頻,若是,則采用3D圖形渲染,否則,采用2D圖形渲染。所述DirectX 11包含Direct 3D和Direct Draw接口,所述3D圖形渲染通過(guò)調(diào)用Direct 3D接口進(jìn)行,所述2D圖形渲染通過(guò)調(diào)用Direct Draw進(jìn)行,所述VR(Virtual Reality)視頻又稱為全景視頻,是一種可以實(shí)現(xiàn)三維空間展示功能的視頻,在視頻直播領(lǐng)域,VR視頻流是高分辨率,高碼率,高幀率的視頻直播流,若采用軟件解碼和GDI渲染,會(huì)占用終端過(guò)多的CPU資源,造成視頻畫面卡頓現(xiàn)象,而采用硬件解碼和/或硬件渲染,可以有效地釋放終端CPU的壓力,保證高質(zhì)量的視頻播放的流暢度。

另外,本實(shí)施例中,開啟采用硬件解碼和/或硬件渲染的功能包括如下方式:

一種實(shí)施方式為,當(dāng)終端采用軟件解碼跟GDI渲染輸出視頻流后,檢測(cè)到終端的CPU占用率高于預(yù)設(shè)閾值時(shí),根據(jù)本發(fā)明所述方法對(duì)所述視頻流進(jìn)行硬件解碼和/或硬件渲染,以降低終端的CPU占用率,降低視頻流的掉幀情況,提高視頻播放的流暢度,進(jìn)而提升用戶體驗(yàn)。

第二種實(shí)施方式為,當(dāng)終端獲取到視頻流后,根據(jù)終端提供的解碼條件和渲染條件,若滿足提供硬件解碼和硬件渲染條件,則自動(dòng)開啟對(duì)視頻流的硬件解碼和硬件渲染。

另一種實(shí)施方式為,當(dāng)接收到用戶的控制指令時(shí)開啟對(duì)視頻流的硬件解碼和/或硬件渲染,所述控制指令可以在終端獲取視頻流之前觸發(fā)或者在終端獲取視頻流之后觸發(fā),如圖3所示是本發(fā)明播放直播視頻流的一實(shí)施例示意圖,用戶可以點(diǎn)擊圖3中箭頭指向的按鈕開啟對(duì)視頻流的硬件解碼和硬件渲染。

第二方面,如圖4所示是本發(fā)明視頻播放控制裝置的一實(shí)施例示意圖,包括:

讀取模塊100:用于從服務(wù)器獲取直播間的視頻流。

視頻直播的播放流程為:觀看端發(fā)出觀看某一直播間的視頻直播請(qǐng)求->服務(wù)器接收到該請(qǐng)求后將直播間的播放地址(一般是一個(gè)組播URL)返回給觀看端->觀看端根據(jù)該地址加入對(duì)應(yīng)的組播組->然后從服務(wù)器上獲取該直播間的視頻流(流數(shù)據(jù))。讀取模塊100獲取到所述視頻流后,在將所述視頻流轉(zhuǎn)化為圖像輸出顯示在終端用戶界面之前,還需要對(duì)所述視頻流進(jìn)行解碼、渲染等操作。

解碼模塊200:用于確定終端提供的解碼條件,選擇相適配的解碼接口對(duì)所述視頻流進(jìn)行解碼,當(dāng)所述解碼條件包含硬件解碼接口和軟件解碼接口時(shí),優(yōu)先調(diào)用所述硬件解碼接口進(jìn)行解碼,否則調(diào)用所述軟件解碼接口進(jìn)行解碼。

渲染模塊300:用于確定終端提供的渲染條件,選定相適配的圖形渲染接口將解碼后的視頻流繪制后輸出到用戶界面顯示,當(dāng)所述渲染條件包含硬件渲染接口和軟件渲染接口時(shí),優(yōu)先調(diào)用所述硬件渲染接口進(jìn)行渲染,否則調(diào)用所述軟件渲染接口進(jìn)行渲染。

本實(shí)施例中,當(dāng)終端的操作系統(tǒng)為WINDOWS7版本或WINDOWS7以上版本時(shí),確定終端符合提供硬件解碼和硬件渲染的前提條件,否則,解碼模塊200調(diào)用軟件解碼接口對(duì)所述視頻流進(jìn)行軟解碼,然后渲染模塊300再調(diào)用WINDOWS GDI將解碼后的視頻流繪制、輸出到用戶界面顯示。

在確定終端的操作系統(tǒng)為WINDOWS7版本或WINDOWS7以上版本后,還需確定終端支持的解碼器類型,所述解碼器類型包括NVIDIA硬件解碼器、INTEL硬件解碼器、AMD硬件解碼器;

當(dāng)終端支持Nvidia硬件解碼器時(shí),解碼模塊200調(diào)用Nvidia硬件解碼器的硬件解碼接口對(duì)所述視頻流進(jìn)行解碼;

當(dāng)終端支持Intel硬件解碼器時(shí),解碼模塊200調(diào)用Intel硬件解碼器的硬件解碼接口對(duì)所述視頻流進(jìn)行解碼;

當(dāng)終端支持AMD硬件解碼器時(shí),解碼模塊200調(diào)用AMD硬件解碼器的硬件解碼接口對(duì)所述視頻流進(jìn)行解碼。

當(dāng)對(duì)所述視頻流解碼之后,還需要確定終端提供的渲染條件,當(dāng)所述視頻流采用硬件解碼時(shí),渲染模塊300調(diào)用DirectX 11圖形渲染接口將解碼后的視頻流轉(zhuǎn)換成YUV 420格式,并裝載到DirectX 11創(chuàng)建的紋理(一種保存在顯存的圖片容器)中,然后利用DirectX 11設(shè)備將視頻流繪制后輸出到用戶界面顯示;當(dāng)所述視頻流采用軟件解碼時(shí),渲染模塊300調(diào)用DirectX 11圖形渲染接口將解碼后的視頻流轉(zhuǎn)化成RGBA格式并裝載在顯存中,然后再利用DirectX 11設(shè)備將視頻流繪制后輸出到用戶界面顯示。

第三方面,本發(fā)明還提供一種終端設(shè)備,用于實(shí)現(xiàn)上述視頻播放控制方法,包括:視頻解碼器,視頻渲染引擎,中央處理器,圖形處理器,存儲(chǔ)器,觸敏顯示器。

本發(fā)明針對(duì)視頻直播平臺(tái)可以有效地規(guī)范直播視頻流的編碼格式,在觀看直播視頻的終端滿足硬件解碼條件和/或硬件渲染條件時(shí),優(yōu)選采用硬件解碼和硬件渲染對(duì)直播視頻流進(jìn)行解碼、渲染,可以保證高質(zhì)量的直播視頻流播放的流暢度,尤其對(duì)于VR視頻流,采用硬件解碼跟硬件渲染可以有效地降低終端CPU的占用率,解決采用軟件編碼和GDI渲染造成視頻播放卡頓的問(wèn)題;

另外,由于直播平臺(tái)可以有效規(guī)范直播視頻流的編碼格式,可以有效地避免視頻流編碼格式不滿足支持硬件解碼的條件,為將視頻流采用硬件解碼提供更加便利的條件。

雖然上面已經(jīng)示出了本發(fā)明的一些示例性實(shí)施例,但是本領(lǐng)域的技術(shù)人員將理解,在不脫離本發(fā)明的原理或精神的情況下,可以對(duì)這些示例性實(shí)施例做出改變,本發(fā)明的范圍由權(quán)利要求及其等同物限定。

當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
花垣县| 海晏县| 浮山县| 辰溪县| 信丰县| 泰兴市| 天祝| 义马市| 麦盖提县| 兴业县| 合作市| 松阳县| 常熟市| 建水县| 连山| 铅山县| 舞阳县| 应用必备| 山西省| 丹巴县| 贵州省| 宁陵县| 抚顺县| 青龙| 安康市| 南阳市| 白河县| 开化县| 隆尧县| 内乡县| 马山县| 比如县| 通州市| 靖宇县| 德昌县| 永顺县| 彰化县| 洛宁县| 新巴尔虎右旗| 县级市| 兴宁市|