一種流媒體緩沖播放方法、裝置及顯示設(shè)備的制造方法
【專利摘要】本發(fā)明提供一種流媒體緩沖播放方法、裝置及顯示設(shè)備,涉及顯示技術(shù)領(lǐng)域,用于在保證流媒體節(jié)目流暢播放的同時(shí)盡可能縮短啟動(dòng)播放的時(shí)間。該方法包括:接收RTP數(shù)據(jù)包,其中RTP數(shù)據(jù)包包括:包頭和負(fù)載;將負(fù)載緩沖至緩沖區(qū)域并根據(jù)包頭獲取緩沖區(qū)域內(nèi)未解碼的負(fù)載所包含的視頻幀數(shù)量;判斷緩沖區(qū)域內(nèi)未解碼的負(fù)載所包含的視頻幀數(shù)量是否大于或等于第一閾值;若緩沖區(qū)域內(nèi)未解碼的負(fù)載所包含的視頻幀數(shù)量大于或等于第一閾值,則對(duì)緩沖區(qū)域內(nèi)未解碼的負(fù)載進(jìn)行解碼并播放。本發(fā)明用于流媒體的緩沖播放。
【專利說明】
一種流媒體緩沖播放方法、裝置及顯示設(shè)備
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及顯示技術(shù)領(lǐng)域,尤其涉及一種流媒體緩沖播放方法、裝置及顯示設(shè)備。
【背景技術(shù)】
[0002]隨著網(wǎng)絡(luò)技術(shù)的發(fā)展和網(wǎng)絡(luò)終端設(shè)備的普及,流媒體播放成為機(jī)頂盒等終端設(shè)備最常用和最重要的功能。通常流媒體點(diǎn)播功能主要涉及前端服務(wù)器、中間網(wǎng)絡(luò)傳輸和終端數(shù)據(jù)下載和緩沖,以及音視頻解碼和顯示,而對(duì)于終端用戶來說,能夠快速和流暢地看到所點(diǎn)播的流媒體節(jié)目是其基本的需求,也是終端設(shè)備的最終的實(shí)現(xiàn)目標(biāo)。
[0003]若要能夠快速的看到所點(diǎn)播的流媒體節(jié)目,則需要盡可能的縮短啟動(dòng)播放時(shí)間,而要流暢的看到所點(diǎn)播的流媒體節(jié)目,則需要盡可能的避免視頻卡頓。但是盡可能的縮短啟動(dòng)播放的時(shí)間和盡可能的避免視頻卡頓在一定條件下相互矛盾,無法同時(shí)滿足。例如:在網(wǎng)絡(luò)帶寬不足時(shí)播放高分辨率的流媒體節(jié)目時(shí),為了快速看到所點(diǎn)播的流媒體節(jié)目,需要縮短啟動(dòng)播放時(shí)間,加快視頻幀的播出,即緩沖盡可能小的數(shù)據(jù)就開始對(duì)流媒體節(jié)目進(jìn)行播放,而這會(huì)迅速消耗緩沖區(qū)內(nèi)的緩沖數(shù)據(jù),當(dāng)帶寬不足時(shí)會(huì)導(dǎo)致:緩沖-播放-暫停-緩沖-播放,表現(xiàn)為視頻頻繁的卡頓,即無法流暢的看到所點(diǎn)播的流媒體節(jié)目。而為了流暢的看到所點(diǎn)播的流媒體節(jié)目,則需要增大啟動(dòng)播放時(shí)間,也就是在流媒體節(jié)目開始解碼前盡可能地多緩沖數(shù)據(jù)。為了平衡快速的看到所點(diǎn)播的流媒體節(jié)目和流暢的看到所點(diǎn)播的流媒體節(jié)目之間的關(guān)系,現(xiàn)有技術(shù)中,通過在播放器中設(shè)定一個(gè)固定大小的閾值,當(dāng)播放器緩沖的數(shù)據(jù)達(dá)到閾值時(shí),啟動(dòng)解碼器對(duì)緩沖的數(shù)據(jù)進(jìn)行解碼并播放。然而由于不同的流媒體節(jié)目在數(shù)據(jù)量大小相同時(shí)其播放時(shí)間長度卻不一定相同,所以通過設(shè)置閾值的方式仍無法平衡快速啟動(dòng)播放和流暢播放之間的矛盾。
【發(fā)明內(nèi)容】
[0004]本發(fā)明的實(shí)施例提供一種流媒體緩沖播放方法、裝置及顯示設(shè)備,用于在保證流媒體節(jié)目流暢播放的同時(shí)盡可能縮短啟動(dòng)播放的時(shí)間。
[0005]為達(dá)到上述目的,本發(fā)明的實(shí)施例采用如下技術(shù)方案:
[0006]第一方面,提供一種流媒體緩沖播放方法,包括:
[0007]接收RTP(英文全稱:Real-time Transport Protocol,中文名稱:實(shí)時(shí)傳輸協(xié)議)數(shù)據(jù)包,其中所述RTP數(shù)據(jù)包包括:包頭和負(fù)載;
[0008]將所述負(fù)載緩沖至緩沖區(qū)域并根據(jù)所述包頭獲取所述緩沖區(qū)域內(nèi)未解碼的負(fù)載所包含的視頻幀數(shù)量;
[0009]判斷所述緩沖區(qū)域內(nèi)未解碼的負(fù)載所包含的視頻幀數(shù)量是否大于或等于第一閾值;
[0010]若所述緩沖區(qū)域內(nèi)未解碼的負(fù)載所包含的視頻幀數(shù)量大于或等于第一閾值,則對(duì)所述緩沖區(qū)域內(nèi)未解碼的負(fù)載進(jìn)行解碼并播放。
[0011]第二方面,提供一種流媒體緩沖播放裝置,包括:
[0012]接收單元,用于接收RTP數(shù)據(jù)包,其中所述RTP數(shù)據(jù)包包括:包頭和負(fù)載;
[0013]獲取單元,用于將所述負(fù)載緩沖至緩沖區(qū)域并根據(jù)所述包頭獲取所述緩沖區(qū)域內(nèi)未解碼的負(fù)載所包含的視頻幀數(shù)量;
[0014]處理單元,用于判斷所述緩沖區(qū)域內(nèi)未解碼的負(fù)載所包含的視頻幀數(shù)量是否大于或等于第一閾值;
[0015]若所述緩沖區(qū)域內(nèi)未解碼的負(fù)載所包含的視頻幀數(shù)量大于或等于第一閾值,所述處理單元還用于對(duì)所述緩沖區(qū)域內(nèi)的負(fù)載進(jìn)行解碼并播放。
[0016]第三方面,提供一種顯示設(shè)備,包括第二方面所述的流媒體緩沖播放裝置。
[0017]本發(fā)明實(shí)施例提供的流媒體緩沖播放方法,首先接收RTP數(shù)據(jù)包,其次將RTP數(shù)據(jù)包的負(fù)載緩沖至緩沖區(qū)域并根據(jù)RTP數(shù)據(jù)包的包頭獲取緩沖區(qū)域內(nèi)未解碼的負(fù)載所包含的視頻幀數(shù)量;然后再判斷緩沖區(qū)域內(nèi)未解碼的負(fù)載所包含的視頻幀數(shù)量是否大于或等于第一閾值,當(dāng)緩沖區(qū)域內(nèi)未解碼的負(fù)載所包含的視頻幀數(shù)量大于或等于第一閾值,則對(duì)所述緩沖區(qū)域內(nèi)未解碼的負(fù)載進(jìn)行解碼并播放,即本發(fā)明實(shí)例中根據(jù)RTP數(shù)據(jù)包的包頭獲取緩存區(qū)域內(nèi)未解碼的負(fù)載所包含視頻幀數(shù)量,然后在根據(jù)獲取緩存區(qū)域內(nèi)未解碼的負(fù)載所包含視頻幀數(shù)量判斷是否開始對(duì)緩存區(qū)域內(nèi)未解碼的負(fù)載解碼并播放,相比于現(xiàn)有技術(shù)中緩存固定大小的數(shù)據(jù)量,然后開始對(duì)視頻數(shù)據(jù)解析并播放,本發(fā)明實(shí)施例通過視頻幀數(shù)量判斷是否開始解碼并播放,因此可以避免因數(shù)據(jù)量大小相同時(shí)其播放時(shí)間長度不一定相同引起的無法平衡快速啟動(dòng)播放和流暢播放之間的矛盾,所以本發(fā)明實(shí)施例可以在保證流媒體節(jié)目流暢播放的同時(shí)盡可能縮短啟動(dòng)播放的時(shí)間。
【附圖說明】
[0018]為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0019]圖1為本發(fā)明實(shí)施例提供的流媒體緩沖播放方法的步驟流程圖一;
[0020]圖2為本發(fā)明實(shí)施例提供的流媒體傳輸協(xié)議棧結(jié)構(gòu)的示意圖;
[0021]圖3為本發(fā)明實(shí)施例提供的流媒體緩沖播放方法的步驟流程圖二;
[0022]圖4為本發(fā)明實(shí)施例提供的RTP數(shù)據(jù)包的包頭的示意性結(jié)構(gòu)圖;
[0023]圖5為本發(fā)明實(shí)施例提供的幀號(hào)與緩存地址對(duì)應(yīng)關(guān)系的示意圖;
[0024]圖6為本發(fā)明實(shí)施例提供的流媒體緩沖播放方法的步驟流程圖三;
[0025]圖7為本發(fā)明實(shí)施例提供的流媒體緩沖播放方法的步驟流程圖四;
[0026]圖8為本發(fā)明實(shí)施例提供的流媒體緩沖播放方法的步驟流程圖五;
[0027]圖9為本發(fā)明實(shí)施例提供的流媒體緩沖播放裝置的示意性結(jié)構(gòu)圖。
【具體實(shí)施方式】
[0028]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0029]本發(fā)明的發(fā)明原理為:在流媒體緩沖播放過程中,通過緩沖區(qū)域內(nèi)未解碼的負(fù)載所包含的視頻幀數(shù)量判斷是否開始讀緩存區(qū)域內(nèi)未解碼的負(fù)載進(jìn)行解碼并播放,從而從根本上避免了由于因數(shù)據(jù)量大小相同時(shí)其播放時(shí)間長度不一定相同引起的無法平衡快速啟動(dòng)播放和流暢播放之間的矛盾的問題,因此本發(fā)明實(shí)施例可以在保證流媒體節(jié)目流暢播放的同時(shí)盡可能縮短啟動(dòng)播放的時(shí)間。
[0030]本發(fā)明實(shí)施例提供一種流媒體緩沖播放方法,參照?qǐng)D1所示,該方法包括如下步驟:
[0031]SI 1、接收RTP數(shù)據(jù)包。其中RTP數(shù)據(jù)包包括:包頭和負(fù)載。
[0032]具體的,RTP是一種網(wǎng)絡(luò)傳輸協(xié)議,其廣泛應(yīng)用于流媒體相關(guān)的電話、視頻會(huì)議、電視、一鍵通等通訊和娛樂業(yè)務(wù)中。RTP說明了在互聯(lián)網(wǎng)上傳遞音頻和視頻的標(biāo)準(zhǔn)數(shù)據(jù)包格式,即本文中的RTP數(shù)據(jù)包的格式。通常RTP和RTP控制協(xié)議(英文名稱:RTP ControlProtocoI,簡稱:RTCP)一起使用,其中RTP用于實(shí)時(shí)傳輸數(shù)據(jù),提供的信息包括:時(shí)間戳、序列號(hào)以及負(fù)載格式等;RTCP用于服務(wù)質(zhì)量(英文名稱:Quality Of Service,簡稱:QOS)反饋和同步媒體流。其中,RTP傳輸協(xié)議的報(bào)文(即RTP數(shù)據(jù)包)由包頭和負(fù)載兩部分內(nèi)容組成;包頭中包括:RTP協(xié)議的版本號(hào)、填充標(biāo)志、擴(kuò)展標(biāo)志、CSRC計(jì)數(shù)器等內(nèi)容,用于表示RTP數(shù)據(jù)包的版本號(hào)、負(fù)載類型等信息;負(fù)載即為RTP數(shù)據(jù)數(shù)據(jù)包實(shí)際需要傳輸?shù)臄?shù)據(jù)流,若RTP數(shù)據(jù)用于傳輸音頻文件,則負(fù)載為需要傳輸?shù)囊纛l數(shù)據(jù);若RTP數(shù)據(jù)用于傳輸視頻文件,則負(fù)載為需要傳輸?shù)囊曨l數(shù)據(jù)。
[0033]進(jìn)一步的,參照?qǐng)D2所示,圖2中描述了基于RTP的動(dòng)態(tài)圖像專家組傳輸流(英文全稱:Moving Picture Experts Group Transport Stream,英文簡稱:MPEG-TS)流媒體傳輸協(xié)議棧結(jié)構(gòu)?;谠摿髅襟w傳輸協(xié)議棧結(jié)構(gòu),終端和內(nèi)容分發(fā)系統(tǒng)之間的接口分為兩個(gè)通道,其一為:流媒體傳輸和接收通道21;其二為:媒體流會(huì)話控制通道22 ο即終端與內(nèi)容分發(fā)系統(tǒng)之間按照?qǐng)D2中所示流媒體傳輸和接收通道21的格式和協(xié)議來完成實(shí)際媒體流數(shù)據(jù)的傳輸和解包播放,終端與內(nèi)容分發(fā)系統(tǒng)之間按照?qǐng)D2中所示媒體流會(huì)話控制通道22的協(xié)議來完成對(duì)媒體流的控制和交互。
[0034]S12、將負(fù)載緩沖至緩沖區(qū)域并根據(jù)包頭獲取緩沖區(qū)域內(nèi)未解碼的負(fù)載所包含的視頻幀數(shù)量。
[0035]需要說明的時(shí),在接收RTP數(shù)據(jù)包后應(yīng)首先對(duì)RTP數(shù)據(jù)包進(jìn)行解碼,然后才能夠緩沖負(fù)載和根據(jù)包頭取緩沖區(qū)域內(nèi)未解碼的負(fù)載所包含的視頻幀數(shù)量。其中本發(fā)明的實(shí)施例中對(duì)RTP數(shù)據(jù)包進(jìn)行解析的方法可以與現(xiàn)有技術(shù)中對(duì)RTP數(shù)據(jù)報(bào)的解析方法相同,本發(fā)明實(shí)施例在此不做詳細(xì)說明。
[0036]具體的,RTP數(shù)據(jù)包的負(fù)載為傳輸(英文名稱:TransportStream,簡稱:TS)流,所以上述步驟S12即為將TS流緩沖值緩存區(qū)域,然后獲取緩沖區(qū)域中尚未進(jìn)行解碼的TS流包含的視頻幀數(shù)量。
[0037]S13、判斷緩沖區(qū)域內(nèi)未解碼的負(fù)載所包含的視頻幀數(shù)量是否大于或等于第一閾值。
[0038]需要說明的是,緩沖區(qū)域內(nèi)未解碼的負(fù)載是指已經(jīng)緩存在緩存區(qū)域,但解碼器尚未讀取并解碼的負(fù)載。緩存區(qū)域內(nèi)的負(fù)載在解碼前和解碼后,負(fù)載本身并未發(fā)生變化,其區(qū)別僅在于解碼器是否對(duì)該部分負(fù)載進(jìn)行讀取,若解碼器已對(duì)該部分負(fù)載進(jìn)行讀取,則該部分負(fù)載為已解的碼負(fù)載,而若解碼器尚未對(duì)該部分負(fù)載進(jìn)行讀取,則該部分負(fù)載為未解碼的負(fù)載。此外,當(dāng)解碼器對(duì)負(fù)載讀取并解碼后,可以將該分部已解碼負(fù)載從緩存區(qū)域中刪除,節(jié)省解碼緩存區(qū)域的存儲(chǔ)空間。且若每次解碼器讀取負(fù)載后都將緩存區(qū)域的已讀取的負(fù)載進(jìn)行刪除,則緩存區(qū)域中僅包括未解碼的負(fù)載,緩存區(qū)域內(nèi)未解碼的負(fù)載即為緩存區(qū)域內(nèi)的全部負(fù)載。
[0039]此外,第一閾值可以由本領(lǐng)域技術(shù)人員根據(jù)實(shí)際的數(shù)據(jù)傳輸帶寬設(shè)定,帶寬較大時(shí),第一閾值可以設(shè)定的較?。粠捿^小時(shí),第一閾值應(yīng)該設(shè)定的較大。在上述步驟S13中,若緩沖區(qū)域內(nèi)未解碼的負(fù)載所包含的視頻幀數(shù)量大于或等于第一閾值則執(zhí)行步驟S14;若緩沖區(qū)域內(nèi)未解碼的負(fù)載所包含的視頻幀數(shù)量小于第一閾值則返回步驟Sll,繼續(xù)接受RTP數(shù)據(jù)包。
[0040]S14、對(duì)緩沖區(qū)域內(nèi)未解碼的負(fù)載進(jìn)行解碼并播放。
[0041]S卩,第一閾值表示滿足對(duì)負(fù)載進(jìn)行解碼并播放的條件,或者是在暫停解碼并播放后滿足重新開始解碼并播放的條件。緩存區(qū)域內(nèi)未解碼的負(fù)載所包含的視頻幀數(shù)量達(dá)到第一閾值時(shí),即開始對(duì)緩存區(qū)域中的未解碼的負(fù)載進(jìn)行解碼并播放。
[0042]需要說明的是,本發(fā)明實(shí)施例中的接收RTP數(shù)據(jù)包并對(duì)RTP數(shù)據(jù)包解析后將負(fù)載緩沖至緩沖區(qū)域和對(duì)負(fù)載進(jìn)行解碼并播放是兩個(gè)獨(dú)立的線程。其中,第一個(gè)線程不斷接收通過網(wǎng)絡(luò)傳輸來的RTP數(shù)據(jù)包、對(duì)RTP數(shù)據(jù)包解析并將負(fù)載緩沖至緩沖區(qū)域;第二個(gè)線程則在緩沖區(qū)域內(nèi)未解碼的負(fù)載所包含的視頻幀數(shù)量的控制下開始或者停止對(duì)負(fù)載進(jìn)行解碼并播放。
[0043]本發(fā)明實(shí)施例提供的流媒體緩沖播放方法,首先接收RTP數(shù)據(jù)包,其次將RTP數(shù)據(jù)包的負(fù)載緩沖至緩沖區(qū)域并根據(jù)RTP數(shù)據(jù)包的包頭獲取緩沖區(qū)域內(nèi)未解碼的負(fù)載所包含的視頻幀數(shù)量;然后再判斷緩沖區(qū)域內(nèi)未解碼的負(fù)載所包含的視頻幀數(shù)量是否大于或等于第一閾值,當(dāng)緩沖區(qū)域內(nèi)未解碼的負(fù)載所包含的視頻幀數(shù)量大于或等于第一閾值,則對(duì)緩沖區(qū)域內(nèi)未解碼的負(fù)載進(jìn)行解碼并播放,即本發(fā)明實(shí)例中根據(jù)RTP數(shù)據(jù)包的包頭獲取緩存區(qū)域內(nèi)未解碼的負(fù)載所包含視頻幀數(shù)量,然后在根據(jù)獲取緩存區(qū)域內(nèi)未解碼的負(fù)載所包含視頻幀數(shù)量判斷是否開始對(duì)緩存區(qū)域內(nèi)未解碼的負(fù)載解碼并播放,相比于現(xiàn)有技術(shù)中緩存固定大小的數(shù)據(jù)量,然后開始對(duì)視頻數(shù)據(jù)解析并播放,本發(fā)明實(shí)施例通過視頻幀數(shù)量判斷是否開始解碼并播放,因此可以避免因數(shù)據(jù)量大小相同時(shí)其播放時(shí)間長度不一定相同引起的無法平衡快速啟動(dòng)播放和流暢播放之間的矛盾,所以本發(fā)明實(shí)施例可以在保證流媒體節(jié)目流暢播放的同時(shí)盡可能縮短啟動(dòng)播放的時(shí)間。
[0044]進(jìn)一步的,參照?qǐng)D3所示,上述實(shí)施例的步驟S12中根據(jù)包頭獲取負(fù)載所包含的視頻幀數(shù)量具體可以通過如下步驟實(shí)現(xiàn)。
[0045 ] S121、獲取起始幀的幀號(hào)。其中起始幀為緩沖區(qū)域內(nèi)未解碼的負(fù)載所包含的視頻幀中幀號(hào)最小的視頻幀。
[0046]起始幀為緩沖區(qū)域內(nèi)未解碼的負(fù)載包含的視頻幀中幀號(hào)最小的視頻幀,所以在每一讀取并解碼緩存區(qū)域的負(fù)載后,初始幀的幀號(hào)都會(huì)重新進(jìn)行賦值。示例性的,在第一次讀取緩存區(qū)域內(nèi)的視頻幀時(shí),緩存區(qū)域內(nèi)的負(fù)載全部都未被讀取,最小的幀號(hào)為I,所以在第一次讀取時(shí)幀號(hào)為I的視頻幀為初始幀。而若第一讀取時(shí)讀取了緩存區(qū)域內(nèi)包含10個(gè)視頻幀(幀號(hào)為1-10的視頻幀)的負(fù)載,則此時(shí)緩沖區(qū)域內(nèi)未解碼的負(fù)載包含的視頻幀中最小的幀號(hào)為11,所以在第二次讀取緩沖區(qū)域內(nèi)的負(fù)載時(shí)幀號(hào)為11的視頻幀則為初始幀。以此類推,在第三、第四以及以后各次取緩存區(qū)域的負(fù)載后,都會(huì)根據(jù)前一次讀取負(fù)載包含視頻幀數(shù)量對(duì)初始幀的幀號(hào)重新進(jìn)行賦值。
[0047]S122、根據(jù)包頭中的有效載荷類型判斷負(fù)載是否為視頻數(shù)據(jù)。
[0048]具體的,參照?qǐng)D4所示,圖4為RTP數(shù)據(jù)包的包頭的格式。RTP數(shù)據(jù)包的包頭的前兩位(bito-l)為RTP協(xié)議的版本號(hào)V,圖4中以RTP協(xié)議的版本號(hào)V=2為例進(jìn)行說明。包頭的第三位(bit2)為填充標(biāo)志P,如果P=I,則在該報(bào)文的尾部填充一個(gè)或多個(gè)額外的八位組,它們不是有效載荷的一部分。包頭的第四位(bit3)為擴(kuò)展標(biāo)志X,如果X=I,則在RTP報(bào)頭后跟有一個(gè)擴(kuò)展報(bào)頭。包頭的第五位至第八位CC(bit4-7)為CSRC計(jì)數(shù)器,表示CSRC標(biāo)識(shí)符的個(gè)數(shù)。包頭的第九位(bit8)為標(biāo)記位M,對(duì)于不同的效載荷類型M表示不同的含義,當(dāng)有效載荷為視頻,則M表示一幀的結(jié)束,當(dāng)有效載荷為音頻,則M表示會(huì)話的開始。包頭的第十位至第十七位(bit9-16)為有效載荷類型PT,用于說明RTP數(shù)據(jù)包中負(fù)載的類型,在流媒體中一般用于區(qū)分音頻流和視頻流,從而便于終端進(jìn)行解析。此外,包頭中還包括:序列號(hào)、時(shí)戳等信息。對(duì)于RTP數(shù)據(jù)包的包頭中包含的本申請(qǐng)不涉及的信息本文不再詳細(xì)進(jìn)行說明。
[0049]即上述步驟S122中需要根據(jù)包頭的第十位至第十七位(bit9_16)有效載荷類型PT判斷包頭對(duì)應(yīng)的負(fù)載是否為視頻數(shù)據(jù)。
[0050]在步驟S122中,若根據(jù)有效載荷類型PT判斷得出包頭對(duì)應(yīng)的負(fù)載為視頻數(shù)據(jù)則進(jìn)一步執(zhí)行步驟S123;而若根據(jù)PT判斷得出包頭對(duì)應(yīng)的負(fù)載不為視頻數(shù)據(jù),則包頭對(duì)應(yīng)的負(fù)載不可能包含視頻幀,返回上述實(shí)施例中的步驟SI I,繼續(xù)接收RTP數(shù)據(jù)包。
[0051]S123、根據(jù)包頭中的標(biāo)記位判斷負(fù)載所包含視頻幀是否結(jié)束。
[0052]具體的,根據(jù)標(biāo)記位M,判斷包頭對(duì)應(yīng)的負(fù)載所包含視頻幀是否結(jié)束。當(dāng)步驟S123中判斷得出包頭對(duì)應(yīng)的負(fù)載所包含視頻幀結(jié)束,則執(zhí)行步驟SI 24。
[0053]S124、結(jié)束幀的幀號(hào)遞增I。
[0054]S卩,結(jié)束幀的幀號(hào)為緩沖區(qū)域內(nèi)未解碼的負(fù)載所包含的視頻幀中幀號(hào)最大的視頻幀。所以結(jié)束幀的幀號(hào)隨著RTP數(shù)據(jù)包的接收緩沖也在不斷重新賦值。
[0055]S125、根據(jù)起始幀的幀號(hào)與結(jié)束幀的幀號(hào)的差值獲取緩沖區(qū)域內(nèi)未解碼的負(fù)載所包含的視頻幀數(shù)量。
[0056]即緩存區(qū)域內(nèi)未解碼的負(fù)載所包含的視頻幀數(shù)量即為:起始幀的幀號(hào)與結(jié)束幀的幀號(hào)的差值。
[0057]若起始幀的幀號(hào)為frameN0_strat、結(jié)束幀的幀號(hào)為frameN0_end,緩存區(qū)域內(nèi)未解碼的負(fù)載所包含的視頻幀數(shù)量為frameNum,則有frameNum = frameN0_end_f rameN0_stratο
[0058]此外,上述實(shí)施例還可以在開始執(zhí)行上述實(shí)施例中的各個(gè)步驟之前對(duì)視頻幀的幀號(hào)進(jìn)行重置,即將初始視頻幀的幀號(hào)重置為O。若在開始執(zhí)行上述實(shí)施例中的各個(gè)步驟之前還對(duì)視頻幀的幀號(hào)進(jìn)行重置,可以簡化獲取緩沖區(qū)域內(nèi)未解碼的負(fù)載所包含的視頻幀數(shù)量時(shí)的計(jì)算過程。
[0059]由上述獲取視頻幀的過程可知,在對(duì)RTP數(shù)據(jù)包的上層協(xié)議解析階段就可以判斷出RTP數(shù)據(jù)包中是否包含完整的視頻幀,而無需等到對(duì)RTP數(shù)據(jù)包中的負(fù)載進(jìn)行解碼后才判斷出是否包含完整的視頻幀,所以通過上述實(shí)施例可以為緩沖后的播放時(shí)機(jī)提供準(zhǔn)確的判斷條件,同時(shí)為播放過程中出現(xiàn)緩沖欠載而需要暫停解碼和播放并繼續(xù)緩沖的時(shí)機(jī)提供了準(zhǔn)確的判斷條件。
[0060]此外,優(yōu)選的,參照?qǐng)D5所示,上述實(shí)例中還可以將RTP數(shù)據(jù)包的負(fù)載中的每一個(gè)視頻幀緩沖在一個(gè)獨(dú)立緩沖區(qū)域中,并獲取該緩沖區(qū)域的緩沖地址,然后針對(duì)每一個(gè)視頻幀的幀號(hào)和緩沖地址建立對(duì)應(yīng)關(guān)系。即,在對(duì)負(fù)載進(jìn)行緩沖的過程中可以將TS流以視頻幀為單位進(jìn)行緩沖,使每一個(gè)緩沖區(qū)域中均包含一個(gè)完整的視頻幀,其中,緩沖區(qū)域中的視頻幀可以為內(nèi)部編碼幀(簡稱:1幀)或者前向預(yù)測(cè)幀(簡稱:P幀)或者雙向內(nèi)插幀(簡稱:B幀),將RTP數(shù)據(jù)包的負(fù)載緩沖至緩沖區(qū)域后,記錄緩沖后的幀號(hào)以及每一個(gè)幀號(hào)對(duì)應(yīng)的緩沖地址,然后通過幀號(hào)以幀號(hào)對(duì)應(yīng)的緩存地址來控制負(fù)載的注入。
[0061]進(jìn)一步的,參照?qǐng)D6所示,上述實(shí)施例的步驟S14中對(duì)緩沖區(qū)域內(nèi)未解碼的負(fù)載進(jìn)行解碼并播放具體可以包括如下步驟。
[0062]S141、判斷緩沖區(qū)域內(nèi)未解碼的負(fù)載所包含的視頻幀數(shù)量是否大于或等于第二閾值。
[0063]第二閾值可以由實(shí)際使用中解碼器一次最多可以處理的數(shù)據(jù)設(shè)定,一次最多可以處理的數(shù)據(jù)量越大則第二閾值應(yīng)該設(shè)定的越大,一次最多可以處理的數(shù)據(jù)量越小則第二閾值應(yīng)該設(shè)定的越小。在上述步驟S141中,若視頻幀數(shù)量大于或等于第二閾值則執(zhí)行步驟S142;若視頻幀數(shù)量小于第二閾值則執(zhí)行步驟S143。
[0064]S142、由起始幀開始讀取包含第二閾值個(gè)視頻幀的負(fù)載。
[0065]S143、由起始幀開始讀取緩沖區(qū)域內(nèi)全部未解碼的負(fù)載。
[0066]第二閾值表示解碼器一次最多可以讀取的視頻幀數(shù)量。若視頻幀數(shù)量大于第二閾值,則由起始幀開始讀取包含第二閾值個(gè)視頻幀的負(fù)載,若視頻幀數(shù)量小于第二閾值,則由起始幀開始讀取緩存區(qū)域中全部未解碼的負(fù)載。
[0067]因?yàn)榈谝婚撝当硎緷M足對(duì)負(fù)載進(jìn)行解碼并播放的條件,或者是在暫停解碼并播放后滿足重新開始解碼并播放的條件,而第二閾值表示表示一次最多可以讀取的視頻幀數(shù)量,所以在設(shè)定第一閾值和第二閾值時(shí)應(yīng)滿足第一閾值小于第二閾值。
[0068]若起始幀的幀號(hào)為frameN0_strat、結(jié)束幀的幀號(hào)為frameN0_end,第一閾值為START,第二閾值為 OVERFLOW,則有 START〈0VERFL0W,且在 frameNO_end-frameNO_strat 大于或等于OVERFLOW時(shí),由frameN0_strat開始讀取包含OVERFLOW個(gè)視頻幀的負(fù)載,在frameN0_end-f rameN0_strat小于OVERFLOW時(shí),由f rameN0_strat開始讀取全部未解碼的負(fù)載。
[0069]S144、對(duì)讀取的負(fù)載進(jìn)行解碼并播放。
[0070]進(jìn)一步的,參照?qǐng)D7所示,在上述步驟S144對(duì)讀取的負(fù)載進(jìn)行解碼并播放之前,上述實(shí)施例還可以包括如下步驟:
[0071]S145、判斷解碼器是否為暫停狀態(tài)。
[0072]若解碼器為暫停狀態(tài),則執(zhí)行步驟S146,若解碼器不為暫停狀態(tài),則執(zhí)行步驟S147o
[0073]S146、恢復(fù)解碼器。
[0074]S147、判斷是否已開始解碼并播放。
[0075]若沒有開始解碼并播放則執(zhí)行步驟S158。
[0076]S148、啟動(dòng)解碼器。
[0077]優(yōu)選的,參照?qǐng)D8所示,在步驟S13中,若緩沖區(qū)域內(nèi)未解碼的負(fù)載所包含的視頻幀數(shù)量小于第一閾值時(shí)執(zhí)行步驟S15。
[0078]S15、判斷解碼器是否為啟動(dòng)狀態(tài)。
[0079]在步驟S15中,若解碼器為啟動(dòng)狀態(tài),則執(zhí)行步驟S16,若解碼器為非啟動(dòng)狀態(tài),則返回步驟SI I。
[0080]S16、判斷緩沖區(qū)域內(nèi)未解碼的負(fù)載所包含的視頻幀數(shù)量是否大于或等于第三閾值。
[0081]第三閾值表示若緩沖區(qū)域內(nèi)未解碼的負(fù)載所包含的視頻幀數(shù)量小于該數(shù)量,則暫停對(duì)緩沖區(qū)域內(nèi)的負(fù)載解碼并播放,等待數(shù)據(jù)緩沖。第三閾值可以根據(jù)實(shí)際需要設(shè)定為任意值。此外,因?yàn)榈谝婚撝当硎緷M足對(duì)負(fù)載進(jìn)行解碼并播放的條件,或者是在暫停解碼并播放后滿足重新開始解碼并播放的條件,而第三閾值表示若緩沖區(qū)域內(nèi)未解碼的負(fù)載所包含的視頻幀數(shù)量小于該數(shù)量,則暫停對(duì)緩沖區(qū)域內(nèi)的負(fù)載解碼并播放,所以在設(shè)定第一閾值和第二閾值時(shí)應(yīng)滿足第一閾值大于第三閾值。
[0082]在步驟S16中,若緩沖區(qū)域內(nèi)未解碼的負(fù)載所包含的視頻幀數(shù)量大于或等于第三閾值,則執(zhí)行步驟S17,若緩沖區(qū)域內(nèi)未解碼的負(fù)載所包含的視頻幀數(shù)量小于第三閾值,則執(zhí)行步驟S18。
[0083]S17、由起始幀開始讀取緩沖區(qū)域內(nèi)的全部未解碼的負(fù)載并對(duì)讀取的負(fù)載進(jìn)行解碼并播放。
[0084]S18、暫停解碼器。
[0085]若起始幀的幀號(hào)為frameN0_strat、結(jié)束幀的幀號(hào)為frameN0_end,第一閾值為START,第三閾值為UNDERFLOW,則有START>UNDERFLOW,在解碼器啟動(dòng)且frameN0_end-frameN0_strat大于或等于UNDERFLOW時(shí),由frameN0_strat開始讀取緩沖區(qū)域內(nèi)的全部未解碼的負(fù)載并對(duì)讀取的負(fù)載進(jìn)行解碼并播放,在解碼器啟動(dòng)且frameN0_end-frameN0_strat小于UNDERFLOW時(shí),暫停解碼器。
[0086]此外,本領(lǐng)域普通技術(shù)人員可以理解:實(shí)現(xiàn)上述方法實(shí)施例的全部或部分步驟可以通過程序指令相關(guān)的硬件來完成,前述的程序可以存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),執(zhí)行包括上述方法實(shí)施例的步驟;而前述的存儲(chǔ)介質(zhì)包括:R0M、RAM、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。
[0087]本發(fā)明再一實(shí)施例提供一種流媒體緩沖播放裝置,參照?qǐng)D9所示,該流媒體緩沖播放裝置90包括:
[0088]接收單元91,用于接收RTP數(shù)據(jù)包,其中RTP數(shù)據(jù)包包括:包頭和負(fù)載;
[0089]獲取單元92,用于將負(fù)載緩沖至緩沖區(qū)域并根據(jù)包頭獲取緩沖區(qū)域內(nèi)未解碼的負(fù)載所包含的視頻幀數(shù)量;
[0090]處理單元93,用于判斷緩沖區(qū)域內(nèi)未解碼的負(fù)載所包含的視頻幀數(shù)量是否大于或等于第一閾值;
[0091]若緩沖區(qū)域內(nèi)未解碼的負(fù)載所包含的視頻幀數(shù)量大于或等于第一閾值,處理單元93還用于對(duì)緩沖區(qū)域內(nèi)的負(fù)載進(jìn)行解碼并播放。
[0092]本發(fā)明實(shí)施例提供的流媒體緩沖播放裝置,通過接收單元接收RTP數(shù)據(jù)包并通過解析單元解析接收到的RTP數(shù)據(jù)包,再通過獲取單元將RTP數(shù)據(jù)包的負(fù)載緩沖至緩沖區(qū)域并根據(jù)RTP數(shù)據(jù)包的包頭獲取緩沖區(qū)域內(nèi)未解碼的負(fù)載所包含的視頻幀數(shù)量;最后通過處理單元再判斷緩沖區(qū)域內(nèi)未解碼的負(fù)載所包含的視頻幀數(shù)量是否大于或等于第一閾值,當(dāng)緩沖區(qū)域內(nèi)未解碼的負(fù)載所包含的視頻幀數(shù)量大于或等于第一閾值,則對(duì)緩沖區(qū)域內(nèi)未解碼的負(fù)載進(jìn)行解碼并播放,即本發(fā)明實(shí)例中根據(jù)RTP數(shù)據(jù)包的包頭獲取緩存區(qū)域內(nèi)未解碼的負(fù)載所包含視頻幀數(shù)量,然后在根據(jù)獲取緩存區(qū)域內(nèi)未解碼的負(fù)載所包含視頻幀數(shù)量判斷是否開始對(duì)緩存區(qū)域內(nèi)未解碼的負(fù)載解碼并播放,相比于現(xiàn)有技術(shù)中緩存固定大小的數(shù)據(jù)量,然后開始對(duì)視頻數(shù)據(jù)解析并播放,本發(fā)明實(shí)施例通過視頻幀數(shù)量判斷是否開始解碼并播放,因此可以避免因數(shù)據(jù)量大小相同時(shí)其播放時(shí)間長度不一定相同引起的無法平衡快速啟動(dòng)播放和流暢播放之間的矛盾,所以本發(fā)明實(shí)施例可以在保證流媒體節(jié)目流暢播放的同時(shí)盡可能縮短啟動(dòng)播放的時(shí)間。
[0093]可選的,處理單元93具體用于獲取起始幀的幀號(hào);根據(jù)包頭中的有效載荷類型判斷負(fù)載是否為視頻數(shù)據(jù);若是,根據(jù)包頭中的標(biāo)記位判斷負(fù)載所包含的視頻幀是否結(jié)束;若負(fù)載包含的視頻幀結(jié)束,則結(jié)束幀的幀號(hào)遞增I;根據(jù)起始幀的幀號(hào)與結(jié)束幀的幀號(hào)的差值獲取緩沖區(qū)域內(nèi)未解碼的負(fù)載所包含的視頻幀數(shù)量;其中起始幀為緩沖區(qū)域內(nèi)未解碼的負(fù)載所包含的視頻幀中幀號(hào)最小的視頻幀。
[0094]可選的,處理單元93還用于在緩沖區(qū)域內(nèi)未解碼的負(fù)載所包含的視頻幀數(shù)量大于或等于第一閾值時(shí),判斷緩沖區(qū)域內(nèi)未解碼的負(fù)載所包含的視頻幀數(shù)量是否大于或等于第二閾值;
[0095]若是,處理單元93還用于由起始幀開始讀取包含第二閾值個(gè)視頻幀的負(fù)載;
[0096]若否,處理單元93還用于由起始幀開始讀取緩沖區(qū)域內(nèi)全部未解碼的負(fù)載;
[0097]處理單元93還用于對(duì)讀取的負(fù)載進(jìn)行解碼并播放;
[0098]其中,第一閾值小于第二閾值。
[0099]可選的,處理單元93還用于判斷解碼器是否為暫停狀態(tài);
[0100]處理單元93還用在解碼器為暫停狀態(tài)時(shí),恢復(fù)解碼器;
[0101]處理單元93還用在解碼器不為暫停狀態(tài),判斷是否已開始進(jìn)行解碼并播放;
[0102]若否,處理單元93還用啟動(dòng)解碼器。
[0103]可選的,處理單元93還用于在當(dāng)緩沖區(qū)域內(nèi)未解碼的負(fù)載所包含的視頻幀數(shù)量小于第一閾值時(shí),判斷解碼器是否為啟動(dòng)狀態(tài);
[0104]若解碼器為啟動(dòng)狀態(tài),處理單元93還用于判斷緩沖區(qū)域內(nèi)未解碼的負(fù)載所包含的視頻幀數(shù)量是否大于或等于第三閾值是否大于或等于第三閾值;
[0105]若是,處理單元93還用于由起始幀開始讀取緩沖區(qū)域內(nèi)的全部未解碼的負(fù)載并對(duì)讀取的負(fù)載進(jìn)行解碼并播放;
[0106]若否,處理單元93還用于暫停解碼器;
[0107]其中,第一閾值大于第三閾值。
[0108]需要說明的是,上述流媒體緩沖播放裝置中接收單元91可以為顯示裝置中具有接收功能的電路接口,獲取單元92可以通過顯示其中具有邏輯運(yùn)算功能的電路實(shí)現(xiàn)。處理單元93可以為單獨(dú)設(shè)立的處理器,也可以集成在顯示裝置的某一個(gè)處理器中實(shí)現(xiàn),此外,也可以以程序代碼的形式存儲(chǔ)于顯示裝置的存儲(chǔ)器中,由顯示裝置的某一個(gè)處理器調(diào)用并執(zhí)行以上處理單元93的功能。這里的處理器可以是一個(gè)中央處理器(英文全稱:CentralProcessing Unit,英文簡稱:CPU),或者是特定集成電路(英文全稱:Applicat1nSpecific Integrated Circuit,英文簡稱:ASIC),或者是被配置成實(shí)施本發(fā)明實(shí)施例的一個(gè)或多個(gè)集成電路。
[0109]本發(fā)明再一實(shí)施例提供一種顯示設(shè)備,該顯示設(shè)備包括上述任一實(shí)施例提供的流媒體緩沖播放裝置。另外,顯示裝置可以為:電子紙、手機(jī)、平板電腦、電視機(jī)、顯示器、筆記本電腦、數(shù)碼相框、導(dǎo)航儀等任何具有顯示功能的產(chǎn)品或部件。
[0110]以上所述,僅為本發(fā)明的【具體實(shí)施方式】,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)以權(quán)利要求的保護(hù)范圍為準(zhǔn)。
【主權(quán)項(xiàng)】
1.一種流媒體緩沖播放方法,其特征在于,包括: 接收RTP數(shù)據(jù)包,其中所述RTP數(shù)據(jù)包包括:包頭和負(fù)載; 將所述負(fù)載緩沖至緩沖區(qū)域并根據(jù)所述包頭獲取所述緩沖區(qū)域內(nèi)未解碼的負(fù)載所包含的視頻幀數(shù)量; 判斷所述緩沖區(qū)域內(nèi)未解碼的負(fù)載所包含的視頻幀數(shù)量是否大于或等于第一閾值;若所述緩沖區(qū)域內(nèi)未解碼的負(fù)載所包含的視頻幀數(shù)量大于或等于第一閾值,則對(duì)所述緩沖區(qū)域內(nèi)未解碼的負(fù)載進(jìn)行解碼并播放。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)所述包頭獲取所述緩沖區(qū)域內(nèi)未解碼的負(fù)載所包含的視頻幀數(shù)量,包括: 獲取起始幀的幀號(hào),其中所述起始幀為所述緩沖區(qū)域內(nèi)未解碼的負(fù)載所包含的視頻幀中幀號(hào)最小的視頻幀; 根據(jù)所述包頭中的有效載荷類型判斷所述負(fù)載是否為視頻數(shù)據(jù); 若是,則根據(jù)所述包頭中的標(biāo)記位判斷所述負(fù)載所包含的視頻幀是否結(jié)束; 若所述負(fù)載包含的視頻幀結(jié)束,則結(jié)束幀的幀號(hào)遞增I; 根據(jù)所述起始幀的幀號(hào)與所述結(jié)束幀的幀號(hào)的差值獲取所述緩沖區(qū)域內(nèi)未解碼的負(fù)載所包含的視頻幀數(shù)量。3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述對(duì)所述緩沖區(qū)域內(nèi)未解碼的負(fù)載進(jìn)行解碼并播放包括: 判斷所述緩沖區(qū)域內(nèi)未解碼的負(fù)載所包含的視頻幀數(shù)量是否大于或等于第二閾值; 若是,則由起始幀開始讀取包含第二閾值個(gè)視頻幀的負(fù)載; 若否,則由所述起始幀開始讀取所述緩沖區(qū)域內(nèi)全部未解碼的負(fù)載; 對(duì)讀取的負(fù)載進(jìn)行解碼并播放; 其中,所述第一閾值小于所述第二閾值。4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述對(duì)讀取的負(fù)載進(jìn)行解碼并播放前,所述方法還包括: 判斷解碼器是否為暫停狀態(tài); 若所述解碼器為暫停狀態(tài),則恢復(fù)所述解碼器; 若所述解碼器不為暫停狀態(tài),則判斷是否已開始解碼并播放; 若否,則啟動(dòng)所述解碼器。5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括: 當(dāng)所述緩沖區(qū)域內(nèi)未解碼的負(fù)載所包含的視頻幀數(shù)量小于第一閾值時(shí),判斷解碼器是否為啟動(dòng)狀態(tài); 若所述解碼器為啟動(dòng)狀態(tài),則判斷所述緩沖區(qū)域內(nèi)未解碼的負(fù)載所包含的視頻幀數(shù)量是否大于或等于第三閾值; 若是,則由所述起始幀開始讀取所述緩沖區(qū)域內(nèi)的全部未解碼的負(fù)載并對(duì)讀取的負(fù)載進(jìn)行解碼并播放; 若否,則暫停所述解碼器; 其中,所述第一閾值大于所述第三閾值。6.一種流媒體緩沖播放裝置,其特征在于,包括: 接收單元,用于接收RTP數(shù)據(jù)包,其中所述RTP數(shù)據(jù)包包括:包頭和負(fù)載; 獲取單元,用于將所述負(fù)載緩沖至緩沖區(qū)域并根據(jù)所述包頭獲取所述緩沖區(qū)域內(nèi)未解碼的負(fù)載所包含的視頻幀數(shù)量; 處理單元,用于判斷所述緩沖區(qū)域內(nèi)未解碼的負(fù)載所包含的視頻幀數(shù)量是否大于或等于第一閾值; 若所述緩沖區(qū)域內(nèi)未解碼的負(fù)載所包含的視頻幀數(shù)量大于或等于第一閾值,所述處理單元還用于對(duì)所述緩沖區(qū)域內(nèi)的負(fù)載進(jìn)行解碼并播放。7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述處理單元具體用于獲取起始幀的幀號(hào);根據(jù)所述包頭中的有效載荷類型判斷所述負(fù)載是否為視頻數(shù)據(jù);若是,根據(jù)所述包頭中的標(biāo)記位判斷所述負(fù)載所包含的視頻幀是否結(jié)束;若所述負(fù)載包含的視頻幀結(jié)束,則結(jié)束幀的幀號(hào)遞增I;根據(jù)所述起始幀的幀號(hào)與所述結(jié)束幀的幀號(hào)的差值獲取所述緩沖區(qū)域內(nèi)未解碼的負(fù)載所包含的視頻幀數(shù)量; 其中所述起始幀為所述緩沖區(qū)域內(nèi)未解碼的負(fù)載所包含的視頻幀中幀號(hào)最小的視頻幀。8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述處理單元還用于在所述緩沖區(qū)域內(nèi)未解碼的負(fù)載所包含的視頻幀數(shù)量大于或等于第一閾值時(shí),判斷所述緩沖區(qū)域內(nèi)未解碼的負(fù)載所包含的視頻幀數(shù)量是否大于或等于第二閾值; 若是,所述處理單元還用于由起始幀開始讀取包含第二閾值個(gè)視頻幀的負(fù)載; 若否,所述處理單元還用于由所述起始幀開始讀取所述緩沖區(qū)域內(nèi)全部未解碼的負(fù)載; 所述處理單元還用于對(duì)讀取的負(fù)載進(jìn)行解碼并播放; 其中,所述第一閾值小于所述第二閾值。9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述處理單元還用于判斷解碼器是否為暫停狀態(tài); 所述處理單元還用在所述解碼器為暫停狀態(tài)時(shí),恢復(fù)所述解碼器; 所述處理單元還用在所述解碼器不為暫停狀態(tài),判斷是否已開始進(jìn)行解碼并播放; 若否,所述處理單元還用啟動(dòng)所述解碼器。10.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述處理單元還用于在當(dāng)所述緩沖區(qū)域內(nèi)未解碼的負(fù)載所包含的視頻幀數(shù)量小于第一閾值時(shí),判斷解碼器是否為啟動(dòng)狀態(tài); 若所述解碼器為啟動(dòng)狀態(tài),所述處理單元還用于判斷所述緩沖區(qū)域內(nèi)未解碼的負(fù)載所包含的視頻幀數(shù)量是否大于或等于第三閾值是否大于或等于第三閾值; 若是,所述處理單元還用于由所述起始幀開始讀取所述緩沖區(qū)域內(nèi)的全部未解碼的負(fù)載并對(duì)讀取的負(fù)載進(jìn)行解碼并播放; 若否,所述處理單元還用于暫停所述解碼器; 其中,所述第一閾值大于所述第三閾值。11.一種顯示設(shè)備,其特征在于,包括權(quán)利要求6-10任一項(xiàng)所述的流媒體緩沖播放裝置。
【文檔編號(hào)】H04N21/6437GK105916058SQ201610293396
【公開日】2016年8月31日
【申請(qǐng)日】2016年5月5日
【發(fā)明人】劉慶彬
【申請(qǐng)人】青島海信寬帶多媒體技術(shù)有限公司