提高云終端播放視頻圖像質(zhì)量的方法與系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及視頻播放技術(shù)領(lǐng)域,特別是涉及提高云終端播放視頻圖像質(zhì)量的方法與系統(tǒng)。
【背景技術(shù)】
[0002]隨著桌面虛擬化技術(shù)的發(fā)展,目前已有越來(lái)越多的公司和企業(yè)開始部署桌面虛擬化系統(tǒng)。
[0003]在虛擬化桌面使用過(guò)程中,用戶常體驗(yàn)1080P高清視頻,以求獲得良好的視覺享受,但是高清視頻相較于標(biāo)清視頻,其數(shù)據(jù)處理量大大增加。在目前主流的Iinux系統(tǒng)的Qemu-kvm桌面虛擬化云計(jì)算平臺(tái)上,云終端通過(guò)集成開源Spicec (Simulat1n programwith integrated circuit emphasis)軟件來(lái)連接虛擬機(jī),其Spicec軟件利用軟解碼方式來(lái)做視頻的播放,在嵌入式ARM上,軟解碼的方式將導(dǎo)致視頻播放卡頓,感覺遠(yuǎn)沒有真實(shí)的物理機(jī)播放流暢,用戶只能播放小窗口的高清視頻,小窗口播放高清視頻又無(wú)法給用戶帶來(lái)良好的視覺體驗(yàn),這樣限制了虛擬化系統(tǒng)的推廣。
[0004]可見為了促進(jìn)桌面虛擬化系統(tǒng)的推廣,目前急需一種能夠提高云終端播放視頻圖像質(zhì)量的方法。
【發(fā)明內(nèi)容】
[0005]基于此,有必要針對(duì)目前尚無(wú)一種能有效提高云終端播放視頻圖像質(zhì)量的方法的問(wèn)題,提供一種能有效提高云終端播放視頻圖像質(zhì)量的方法與系統(tǒng)。
[0006]一種提高云終端播放視頻圖像質(zhì)量的方法,包括步驟:
[0007]初始化云終端中GPU (Graphic Processing Unit,圖形處理器)解碼庫(kù),獲得解碼庫(kù);
[0008]獲取待播放數(shù)據(jù)流,并將待播放數(shù)據(jù)流發(fā)送至解碼庫(kù)以解碼,獲得解碼后的數(shù)據(jù)流;
[0009]將解碼后的數(shù)據(jù)流寫入視頻輸出通道,開始播放。
[0010]一種提高云終端播放視頻圖像質(zhì)量的系統(tǒng),包括:
[0011 ] 初始化模塊,用于初始化云終端中GPU硬解碼庫(kù),獲得解碼庫(kù);
[0012]解碼模塊,用于獲取待播放數(shù)據(jù)流,并將待播放數(shù)據(jù)流發(fā)送至解碼庫(kù)以解碼,獲得解碼后的數(shù)據(jù)流;
[0013]寫入播放模塊,用于將解碼后的數(shù)據(jù)流寫入視頻輸出通道,開始播放。
[0014]本發(fā)明提高云終端播放視頻圖像質(zhì)量的方法與系統(tǒng),初始化云終端中GPU硬解碼庫(kù),獲得解碼庫(kù),獲取待播放數(shù)據(jù)流,并將待播放數(shù)據(jù)流發(fā)送至解碼庫(kù)以解碼,獲得解碼后的數(shù)據(jù)流,將解碼后的數(shù)據(jù)流寫入視頻輸出通道,開始播放。整個(gè)過(guò)程中,利用GPU功能的解碼庫(kù)來(lái)改進(jìn)Spicec軟件的視頻播放,對(duì)數(shù)據(jù)流采用硬解碼,直接播放的方式,大幅提高云終端播放視頻圖像質(zhì)量。
【附圖說(shuō)明】
[0015]圖1為本發(fā)明提高云終端播放視頻圖像質(zhì)量的方法第一個(gè)實(shí)施例的流程示意圖;
[0016]圖2為本發(fā)明提高云終端播放視頻圖像質(zhì)量的方法第二個(gè)實(shí)施例的流程示意圖;
[0017]圖3為本發(fā)明提高云終端播放視頻圖像質(zhì)量的系統(tǒng)第一個(gè)實(shí)施例的結(jié)構(gòu)示意圖;
[0018]圖4為本發(fā)明提高云終端播放視頻圖像質(zhì)量的系統(tǒng)第二個(gè)實(shí)施例的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0019]云終端是指利用嵌入式ARM實(shí)現(xiàn),其上運(yùn)行Iinux操作系統(tǒng)的一個(gè)網(wǎng)絡(luò)設(shè)備,具有網(wǎng)絡(luò)VGA、USB等外設(shè)接口,主要功能通過(guò)運(yùn)行應(yīng)用Spicec客戶端連接虛擬化服務(wù)器上虛擬機(jī),從而實(shí)現(xiàn)遠(yuǎn)程桌面的功能。云終端中GPU解碼庫(kù),是指A31提供的接口。
[0020]如圖1、圖2所示,一種提高云終端播放視頻圖像質(zhì)量的方法,包括步驟:
[0021]SlOO:初始化云終端中GPU硬解碼庫(kù),獲得解碼庫(kù)。
[0022]GPU是顯示卡的“大腦”,它決定顯卡的檔次和大部分性能,同時(shí)也是2D顯示卡和3D顯示卡的區(qū)別依據(jù)。2D顯示芯片在處理3D圖像和特效時(shí)主要依賴CPU的處理能力,稱為“軟加速”。3D顯示芯片是將三維圖像和特效處理功能集中在顯示芯片內(nèi),也即所謂的“硬件加速”功能。在其中一個(gè)實(shí)施例中,可以是初始化云終端中GPU硬解碼庫(kù),獲得解碼庫(kù)代理接口,其中,解碼庫(kù)代理接口對(duì)應(yīng)一組函數(shù)指針,函數(shù)指針可以包括open、close、1ctl、request_write、update_data、decode 以及 dispaly_requet。
[0023]S200:獲取待播放數(shù)據(jù)流,并將待播放數(shù)據(jù)流發(fā)送至解碼庫(kù)以解碼,獲得解碼后的數(shù)據(jù)流。
[0024]待播放數(shù)據(jù)流是指等待播放的視頻數(shù)據(jù),這些數(shù)據(jù)可以是直接從互聯(lián)網(wǎng)中獲取的網(wǎng)絡(luò)播放數(shù)據(jù)流。具體來(lái)說(shuō),可以是從網(wǎng)絡(luò)獲得的經(jīng)過(guò)虛擬化服務(wù)器壓縮的數(shù)據(jù)流,將數(shù)據(jù)流發(fā)送至解碼庫(kù)以解碼,獲得解碼后的數(shù)據(jù)流。
[0025]在其中一個(gè)實(shí)施例中,步驟S200具體包括:
[0026]S220:調(diào)用解碼庫(kù)代理接口,初始化視頻輸出顯示接口,獲得待播放數(shù)據(jù)流。
[0027]調(diào)用render_init初始化視頻顯示輸出接口,首先打開顯示輸出設(shè)備/dev/disp,利用1ctl得到顯示輸出的視頻管理層ID。
[0028]S240:調(diào)用解碼庫(kù)代理接口,開啟解碼庫(kù),獲得解碼庫(kù)的緩存。
[0029]調(diào)用解碼庫(kù)代理接口 open,打開解碼庫(kù),調(diào)用解碼庫(kù)代理接口 request_write,得到解碼庫(kù)的緩存。
[0030]S260:將所述待播放數(shù)據(jù)流寫入所述解碼庫(kù)的緩存中,獲得視頻緩存數(shù)據(jù)。
[0031]調(diào)用解碼庫(kù)代理接口 update_data,將數(shù)據(jù)流寫入到解碼庫(kù)緩存中。
[0032]S280:解碼所述視頻緩存數(shù)據(jù),獲得解碼后的數(shù)據(jù)流。
[0033]調(diào)用解碼庫(kù)代理接口 decode開始解碼,調(diào)用解碼庫(kù)代理接口 display_request,得到解碼后的數(shù)據(jù)流ID。
[0034]S300:將解碼后的數(shù)據(jù)流寫入視頻輸出通道,開始播放。
[0035]將解碼后的數(shù)據(jù)流寫入視頻輸出通道,開始播放,視屏播放終端即可開始播放視頻。
[0036]本發(fā)明提高云終端播放視頻圖像質(zhì)量的方法,初始化云終端中GPU硬解碼庫(kù),獲得解碼庫(kù),獲取待播放數(shù)據(jù)流,并將待播放數(shù)據(jù)流發(fā)送至解碼庫(kù)以解碼,獲得解碼后的數(shù)據(jù)流,將解碼后的數(shù)據(jù)流寫入視頻輸出通道,開始播放。整個(gè)過(guò)程中,利用GPU功能的解碼庫(kù)來(lái)改進(jìn)Spicec軟件的視頻播放,對(duì)數(shù)據(jù)流采用硬解碼,直接播放的方式,大幅提高云終端播放視頻圖像質(zhì)量。
[0037]在其中一個(gè)實(shí)施例中,所述調(diào)用解碼庫(kù)代理接口,開啟解碼庫(kù),獲得解碼庫(kù)的緩存之前還有步驟:
[0038]調(diào)用解碼庫(kù)代理接口,設(shè)置解碼庫(kù)參數(shù),其中,解碼庫(kù)參數(shù)包括圖像的寬度、長(zhǎng)度、壓縮方式以及幀速。
[0039]調(diào)用解碼庫(kù)代理接口 setjstreamjnfo,設(shè)置解碼庫(kù)參數(shù),圖像的寬度,長(zhǎng)度,壓縮方式以及幀速等。
[0040]在其中一個(gè)實(shí)施例中,所述函數(shù)指針包括open、close、1ctl、request_write、update_data、decode 以及 dispaly_requet。
[0041]如圖3所示,一種提高云終端播放視頻圖像質(zhì)量的系統(tǒng),包括:
[0042]初始化模塊100,用于初始化云終端中GPU硬解碼庫(kù),獲得解碼庫(kù);
[0043]解碼模塊200,用于獲取待播放數(shù)據(jù)流,并將待播放數(shù)據(jù)流發(fā)送至解碼庫(kù)以解碼,獲得解碼后的數(shù)據(jù)流;
[0044]寫入播放模塊300,用于將解碼后的數(shù)據(jù)流寫入視頻輸出通道,開始播放。
[0045]本發(fā)明提高云終端播放視頻圖像質(zhì)量的系統(tǒng),初始化模塊100初始化云終端中