本發(fā)明涉及一種視頻播放技術(shù)領(lǐng)域,尤其是涉及一種視頻標(biāo)簽的海報(bào)獲取處理方法和裝置。
背景技術(shù):
在瀏覽頁(yè)面上打開一段視頻后,首先展示的是該段視頻的海報(bào)圖片,通過(guò)該海報(bào)圖片吸引用戶點(diǎn)擊觀看,此時(shí)在用戶點(diǎn)擊位于海報(bào)圖片上的播放按鈕后,開始播放該段視頻。
在實(shí)現(xiàn)本發(fā)明實(shí)施例的過(guò)程中,發(fā)明人發(fā)現(xiàn),海報(bào)圖片一般是在視頻資源對(duì)應(yīng)的服務(wù)器上獲取,但是對(duì)于第三方視頻,例如在騰訊視頻播放器上觀看土豆視頻資源,雖然能夠獲取其視頻資源,但是海報(bào)圖片不易獲得,有時(shí)無(wú)海報(bào)圖片,降低了用戶的點(diǎn)擊率。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例提供一種視頻標(biāo)簽的海報(bào)獲取處理方法和裝置,適用于獲取第三方視頻的海報(bào)圖片,以提高用戶的點(diǎn)擊率。
本發(fā)明實(shí)施例提供的視頻標(biāo)簽的海報(bào)獲取處理方法包括:
在檢測(cè)到對(duì)瀏覽網(wǎng)頁(yè)上的視頻標(biāo)簽所對(duì)應(yīng)的視頻文件進(jìn)行播放的觸發(fā)操作時(shí),獲取所述視頻文件中第一幀圖像的數(shù)據(jù),并將所述第一幀圖像的數(shù)據(jù)進(jìn)行轉(zhuǎn)換以獲得位圖圖像;
將所述位圖圖像作為所述視頻標(biāo)簽的海報(bào)圖片在所述瀏覽網(wǎng)頁(yè)上進(jìn)行顯示。
可選的,所述獲取所述視頻文件中第一幀圖像的數(shù)據(jù),包括:向提供視頻資源的服務(wù)器發(fā)送獲取所述海報(bào)圖片的請(qǐng)求,若請(qǐng)求失敗,則獲取所述視頻文件中第一幀圖像的數(shù)據(jù)。
可選的,所述獲取所述視頻文件中第一幀圖像的數(shù)據(jù),包括:若判斷獲知所述視頻標(biāo)簽尚未設(shè)置海報(bào)屬性,則獲取所述視頻文件中第一幀圖像的數(shù)據(jù)。
可選的,所述方法還包括:將所述位圖圖像存儲(chǔ)在預(yù)設(shè)存儲(chǔ)地址中,并將所述預(yù)設(shè)存儲(chǔ)地址設(shè)置為所述視頻標(biāo)簽的海報(bào)屬性。
可選的,所述獲取所述視頻文件中第一幀圖像的數(shù)據(jù)包括:在圖形緩存區(qū)中,獲取所述第一幀圖像對(duì)應(yīng)的圖片字節(jié)數(shù)組。
可選的,所述瀏覽網(wǎng)頁(yè)為HTML5網(wǎng)頁(yè)。
本發(fā)明實(shí)施例提供的視頻標(biāo)簽的海報(bào)獲取處理裝置包括:
第一處理模塊,用于在檢測(cè)到對(duì)瀏覽網(wǎng)頁(yè)上的視頻標(biāo)簽所對(duì)應(yīng)的視頻文件進(jìn)行播放的觸發(fā)操作時(shí),獲取所述視頻文件中第一幀圖像的數(shù)據(jù),并將所述第一幀圖像的數(shù)據(jù)進(jìn)行轉(zhuǎn)換以獲得位圖圖像;
第二處理模塊,用于將所述位圖圖像作為所述視頻標(biāo)簽的海報(bào)圖片在所述瀏覽網(wǎng)頁(yè)上進(jìn)行顯示。
可選的,所述第一處理模塊中獲取所述視頻文件中第一幀圖像的數(shù)據(jù)包括:提供視頻資源的服務(wù)器發(fā)送獲取所述海報(bào)圖片的請(qǐng)求,若請(qǐng)求失敗,則獲取所述視頻文件中第一幀圖像的數(shù)據(jù)。。
可選的,所述第一處理模塊中獲取所述視頻文件中第一幀圖像的數(shù)據(jù)包括:若判斷獲知所述視頻標(biāo)簽尚未設(shè)置海報(bào)屬性,則獲取所述視頻文件中第一幀圖像的數(shù)據(jù)。
可選的,所述裝置還包括:存儲(chǔ)模塊,用于將所述位圖圖像存儲(chǔ)在預(yù)設(shè)存儲(chǔ)地址中,并將所述預(yù)設(shè)存儲(chǔ)地址設(shè)置為所述視頻標(biāo)簽的海報(bào)屬性。
可選的,所述第一處理模塊中獲取所述視頻文件中第一幀圖像的數(shù)據(jù)包括:在圖形緩存區(qū)中,獲取所述第一幀圖像對(duì)應(yīng)的圖片字節(jié)數(shù)組。
可選的,所述瀏覽網(wǎng)頁(yè)為HTML5網(wǎng)頁(yè)。
本發(fā)明實(shí)施例提供的視頻標(biāo)簽的海報(bào)獲取處理方法和裝置,通過(guò)獲取視頻文件的第一幀圖像作為海報(bào)圖片顯示在瀏覽器頁(yè)面中,因此不管是本地視頻還是第三方視頻,都能通本實(shí)施例提供的方法獲得海報(bào)圖片,因此本實(shí)施例提供的方法不僅適用于本地服務(wù)器上的視頻資源,也適用于第三方視頻,以解決現(xiàn)有技術(shù)有時(shí)不易獲得第三方視頻的海報(bào)圖片的缺陷,提高用戶的點(diǎn)擊率。
附圖說(shuō)明
為了更清楚地說(shuō)明本發(fā)明或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作一簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明一實(shí)施例中視頻標(biāo)簽的海報(bào)獲取處理方法的流程示意圖;
圖2為本發(fā)明另一實(shí)施例中視頻標(biāo)簽的海報(bào)獲取處理方法的流程示意圖;
圖3為本發(fā)明再一實(shí)施例中視頻標(biāo)簽的海報(bào)獲取處理裝置的結(jié)構(gòu)框圖;
圖4為本發(fā)明一實(shí)施例中視頻標(biāo)簽的海報(bào)獲取處理裝置的實(shí)體結(jié)構(gòu)示意圖。
具體實(shí)施方式
為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
本發(fā)明一實(shí)施例提供一種視頻標(biāo)簽的海報(bào)獲取處理方法,該方法適于在需要獲取包括第三方視頻在內(nèi)的任意視頻的海報(bào)圖片的場(chǎng)景中,具體可以由瀏覽器執(zhí)行,如圖1所示,該方法包括:
S101、在檢測(cè)到對(duì)瀏覽網(wǎng)頁(yè)上的視頻標(biāo)簽所對(duì)應(yīng)的視頻文件進(jìn)行播放的觸發(fā)操作時(shí),獲取視頻文件中第一幀圖像的數(shù)據(jù),并將該第一幀圖像的數(shù)據(jù)進(jìn)行轉(zhuǎn)換以獲得位圖圖像;
其中,視頻標(biāo)簽即<video>標(biāo)簽。
其中,位圖圖像即bitmap圖像。
其中,第一幀圖像的數(shù)據(jù)可以是第一幀圖像的圖片字節(jié)數(shù)組,所謂的圖片字節(jié)數(shù)值即第一幀圖像的二進(jìn)制文件,一般情況下圖片字節(jié)數(shù)組存儲(chǔ)在圖形緩存區(qū)GraphicBuffer中,因此可以通過(guò)在圖形緩存區(qū)GraphicBuffer中獲取第一幀圖像的圖片字節(jié)數(shù)組的方式實(shí)現(xiàn)獲取第一幀圖像的數(shù)據(jù)。
其中,S101可以通過(guò)瀏覽器內(nèi)核中的平面Surface執(zhí)行。
S102、將位圖圖像作為視頻標(biāo)簽的海報(bào)圖片在瀏覽網(wǎng)頁(yè)上進(jìn)行顯示。
在具體實(shí)施時(shí),可以通過(guò)用于控制視頻顯示的表面視圖獲取位圖圖像。其中,用于控制視頻顯示的表面視圖是指瀏覽器內(nèi)核的surfaceview,surfaceview作為一種表面視圖,是視圖View的一種。實(shí)質(zhì)上,視頻的整個(gè)播放過(guò)程是通過(guò)視頻播放器MediaPlayer和控制視頻顯示的表面視圖surfaceview來(lái)實(shí)現(xiàn)的,其中MediaPlayer用于提供視頻源、控制視頻的快進(jìn)、暫停和播放等,然而視頻能夠在MediaPlayer中一幀一幀的顯示出來(lái)是通過(guò)surfaceview繪制視頻幀的方式來(lái)控制的,故這里稱surfaceview為用于控制視頻顯示的表面視圖。
實(shí)際上,用于控制視頻顯示的表面視圖surfaceview在獲取位圖圖像時(shí)是獲取當(dāng)前幀的位圖圖像,而由于上述S101是在視頻文件的播放被觸發(fā)時(shí)進(jìn)行的,因此S101得到的是第一幀的位圖圖像,從而S102中設(shè)置在瀏覽頁(yè)面上作為海報(bào)圖片的是視頻的第一幀圖像。
其中,用于控制視頻顯示的表面視圖surfaceview在獲取位圖圖像時(shí)可通過(guò)捕獲接口即CaptureSurface接口獲取S101中得到的位圖圖像。
可理解的是,并不是所有的頁(yè)面都設(shè)置有<video>標(biāo)簽,目前所知的設(shè)置<video>標(biāo)簽的頁(yè)面有HTML5網(wǎng)頁(yè),因此HTML5頁(yè)面可以采用本實(shí)施例提供的方法獲取海報(bào)圖片。盡管在S101中提到<video>標(biāo)簽,但是獲取海報(bào)圖片的過(guò)程并不涉及到<video>標(biāo)簽中的內(nèi)容,因此對(duì)于其他未設(shè)置和設(shè)置<video>標(biāo)簽的頁(yè)面也可以采用這種方法設(shè)置視頻標(biāo)簽的海報(bào)圖片。
當(dāng)然,對(duì)于設(shè)置有<video>標(biāo)簽的頁(yè)面,由于<video>標(biāo)簽可以設(shè)置Poster屬性,而Poster屬性中存儲(chǔ)的是預(yù)設(shè)海報(bào)圖片的鏈接地址,因此在S101中視頻的播放被觸發(fā)之后,可以先判斷<video>標(biāo)簽是否設(shè)置Poster屬性,如果設(shè)置有Poster屬性的話,直接獲取Poster屬性中的鏈接地址即可,而不需要執(zhí)行S101和S102中后續(xù)的步驟。如果沒(méi)有設(shè)置海報(bào)屬性的話,則需要通執(zhí)行S101和S102中后續(xù)的步驟得到一張海報(bào)圖片。當(dāng)然,不管頁(yè)面是否設(shè)置<video>標(biāo)簽,也不管<video>標(biāo)簽是否設(shè)置有Poster屬性,都可以直接采用本實(shí)施例提供的S101和S102得到一張海報(bào)圖片。
在實(shí)際應(yīng)用時(shí),對(duì)于設(shè)置有<video>標(biāo)簽的頁(yè)面,如果判斷得知<video>標(biāo)簽尚未設(shè)置Poster屬性,則執(zhí)行S101和S102得到一張海報(bào)圖片,此時(shí)還可以將得到的這張海報(bào)圖片存儲(chǔ)在預(yù)設(shè)存儲(chǔ)地址中,并將該預(yù)設(shè)存儲(chǔ)地址設(shè)置為視頻標(biāo)簽的海報(bào)屬性,這樣下次需要獲取海報(bào)時(shí)直接根據(jù)<video>標(biāo)簽的Poster屬性中的預(yù)設(shè)存儲(chǔ)地址獲取海報(bào)圖片,使下一次的海報(bào)獲取工作變得快速、方便。
本發(fā)明提供的視頻標(biāo)簽的海報(bào)獲取處理方法,通過(guò)獲取視頻文件的第一幀圖像作為海報(bào)圖片顯示在瀏覽器頁(yè)面中,因此不管是本地視頻還是第三方視頻,都能通本實(shí)施例提供的方法獲得海報(bào)圖片,因此本實(shí)施例提供的方法不僅適用于本地服務(wù)器上的視頻資源,也適用于第三方視頻,以解決現(xiàn)有技術(shù)不易獲得第三方視頻的海報(bào)圖片的缺陷,提高用戶的點(diǎn)擊率。
本發(fā)明另一實(shí)施例提供一種海報(bào)獲取處理方法,該方法也適于在需要獲取包括第三方視頻在內(nèi)的任意視頻的海報(bào)圖片的場(chǎng)景中,具體可以由瀏覽器執(zhí)行,如圖2所示,該方法包括:
S201、在檢測(cè)到對(duì)瀏覽網(wǎng)頁(yè)上的視頻標(biāo)簽所對(duì)應(yīng)的視頻文件進(jìn)行播放的觸發(fā)操作時(shí),向提供視頻資源的服務(wù)器發(fā)送獲取海報(bào)圖片的請(qǐng)求,若請(qǐng)求失敗,則獲取視頻文件中第一幀圖像的數(shù)據(jù),并將該第一幀圖像的數(shù)據(jù)進(jìn)行轉(zhuǎn)換以獲得位圖圖像;
其中,視頻標(biāo)簽即<video>標(biāo)簽。
其中,位圖圖像即bitmap圖像。
其中,第一幀圖像的數(shù)據(jù)可以是第一幀圖像的圖片字節(jié)數(shù)組,所謂的圖片字節(jié)數(shù)值即第一幀圖像的二進(jìn)制文件,一般情況下圖片字節(jié)數(shù)組存儲(chǔ)在圖形緩存區(qū)GraphicBuffer中,因此可以通過(guò)在圖形緩存區(qū)GraphicBuffer中獲取第一幀圖像的圖片字節(jié)數(shù)組的方式實(shí)現(xiàn)獲取第一幀圖像的數(shù)據(jù)。
可理解的是,多數(shù)情況下可以從提供視頻資源的服務(wù)器上獲得海報(bào)圖片,例如,在騰訊視頻播放器中播放騰訊視頻的服務(wù)器所提供的視頻資源的情況下,海報(bào)圖片可以直接在提供騰訊視頻資源的服務(wù)器上獲取即可。再例如,在騰訊視頻播放器中播放土豆視頻的服務(wù)器所提供的視頻資源的情況下,需要向提供土豆視頻資源的服務(wù)器中獲取海報(bào)圖片,如果能夠獲取到,說(shuō)明請(qǐng)求成功,如果沒(méi)有獲取到,說(shuō)明請(qǐng)求失敗,在請(qǐng)求失敗的情況下采用本實(shí)施例中的S201和后面的S202獲取海報(bào)圖片,以保證能夠顯示海報(bào)圖片。
其中,S201可以通過(guò)瀏覽器內(nèi)核中的平面Surface執(zhí)行。
S202、將位圖圖像作為視頻標(biāo)簽的海報(bào)圖片在瀏覽網(wǎng)頁(yè)上進(jìn)行顯示。
在具體實(shí)施時(shí),可以通過(guò)用于控制視頻顯示的表面視圖獲取位圖圖像,其中,用于控制視頻顯示的表面視圖是指瀏覽器內(nèi)核的surfaceview,surfaceview作為一種表面視圖,是視圖View的一種。實(shí)質(zhì)上,視頻的整個(gè)播放過(guò)程是通過(guò)視頻播放器MediaPlayer和控制視頻顯示的表面視圖surfaceview來(lái)實(shí)現(xiàn)的,其中MediaPlayer用于提供視頻源、控制視頻的快進(jìn)、暫停和播放等,然而視頻能夠在MediaPlayer中一幀一幀的顯示出來(lái)是通過(guò)surfaceview繪制視頻幀的方式來(lái)控制的,故這里稱surfaceview為用于控制視頻顯示的表面視圖。
實(shí)際上,用于控制視頻顯示的表面視圖surfaceview在獲取位圖圖像時(shí)是獲取當(dāng)前幀的位圖圖像,而由于上述S201是在視頻文件的播放被觸發(fā)時(shí)進(jìn)行的,因此S201得到的是第一幀的位圖圖像,從而S202中設(shè)置在瀏覽頁(yè)面上作為海報(bào)圖片的是視頻的第一幀圖像。
其中,用于控制視頻顯示的表面視圖surfaceview在獲取位圖圖像時(shí)可通過(guò)捕獲接口即CaptureSurface接口獲取S201中得到的位圖圖像。
可理解的是,并不是所有的頁(yè)面都設(shè)置有<video>標(biāo)簽,目前所知的設(shè)置<video>標(biāo)簽的頁(yè)面有HTML5網(wǎng)頁(yè),因此HTML5頁(yè)面可以采用本實(shí)施例提供的方法獲取海報(bào)圖片。盡管在S201中提到<video>標(biāo)簽,但是獲取海報(bào)圖片的過(guò)程并不涉及到<video>標(biāo)簽中的內(nèi)容,因此對(duì)于其他未設(shè)置和設(shè)置<video>標(biāo)簽的頁(yè)面也可以采用這種方法設(shè)置視頻標(biāo)簽的海報(bào)圖片。
當(dāng)然,對(duì)于設(shè)置有<video>標(biāo)簽的頁(yè)面,由于<video>標(biāo)簽可以設(shè)置Poster屬性,而Poster屬性中存儲(chǔ)的是預(yù)設(shè)海報(bào)圖片的鏈接地址,因此在S201中請(qǐng)求失敗的情況下,還可以判斷<video>標(biāo)簽是否設(shè)置Poster屬性,如果設(shè)置有Poster屬性的話,直接獲取Poster屬性中的鏈接地址即可,而不需要執(zhí)行S201和S202中后續(xù)的步驟。如果沒(méi)有設(shè)置海報(bào)屬性的話,則需要通執(zhí)行S201和S202中后續(xù)的步驟得到一張海報(bào)。當(dāng)然,不管頁(yè)面是否設(shè)置<video>標(biāo)簽,也不管<video>標(biāo)簽是否設(shè)置有Poster屬性,都可以直接采用本實(shí)施例提供的S201和S202得到一張海報(bào)圖片。
在實(shí)際應(yīng)用時(shí),對(duì)于設(shè)置有<video>標(biāo)簽的頁(yè)面,如果在請(qǐng)求失敗的情況下判斷得知<video>標(biāo)簽尚未設(shè)置Poster屬性,則執(zhí)行S201和S202后續(xù)的步驟得到一張海報(bào)圖片,此時(shí)還可以將得到的這張海報(bào)圖片存儲(chǔ)在預(yù)設(shè)存儲(chǔ)地址中,并將該預(yù)設(shè)存儲(chǔ)地址設(shè)置為視頻標(biāo)簽的海報(bào)屬性,這樣下次需要獲取海報(bào)時(shí)直接根據(jù)<video>標(biāo)簽的Poster屬性中的預(yù)設(shè)存儲(chǔ)地址獲取海報(bào)圖片,使下一次的海報(bào)獲取工作變得快速、方便。
本實(shí)施例與上一實(shí)施例的區(qū)別在于本實(shí)施例首先向提供視頻資源的服務(wù)器發(fā)送獲取海報(bào)圖片的請(qǐng)求,在請(qǐng)求失敗時(shí)才獲取視頻第一幀圖像的數(shù)據(jù)。與上一實(shí)施例相同的,本實(shí)施例也是通過(guò)獲取視頻文件的第一幀圖像作為海報(bào)圖片顯示在瀏覽器頁(yè)面的方式得到一張海報(bào)圖片,因此不管是本地視頻還是第三方視頻,都能通本實(shí)施例提供的方法獲得海報(bào)圖片,因此本實(shí)施例提供的方法不僅適用于本地服務(wù)器上的視頻資源,也適用于第三方視頻,以解決現(xiàn)有技術(shù)有時(shí)不易獲得第三方視頻的海報(bào)圖片的缺陷,提高用戶的點(diǎn)擊率。
本發(fā)明再一實(shí)施例提供一種視頻標(biāo)簽的海報(bào)獲取處理裝置,該裝置適于在需要獲取包括第三方視頻在內(nèi)的任意視頻的海報(bào)圖片的場(chǎng)景中使用,該裝置可以為設(shè)置在瀏覽器的程序模塊,如圖3所示,該裝置300包括第一處理模塊301和第二處理模塊302,其中:
第一處理模塊301用于在檢測(cè)到對(duì)瀏覽網(wǎng)頁(yè)上的視頻標(biāo)簽所對(duì)應(yīng)的視頻文件進(jìn)行播放的觸發(fā)操作時(shí),獲取視頻文件中第一幀圖像的數(shù)據(jù),并將第一幀圖像的數(shù)據(jù)進(jìn)行轉(zhuǎn)換以獲得位圖圖像;
其中,視頻標(biāo)簽即<video>標(biāo)簽。
其中,位圖圖像即bitmap圖像。
其中,第一幀圖像的數(shù)據(jù)可以是第一幀圖像的圖片字節(jié)數(shù)組,所謂的圖片字節(jié)數(shù)值即第一幀圖像的二進(jìn)制文件,一般情況下圖片字節(jié)數(shù)組存儲(chǔ)在圖形緩存區(qū)GraphicBuffer中,因此第一處理模塊301可以通過(guò)在圖形緩存區(qū)GraphicBuffer中獲取第一幀圖像的圖片字節(jié)數(shù)組的方式實(shí)現(xiàn)獲取第一幀圖像的數(shù)據(jù)。
其中,第一處理模塊301可以為瀏覽器內(nèi)核中的平面Surface。
第二處理模塊302用于將位圖圖像作為視頻標(biāo)簽的海報(bào)圖片在瀏覽網(wǎng)頁(yè)上進(jìn)行顯示。
在具體實(shí)施時(shí),可以通過(guò)用于控制視頻顯示的表面視圖獲取位圖圖像,其中,用于控制視頻顯示的表面視圖是指瀏覽器內(nèi)核的surfaceview,surfaceview作為一種表面視圖,是視圖View的一種。實(shí)質(zhì)上,視頻的整個(gè)播放過(guò)程是通過(guò)視頻播放器MediaPlayer和控制視頻顯示的表面視圖surfaceview來(lái)實(shí)現(xiàn)的,其中MediaPlayer用于提供視頻源、控制視頻的快進(jìn)、暫停和播放等,然而視頻能夠在MediaPlayer中一幀一幀的顯示出來(lái)是通過(guò)surfaceview繪制視頻幀的方式來(lái)控制的,故這里稱surfaceview為用于控制視頻顯示的表面視圖。
實(shí)際上,用于控制視頻顯示的表面視圖surfaceview在獲取位圖圖像時(shí)是獲取當(dāng)前幀的位圖圖像,而由于上述第一處理模塊301是在視頻文件的播放被觸發(fā)時(shí)進(jìn)行的,因此第一處理模塊301得到的是第一幀的位圖圖像,從而第二處理模塊302中設(shè)置在瀏覽頁(yè)面上作為海報(bào)圖片的是視頻的第一幀圖像。
其中,用于控制視頻顯示的表面視圖surfaceview在獲取位圖圖像時(shí)可通過(guò)捕獲接口即CaptureSurface接口獲取第一處理模塊301中得到的位圖圖像。
可理解的是,并不是所有的頁(yè)面都設(shè)置有<video>標(biāo)簽,目前所知的設(shè)置<video>標(biāo)簽的頁(yè)面有HTML5網(wǎng)頁(yè),因此HTML5頁(yè)面可以采用本實(shí)施例提供的裝置獲取海報(bào)圖片。盡管在第一處理模塊301中提到<video>標(biāo)簽,但是本實(shí)施例提供的裝置獲取海報(bào)圖片的過(guò)程并不涉及到<video>標(biāo)簽中的內(nèi)容,因此對(duì)于其他未設(shè)置和設(shè)置<video>標(biāo)簽的頁(yè)面也可以采用本實(shí)施例提供的裝置設(shè)置視頻標(biāo)簽的海報(bào)圖片。
當(dāng)然,對(duì)于設(shè)置有<video>標(biāo)簽的頁(yè)面,由于<video>標(biāo)簽可以設(shè)置Poster屬性,而Poster屬性中存儲(chǔ)的是預(yù)設(shè)海報(bào)圖片的鏈接地址,因此第一處理模塊301檢測(cè)到視頻的播放被觸發(fā)之后,可以先判斷<video>標(biāo)簽是否設(shè)置Poster屬性,如果設(shè)置有Poster屬性的話,直接獲取Poster屬性中的鏈接地址即可,而不需要執(zhí)行第一處理模塊301和第二處理模塊302中后續(xù)的步驟。如果沒(méi)有設(shè)置海報(bào)屬性的話,則需要通執(zhí)行第一處理模塊301和第二處理模塊302中后續(xù)的步驟得到一張海報(bào)圖片。當(dāng)然,不管頁(yè)面是否設(shè)置<video>標(biāo)簽,也不管<video>標(biāo)簽是否設(shè)置有Poster屬性,都可以直接采用本實(shí)施例提供的第一處理模塊301和第二處理模塊302得到一張海報(bào)圖片。
在實(shí)際應(yīng)用時(shí),對(duì)于設(shè)置有<video>標(biāo)簽的頁(yè)面,如果第一處理模塊301判斷得知<video>標(biāo)簽尚未設(shè)置Poster屬性,則執(zhí)行第一處理模塊301和第二處理模塊302中后續(xù)的步驟得到一張海報(bào)圖片。此時(shí),本實(shí)施例提供的裝置還可以包括一個(gè)存儲(chǔ)模塊,該存儲(chǔ)模塊用于將位圖圖像存儲(chǔ)在預(yù)設(shè)存儲(chǔ)地址中,并將預(yù)設(shè)存儲(chǔ)地址設(shè)置為視頻標(biāo)簽的海報(bào)屬性,這樣下次需要獲取海報(bào)時(shí)直接根據(jù)<video>標(biāo)簽的Poster屬性中的預(yù)設(shè)存儲(chǔ)地址獲取海報(bào)圖片,使下一次的海報(bào)獲取工作變得快速、方便。
本發(fā)明提供的視頻標(biāo)簽的海報(bào)獲取處理裝置,第一處理模塊獲取視頻文件的第一幀圖像的位圖圖像,第二處理模塊將位圖圖像作為海報(bào)圖片顯示在瀏覽器頁(yè)面中,因此不管是本地視頻還是第三方視頻,都能通本實(shí)施例提供的裝置獲得海報(bào)圖片,因此本實(shí)施例提供的裝置不僅適用于本地服務(wù)器上的視頻資源,也適用于第三方視頻,以解決現(xiàn)有技術(shù)有時(shí)不易獲得第三方視頻的海報(bào)圖片的缺陷,提高用戶的點(diǎn)擊率。
發(fā)明又一實(shí)施例提供一種視頻標(biāo)簽的海報(bào)獲取處理裝置,該裝置適于在需要獲取包括第三方視頻在內(nèi)的任意視頻的海報(bào)圖片的場(chǎng)景中使用,該裝置可以為設(shè)置在瀏覽器的程序模塊,該裝置包括第一處理模塊和第二處理模塊,其中:
第一處理模塊用于在檢測(cè)到對(duì)瀏覽網(wǎng)頁(yè)上的視頻標(biāo)簽所對(duì)應(yīng)的視頻文件進(jìn)行播放的觸發(fā)操作時(shí),向提供視頻資源的服務(wù)器發(fā)送獲取海報(bào)圖片的請(qǐng)求,若請(qǐng)求失敗,則獲取視頻文件中第一幀圖像的數(shù)據(jù),并將第一幀圖像的數(shù)據(jù)進(jìn)行轉(zhuǎn)換以獲得位圖圖像;
其中,視頻標(biāo)簽即<video>標(biāo)簽。
其中,位圖圖像即bitmap圖像。
其中,第一幀圖像的數(shù)據(jù)可以是第一幀圖像的圖片字節(jié)數(shù)組,所謂的圖片字節(jié)數(shù)值即第一幀圖像的二進(jìn)制文件,一般情況下圖片字節(jié)數(shù)組存儲(chǔ)在圖形緩存區(qū)GraphicBuffer中,因此可以通過(guò)在圖形緩存區(qū)GraphicBuffer中獲取第一幀圖像的圖片字節(jié)數(shù)組的方式實(shí)現(xiàn)獲取第一幀圖像的數(shù)據(jù)。
可理解的是,多數(shù)情況下可以從提供視頻資源的服務(wù)器上獲得海報(bào)圖片,例如,在騰訊視頻播放器中播放騰訊視頻的服務(wù)器所提供的視頻資源的情況下,海報(bào)圖片可以直接在提供騰訊視頻資源的服務(wù)器上獲取即可。再例如,在騰訊視頻播放器中播放土豆視頻的服務(wù)器所提供的視頻資源的情況下,需要向提供土豆視頻資源的服務(wù)器中獲取海報(bào)圖片,如果能夠獲取到,說(shuō)明請(qǐng)求成功,如果沒(méi)有獲取到,說(shuō)明請(qǐng)求失敗,在請(qǐng)求失敗的情況下執(zhí)行第一處理模塊中的后續(xù)步驟和后面的第二處理模塊獲取海報(bào)圖片,以保證能夠顯示海報(bào)圖片。
其中,第一處理模塊可以為瀏覽器內(nèi)核中的平面Surface。
第二處理模塊,用于將位圖圖像作為視頻標(biāo)簽的海報(bào)圖片在瀏覽網(wǎng)頁(yè)上進(jìn)行顯示。
在具體實(shí)施時(shí),通過(guò)用于控制視頻顯示的表面視圖獲取位圖圖像。其中,用于控制視頻顯示的表面視圖是指瀏覽器內(nèi)核的surfaceview,surfaceview作為一種表面視圖,是視圖View的一種。實(shí)質(zhì)上,視頻的整個(gè)播放過(guò)程是通過(guò)視頻播放器MediaPlayer和控制視頻顯示的表面視圖surfaceview來(lái)實(shí)現(xiàn)的,其中MediaPlayer用于提供視頻源、控制視頻的快進(jìn)、暫停和播放等,然而視頻能夠在MediaPlayer中一幀一幀的顯示出來(lái)是通過(guò)surfaceview繪制視頻幀的方式來(lái)控制的,故這里稱surfaceview為用于控制視頻顯示的表面視圖。
實(shí)際上,用于控制視頻顯示的表面視圖surfaceview在獲取位圖圖像時(shí)是獲取當(dāng)前幀的位圖圖像,而由于第一處理模塊是在視頻文件的播放被觸發(fā)時(shí)執(zhí)行的,第一處理模塊處理模塊獲得的是第一幀的位圖圖像,從而第二處理模塊設(shè)置在瀏覽頁(yè)面上作為海報(bào)圖片的是視頻的第一幀圖像。
其中,用于控制視頻顯示的表面視圖surfaceview在獲取位圖圖像時(shí)可通過(guò)捕獲接口即CaptureSurface接口獲取第一處理模塊中得到的位圖圖像。
可理解的是,并不是所有的頁(yè)面都設(shè)置有<video>標(biāo)簽,目前所知的設(shè)置<video>標(biāo)簽的頁(yè)面有HTML5網(wǎng)頁(yè),因此HTML5頁(yè)面可以采用本實(shí)施例提供的裝置獲取海報(bào)圖片。盡管在第一處理模塊中提到<video>標(biāo)簽,但是獲取海報(bào)圖片的過(guò)程并不涉及到<video>標(biāo)簽中的內(nèi)容,因此對(duì)于其他未設(shè)置和設(shè)置<video>標(biāo)簽的頁(yè)面也可以采用本實(shí)施例提供的裝置設(shè)置視頻標(biāo)簽的海報(bào)圖片。
當(dāng)然,對(duì)于設(shè)置有<video>標(biāo)簽的頁(yè)面,由于<video>標(biāo)簽可以設(shè)置Poster屬性,而Poster屬性中存儲(chǔ)的是預(yù)設(shè)海報(bào)圖片的鏈接地址,因此第一處理模塊在請(qǐng)求失敗的情況下,還可以判斷<video>標(biāo)簽是否設(shè)置Poster屬性,如果設(shè)置有Poster屬性的話,直接獲取Poster屬性中的鏈接地址即可,而不需要執(zhí)行第一處理模塊和第二處理模塊中后續(xù)的步驟。如果沒(méi)有設(shè)置海報(bào)屬性的話,則需要通執(zhí)行第一處理模塊和第二處理模塊中后續(xù)的步驟得到一張海報(bào)。當(dāng)然,不管頁(yè)面是否設(shè)置<video>標(biāo)簽,也不管<video>標(biāo)簽是否設(shè)置有Poster屬性,都可以直接采用本實(shí)施例提供的第一處理模塊和第二處理模塊得到一張海報(bào)圖片。
在實(shí)際應(yīng)用時(shí),對(duì)于設(shè)置有<video>標(biāo)簽的頁(yè)面,如果第一處理模塊請(qǐng)求失敗的情況下判斷得知<video>標(biāo)簽尚未設(shè)置Poster屬性,則執(zhí)行第一處理模塊和第二處理模塊中后續(xù)的步驟得到一張海報(bào)圖片。此時(shí)本實(shí)施例提供的裝置還可以包括一存儲(chǔ)模塊,該存儲(chǔ)模塊用于將位圖圖像存儲(chǔ)在預(yù)設(shè)存儲(chǔ)地址中,并將預(yù)設(shè)存儲(chǔ)地址設(shè)置為視頻標(biāo)簽的海報(bào)屬性,這樣下次需要獲取海報(bào)時(shí)直接根據(jù)<video>標(biāo)簽的Poster屬性中的預(yù)設(shè)存儲(chǔ)地址獲取海報(bào)圖片,使下一次的海報(bào)獲取工作變得快速、方便。
本實(shí)施例與上一實(shí)施例的區(qū)別在于本實(shí)施例中第一處理模塊首先向提供視頻資源的服務(wù)器發(fā)送獲取海報(bào)圖片的請(qǐng)求,在請(qǐng)求失敗時(shí)才獲取視頻第一幀圖像的數(shù)據(jù)。與上一實(shí)施例相同的,本實(shí)施例也是通過(guò)第一處理模塊獲取視頻文件的第一幀圖像,第二處理模塊將該第一幀圖像作為海報(bào)圖片顯示在瀏覽器頁(yè)面的方式得到一張海報(bào)圖片,因此不管是本地視頻還是第三方視頻,都能通本實(shí)施例提供的裝置獲得海報(bào)圖片,因此本實(shí)施例提供的裝置不僅適用于本地服務(wù)器上的視頻資源,也適用于第三方視頻,以解決現(xiàn)有技術(shù)有時(shí)不易獲得第三方視頻的海報(bào)圖片的缺陷,提高用戶的點(diǎn)擊率。
由于本實(shí)施例所介紹的海報(bào)獲取處理裝置為可以執(zhí)行本發(fā)明實(shí)施例中的海報(bào)獲取處理方法的裝置,故而基于本發(fā)明實(shí)施例中所介紹的海報(bào)獲取處理方法,本領(lǐng)域所屬技術(shù)人員能夠了解本實(shí)施例的海報(bào)獲取處理裝置的具體實(shí)施方式以及其各種變化形式,所以在此對(duì)于該海報(bào)獲取處理裝置如何實(shí)現(xiàn)本發(fā)明實(shí)施例中的海報(bào)獲取處理方法不再詳細(xì)介紹。只要本領(lǐng)域所屬技術(shù)人員實(shí)施本發(fā)明實(shí)施例中海報(bào)獲取處理方法所采用的裝置,都屬于本申請(qǐng)所欲保護(hù)的范圍。
圖4示例了一種海報(bào)獲取處理裝置的實(shí)體結(jié)構(gòu)示意圖,如圖4所示,該裝置可以包括:處理器(processor)401、通信接口(Communications Interface)402、存儲(chǔ)器(memory)403和總線404,其中,處理器401、通信接口402、存儲(chǔ)器403通過(guò)總線404完成相互間的通信。通信接口402可以用于海報(bào)獲取處理裝置與外部裝置(例如移動(dòng)終端的顯示屏)之間的信息傳輸。處理器401可以調(diào)用存儲(chǔ)器403中的邏輯指令,以執(zhí)行如下方法:在檢測(cè)到對(duì)瀏覽網(wǎng)頁(yè)上的視頻標(biāo)簽所對(duì)應(yīng)的視頻文件進(jìn)行播放的觸發(fā)操作時(shí),獲取視頻文件中第一幀圖像的數(shù)據(jù),并將第一幀圖像的數(shù)據(jù)進(jìn)行轉(zhuǎn)換以獲得位圖圖像;將位圖圖像作為視頻標(biāo)簽的海報(bào)圖片在瀏覽網(wǎng)頁(yè)上進(jìn)行顯示。
此外,上述的存儲(chǔ)器403中的邏輯指令可以通過(guò)軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中。基于這樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例方法的全部或部分步驟。而前述的存儲(chǔ)介質(zhì)包括:U盤、移動(dòng)硬盤、只讀存儲(chǔ)器(ROM,Read-Only Memory)、隨機(jī)存取存儲(chǔ)器(RAM,Random Access Memory)、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。
以上所描述的裝置實(shí)施例僅僅是示意性的,其中作為分離部件說(shuō)明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部模塊來(lái)實(shí)現(xiàn)本實(shí)施例方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性的勞動(dòng)的情況下,即可以理解并實(shí)施。
通過(guò)以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到各實(shí)施方式可借助軟件加必需的通用硬件平臺(tái)的方式來(lái)實(shí)現(xiàn),當(dāng)然也可以通過(guò)硬件。基于這樣的理解,上述技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品可以存儲(chǔ)在計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,如ROM/RAM、磁碟、光盤等,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行各個(gè)實(shí)施例或者實(shí)施例的某些部分的方法。
最后應(yīng)說(shuō)明的是:以上實(shí)施例僅用以說(shuō)明本發(fā)明的技術(shù)方案,而非對(duì)其限制;盡管參照前述實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說(shuō)明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的精神和范圍。