国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種利用i幀改善iptv業(yè)務(wù)的用戶體驗(yàn)的方法

      文檔序號(hào):7855301閱讀:254來(lái)源:國(guó)知局
      專利名稱:一種利用i幀改善iptv業(yè)務(wù)的用戶體驗(yàn)的方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及網(wǎng)絡(luò)視頻播放技術(shù)領(lǐng)域,尤其涉及ー種利用I幀改善IPTV業(yè)務(wù)的用戶體驗(yàn)的方法。
      背景技術(shù)
      隨著科技的進(jìn)步,流媒體技術(shù)越來(lái)越廣泛應(yīng)用在人們的生活,其中IPTV業(yè)務(wù)以其自由、靈活的電視操控方式,贏得了人們的喜愛(ài)。通過(guò)IP網(wǎng)絡(luò)提供流媒體服務(wù)的系統(tǒng),可劃分為兩部分一、流媒體服務(wù)器,負(fù)責(zé)響應(yīng)客戶端用戶請(qǐng)求和及時(shí)發(fā)送媒體數(shù)據(jù);ニ、媒體播放器,負(fù)責(zé)發(fā)送用戶請(qǐng)求和接收媒體數(shù)據(jù),并將媒體數(shù)據(jù)轉(zhuǎn)送至終端進(jìn)行播放。作為ー種新型的電視節(jié)目觀看方式,IPTV不可避免與傳統(tǒng)有線數(shù)字電視開(kāi)展競(jìng)爭(zhēng)。就發(fā)展現(xiàn)狀來(lái)看,目前IPTV業(yè)務(wù)的優(yōu)點(diǎn)很明顯,就是提供了傳統(tǒng)電視不具備的新功能, 使用戶能夠?qū)﹄娨曔M(jìn)行更加自由的控制,例如快進(jìn)、快退、暫停等,IPTV業(yè)務(wù)的缺點(diǎn)也很明顯,就是由于受限于網(wǎng)絡(luò)帶寬,用戶體驗(yàn)方面與傳統(tǒng)有線數(shù)字電視相比還存在一定的差距。所謂用戶體驗(yàn)(QoE),是用戶在使用產(chǎn)品的過(guò)程中建立起來(lái)的主觀性感受,良好的用戶體驗(yàn)可以使用戶延長(zhǎng)使用產(chǎn)品的時(shí)間,相反,較差的用戶體驗(yàn)會(huì)引起用戶在使用過(guò)程的反感,導(dǎo)致用戶早早的結(jié)束對(duì)產(chǎn)品的使用,甚至放棄對(duì)產(chǎn)品的使用。由于用戶早已經(jīng)習(xí)慣了傳統(tǒng)數(shù)字電視的操控體驗(yàn),因此IPTV的用戶體驗(yàn)質(zhì)量能否達(dá)到或者超過(guò)傳統(tǒng)電視,稱為IPTV成功的重要因素。目前來(lái)講,IPTV業(yè)務(wù)需改進(jìn)的用戶體驗(yàn)包括無(wú)法提供與本地視頻播放相同的完美操控功能,節(jié)目啟動(dòng)緩沖時(shí)間過(guò)長(zhǎng),頻道切換時(shí)延過(guò)長(zhǎng)。根據(jù)編解碼規(guī)范,只有I幀到達(dá)后才可以開(kāi)始解碼,但是現(xiàn)實(shí)情況是,在廣泛使用的MPEG編碼規(guī)范里面,將視頻幀分為三類1幀、P幀、B幀,I幀采用獨(dú)立編碼方式,類似于JPEG壓縮編碼算法,P幀采用運(yùn)動(dòng)補(bǔ)償與預(yù)測(cè)技術(shù),編碼時(shí)依賴前面的I幀或者P幀,B幀編碼時(shí)則同時(shí)依賴前面的I幀和后面的P幀,是ー種雙向預(yù)測(cè)編碼方法。流媒體服務(wù)器在正常發(fā)送流媒體文件吋,是按照流媒體文件原始的幀排列順序(包括I幀、P幀、B幀)發(fā)送幀數(shù)據(jù),在I幀沒(méi)有到達(dá)之前,發(fā)送至媒體播放器端的P、B幀數(shù)據(jù)無(wú)法被解碼,也無(wú)法播放,最終會(huì)被丟棄。同時(shí)根據(jù)通常采用的MPEG-4或H. 264編碼,兩個(gè)I幀之間的所有幀做成ー個(gè)G0P(group of pictures),標(biāo)清節(jié)目GOP長(zhǎng)度為Is 2s,高清節(jié)目GOP長(zhǎng)度為Is 5s,那么I幀到達(dá)客戶端的平均時(shí)間被認(rèn)為是0. 5f2. 5s。綜上,如何降低I幀引起的時(shí)延,是目前工程實(shí)踐中需要解決的重點(diǎn)問(wèn)題。

      發(fā)明內(nèi)容
      本發(fā)明的目的是解決現(xiàn)有技術(shù)IPTV業(yè)務(wù)中,目標(biāo)視頻解碼延時(shí)帶來(lái)用戶體驗(yàn)不好的問(wèn)題,通過(guò)及時(shí)定位I幀來(lái)提升用戶體驗(yàn)。ー種利用I幀改善IPTV業(yè)務(wù)的用戶體驗(yàn)的方法,應(yīng)用于互聯(lián)網(wǎng)電視IPTV系統(tǒng),所述IPTV系統(tǒng)包括流媒體服務(wù)器和媒體播放器,所述方法包括步驟為視頻媒體文件生成對(duì)應(yīng)的I幀索引文件;
      根據(jù)輸入的操作指令的當(dāng)前播放時(shí)刻,流媒體服務(wù)器定位到距離當(dāng)前播放時(shí)刻最近的I幀;從所述的I幀開(kāi)始發(fā)送視頻數(shù)據(jù)。所述的輸入的操作指令可以是VOD點(diǎn)播指令,快進(jìn)或快退指令,或者是頻道切換指令。進(jìn)ー步地,當(dāng)所述的輸入的操作指令是快進(jìn)或快退指令時(shí),則從所述的I幀開(kāi)始發(fā)送視頻數(shù)據(jù)具體包括步驟配置跳過(guò)I幀個(gè)數(shù)的基礎(chǔ)值和毎秒鐘發(fā)送的I幀個(gè)數(shù);根據(jù)快進(jìn)或快退指令中附帯的倍速信息,計(jì)算需要跳過(guò)I幀的個(gè)數(shù)和發(fā)送I幀的時(shí)間間隔;
      根據(jù)I幀索引文件和計(jì)算出的跳過(guò)I幀的個(gè)數(shù)和發(fā)送I幀的時(shí)間間隔,從視頻媒體文件中提取所需的I幀數(shù)據(jù),按照所述的時(shí)間間隔發(fā)送I幀數(shù)據(jù)。假設(shè)距離當(dāng)前播放時(shí)刻最近的I幀序號(hào)為Isend,所述根據(jù)I幀索引文件和計(jì)算出的跳過(guò)I幀的個(gè)數(shù)和發(fā)送I幀的時(shí)間間隔,從視頻媒體文件中提取所需的I幀數(shù)據(jù),按照所述的時(shí)間間隔發(fā)送I幀數(shù)據(jù),包括步驟從I幀索引文件中獲取序號(hào)為Isend的I幀索引信息,包括Isend幀的播放時(shí)刻,所在分片的序號(hào),片內(nèi)偏移量,幀的大??;讀取Isend幀的數(shù)據(jù)并發(fā)送Isend幀的數(shù)據(jù)至媒體播放器端;設(shè)置當(dāng)前待發(fā)送的I幀序號(hào)Isend=Isend+跳過(guò)I幀的個(gè)數(shù);等待時(shí)間間隔,重復(fù)上述步驟,直至流媒體服務(wù)器端收到其他播放指令。其中,當(dāng)所述輸入的操作指令為快進(jìn)指令時(shí),所述跳過(guò)I幀的個(gè)數(shù)為正數(shù),即沿著時(shí)間軸的正方向捜索I幀;當(dāng)所述輸入的操作指令為快退指令時(shí),所述跳過(guò)I幀的個(gè)數(shù)為負(fù)數(shù),即沿著時(shí)間軸的負(fù)方向捜索I幀。通過(guò)直接播放I幀進(jìn)行快進(jìn)或快退,避免了發(fā)送非I幀帶來(lái)的延時(shí),不僅畫面流暢而且不會(huì)造成網(wǎng)絡(luò)堵塞。進(jìn)ー步地,所述的輸入的操作指令是頻道切換指令,媒體播放器離開(kāi)原來(lái)的多播組,井清空緩存,在流媒體服務(wù)器定位到距離目標(biāo)直播頻道當(dāng)前播放時(shí)刻最近的I幀步驟之后,還包括步驟流媒體服務(wù)器根據(jù)I幀索引文件,提取所述當(dāng)前播放時(shí)刻前N個(gè)I幀數(shù)據(jù)。所述從所述的I幀開(kāi)始發(fā)送視頻數(shù)據(jù)是指以單播方式發(fā)送所述的N個(gè)I幀數(shù)據(jù),發(fā)送完所述N個(gè)I幀數(shù)據(jù)后,從當(dāng)前時(shí)刻開(kāi)始發(fā)送目標(biāo)直播頻道多播數(shù)據(jù)。采用單播發(fā)送I幀填充媒體播放器緩存,可以有效降低緩存帶來(lái)的延時(shí),提升用戶體驗(yàn)。進(jìn)ー步地,所述改善IPTV業(yè)務(wù)的用戶體驗(yàn)的方法,還包括步驟媒體播放器發(fā)送多播加入信息加入到目標(biāo)直播頻道多播組,接收流媒體服務(wù)器發(fā)送的目標(biāo)直播頻道的多播數(shù)據(jù),丟棄非I幀的數(shù)據(jù)直到接收到多播數(shù)據(jù)的第一個(gè)I幀,將所述I幀放入緩存,開(kāi)始正常接收并解碼視頻數(shù)據(jù)。丟棄非I幀有利于直接將I幀放入緩存,并立即開(kāi)始解碼播放,提升用戶體驗(yàn)。進(jìn)ー步地,所述改善IPTV業(yè)務(wù)的用戶體驗(yàn)的方法,還包括步驟如果媒體播放器接收到多播數(shù)據(jù)的第一個(gè)I幀時(shí),單播數(shù)據(jù)還未接收完畢則停止接收,并發(fā)送消息請(qǐng)求流媒體服務(wù)器端停止發(fā)送單播數(shù)據(jù)。
      本發(fā)明公開(kāi)的ー種利用I幀改善IPTV業(yè)務(wù)的用戶體驗(yàn)的方法是通過(guò)快速定位I幀并及時(shí)地向用戶傳送I幀,能夠使媒體播放器能最快的接收到I幀并開(kāi)始解碼播放圖像,減少了用戶等待I幀帶來(lái)的延時(shí),是提升用戶體驗(yàn)的一種有效方法。


      圖I為利用I幀改善IPTV業(yè)務(wù)的用戶體驗(yàn)的方法的流程圖;圖2為本發(fā)明VOD點(diǎn)播的方法流程圖;圖3為本發(fā)明快進(jìn)或快退的方法流程圖;圖4為本發(fā)明頻道切換的方法流程圖;圖5為快速頻道切換中的緩存操作示意圖。
      具體實(shí)施例方式下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明技術(shù)方案做進(jìn)ー步詳細(xì)說(shuō)明,以下實(shí)施例不構(gòu)成對(duì)本發(fā)明的限定。本發(fā)明基于I幀來(lái)改善用戶體驗(yàn)的方法流程如圖I所示,包括步驟步驟101、為視頻媒體文件生成對(duì)應(yīng)的I幀索引文件。步驟102、根據(jù)輸入的操作指令的當(dāng)前播放時(shí)刻,定位到距離當(dāng)前播放時(shí)刻最近的I幀。步驟103、從定位的I幀開(kāi)始發(fā)送視頻數(shù)據(jù)。具體地,本發(fā)明通過(guò)I幀索引文件來(lái)快速定位到I幀并發(fā)送I幀,IPTV在存儲(chǔ)視頻媒體文件的時(shí)候采用了分片技術(shù),對(duì)同一個(gè)視頻媒體文件切片后按照存儲(chǔ)策略存儲(chǔ)在不同的磁盤上,那么首先生成ー個(gè)與視頻媒體文件對(duì)應(yīng)的分片索引文件,分片索引文件含有文件頭和數(shù)據(jù)兩部分,文件頭包含了分片個(gè)數(shù)等信息,數(shù)據(jù)部分以記錄表的形式組織數(shù)據(jù),每條記錄的數(shù)據(jù)項(xiàng)包括 分片ID,分片所在磁盤位置,分片對(duì)應(yīng)的I幀索引文件,分片的顯示時(shí)間。其中對(duì)于每個(gè)分片生成ー個(gè)I幀索引文件,I幀索引文件含有文件頭和數(shù)據(jù)兩部分,文件頭包含了 I幀個(gè)數(shù)等信息,數(shù)據(jù)部分以記錄表的形式組織數(shù)據(jù),每條記錄的數(shù)據(jù)項(xiàng)包括1幀序號(hào),I幀的片內(nèi)偏移量,I幀的數(shù)據(jù)量大小,I幀的顯示時(shí)間PTS。I幀索引文件描述了媒體數(shù)據(jù)中每ー個(gè)I幀所在的數(shù)據(jù)分塊,以及塊內(nèi)偏移量,可以幫助I/O操作時(shí)準(zhǔn)確定位到要讀取的數(shù)據(jù)區(qū)。因此只要根據(jù)當(dāng)前播放時(shí)刻,到分片索引文件中找到分片顯示時(shí)間對(duì)應(yīng)的那個(gè)分片,獲取該分片的索引信息;然后由上述索引信息中的I幀索引文件,找到距離當(dāng)前播放時(shí)刻最近的I幀數(shù)據(jù)項(xiàng),具體來(lái)講就是找到PTS與當(dāng)前時(shí)刻PTS的差值最小的那個(gè)I幀,取出該I幀的索引信息,即為要定位的I幀。最后,結(jié)合獲取到的兩個(gè)索引信息項(xiàng),從媒體文件中讀取定位的I幀的數(shù)據(jù),根據(jù)操作指令將得到的I幀發(fā)送到媒體播放器,避免了媒體播放器端等待I幀造成的延時(shí),可以有效的提高用戶體驗(yàn)。需要說(shuō)明的是,I幀索引文件的生成,對(duì)于點(diǎn)播資源媒體文件,在文件上載入庫(kù)時(shí)生成I幀索引文件,對(duì)于直播資源媒體數(shù)據(jù),在錄制過(guò)程中生成I幀索引文件。本發(fā)明著重描述流媒體服務(wù)器端在接到操作指令后的處置方法,在媒體播放器端,透明地處理接收到的數(shù)據(jù),包括以下步驟接收流媒體服務(wù)器端發(fā)來(lái)的數(shù)據(jù)包(packet),從數(shù)據(jù)包(packet)中讀取幀數(shù)據(jù)(frame),解碼器對(duì)幀數(shù)據(jù)(frame)解碼,最終將幀圖像呈現(xiàn)在終端屏幕,媒體播放器端沒(méi)有數(shù)據(jù)包類別和幀類別的辨別模塊,不作區(qū)別對(duì)待。媒體服務(wù)器端處理方式跟現(xiàn)有技術(shù)的處置方式一祥,這里不再贅述。下面以用戶常用的幾個(gè)操作V0D點(diǎn)播,快進(jìn)或快退,以及切換頻道為實(shí)施例來(lái)對(duì)本發(fā)明的方法進(jìn)ー步細(xì)化。實(shí)施例一、VOD點(diǎn)播。VOD點(diǎn)播業(yè)務(wù)中,用戶可以選擇在不同的時(shí)刻開(kāi)始播放點(diǎn)播節(jié)目,若用戶發(fā)送VOD播放命令時(shí)附帶的播放起點(diǎn)時(shí)刻對(duì)應(yīng)的數(shù)據(jù)幀是P幀或B幀,則流媒體服務(wù)器開(kāi)始發(fā)送數(shù)據(jù)時(shí),第一幀數(shù)據(jù)為非I幀,因此媒體播放器只能繼續(xù)接收數(shù)據(jù),直到接收到I幀數(shù)據(jù)為止才能開(kāi)始解碼播放。在接收到第一個(gè)I幀數(shù)據(jù)之前接收到的數(shù)據(jù),因?yàn)闆](méi)有I幀,無(wú)法解碼,則會(huì)被丟棄,而媒體播放器端在接收這部分?jǐn)?shù)據(jù)的時(shí)間段內(nèi),無(wú)法顯示數(shù)據(jù)畫面,只能向用 戶顯示等待畫面,因此用戶點(diǎn)播時(shí)畫面的啟動(dòng)有一定的時(shí)延時(shí)間,如果時(shí)延過(guò)長(zhǎng),給用戶帶來(lái)不好的體驗(yàn)。本發(fā)明采用點(diǎn)播業(yè)務(wù)啟動(dòng)時(shí)流媒體服務(wù)器端首先發(fā)送I幀的方法,可以讓媒體播放器端在較短的時(shí)間內(nèi)開(kāi)始解碼和播放,縮短畫面啟動(dòng)時(shí)延,提升用戶體驗(yàn),如圖2所示,具體包括步驟步驟201、為視頻媒體文件生成對(duì)應(yīng)的I幀索引文件。步驟202、根據(jù)VOD點(diǎn)播指令的當(dāng)前播放時(shí)刻,定位到距離當(dāng)前播放時(shí)刻最近的I幀。步驟203、從定位的I幀開(kāi)始播放視頻媒體文件。具體地,將用戶發(fā)送VOD播放命令時(shí)附帶的播放起點(diǎn)時(shí)刻表示為T,若T時(shí)刻對(duì)應(yīng)的數(shù)據(jù)幀正好為I幀數(shù)據(jù),則流媒體服務(wù)器端開(kāi)始發(fā)送數(shù)據(jù)時(shí),第一幀數(shù)據(jù)為I幀,因此媒體播放器端能夠及時(shí)接收到I幀數(shù)據(jù),盡快的開(kāi)始解碼播放;若T時(shí)刻對(duì)應(yīng)的數(shù)據(jù)幀不是I幀,則定位到距離當(dāng)前時(shí)刻最近的那個(gè)I幀,跳過(guò)非I幀數(shù)據(jù)從I幀開(kāi)始發(fā)送數(shù)據(jù),這樣媒體播放器端可以盡快的接收到I幀數(shù)據(jù)開(kāi)始解碼播放,減少用戶等待時(shí)間。實(shí)施例ニ、快進(jìn)或快退。通過(guò)IP網(wǎng)絡(luò)提供的流媒體播放服務(wù)與本地媒體的播放,在快進(jìn)快退功能的實(shí)現(xiàn)上有著很大的區(qū)別,本地媒體播放的時(shí)候,通過(guò)加快解碼器對(duì)視頻幀的解碼速度,即可實(shí)現(xiàn)快進(jìn)快退功能,但是對(duì)于流媒體,當(dāng)流媒體服務(wù)器端發(fā)送幀數(shù)據(jù)的速度加快時(shí),會(huì)造成碼流過(guò)快,超過(guò)網(wǎng)絡(luò)帶寬的承受能力,所以一般采用跳過(guò)一定數(shù)量的幀這種方法發(fā)送幀數(shù)據(jù),達(dá)到快進(jìn)快退的目的。由于I、P、B三類幀中,只有I幀是獨(dú)立編碼方式,所以只能采取發(fā)送I幀的方式實(shí)現(xiàn)快進(jìn)快退,否則畫面中會(huì)出現(xiàn)馬賽克。如圖3所示,對(duì)于快進(jìn)或快退,本發(fā)明的流程包括步驟步驟301、為視頻媒體文件生成對(duì)應(yīng)的I幀索引文件。步驟302、根據(jù)快進(jìn)或快退指令的當(dāng)前播放時(shí)刻,定位到距離當(dāng)前播放時(shí)刻最近的I幀。步驟303、配置流媒體服務(wù)器的固定參數(shù),包括跳過(guò)I幀個(gè)數(shù)的基礎(chǔ)值base和毎秒鐘發(fā)送的I巾貞個(gè)數(shù)nps。步驟304、根據(jù)快進(jìn)或快退指令中附帯的倍速信息scale,計(jì)算需要跳過(guò)I幀的個(gè)數(shù)skipN和發(fā)送I巾貞的時(shí)間間隔sendGap。具體地,nps的設(shè)置方法為結(jié)合用戶體驗(yàn)和所在系統(tǒng)帶寬限制進(jìn)行確定,設(shè)置nps過(guò)低時(shí),畫面不流暢,用戶體驗(yàn)較差,設(shè)置nps過(guò)高時(shí),由于相比于P幀和B幀,I幀的數(shù)據(jù)量較大,在単位時(shí)間內(nèi)發(fā)送過(guò)多的I幀,會(huì)提高碼流速度,超過(guò)網(wǎng)絡(luò)帶寬的承受能力后,會(huì)造成丟包等問(wèn)題,同樣會(huì)導(dǎo)致用戶無(wú)法正常觀看視頻。設(shè)置nps為3,即每秒鐘發(fā)送3個(gè)I幀,是ー個(gè)經(jīng)驗(yàn)值,當(dāng)然也可以根據(jù)系統(tǒng)部署的具體情況進(jìn)行調(diào)整。為用戶提供的快進(jìn)快退倍速,通常為2X、4X、8X、16X、32X,以ー個(gè)時(shí)長(zhǎng)為64分鐘的視頻文件為例,2X快進(jìn)時(shí),流媒體服務(wù)器要在32分鐘時(shí)間內(nèi)播放完畢。若正常播放視頻文件時(shí)流媒體服務(wù)器應(yīng)該發(fā)送的I幀序號(hào)為1、2、3、4、5、6、7……,由于前面已經(jīng)設(shè)定每秒鐘發(fā)送I幀的個(gè)數(shù)nps為3,所以2X快進(jìn)時(shí)應(yīng)該發(fā)送的I幀序號(hào)為1、3、5、7……,即發(fā)送時(shí)跳過(guò)I幀的個(gè)數(shù)為2,這種情況下應(yīng)該設(shè)置跳過(guò)I幀個(gè)數(shù)的基礎(chǔ)值base為I。其中skipN=base*scale;sendGap=1000/nps (ms)。 當(dāng)輸入的操作指令為快進(jìn)指令時(shí),跳過(guò)I幀的個(gè)數(shù)為正數(shù),即沿著時(shí)間軸的正方向捜索I幀;當(dāng)輸入的操作指令為快退指令時(shí),跳過(guò)I幀的個(gè)數(shù)為負(fù)數(shù),即沿著時(shí)間軸的負(fù)方向搜索I幀。步驟305、流媒體服務(wù)器切換至快進(jìn)或快退模式,根據(jù)I幀索引文件和計(jì)算出的跳過(guò)I幀的個(gè)數(shù)和時(shí)間間隔,從節(jié)目源中提取所需的I幀數(shù)據(jù),然后每隔固定時(shí)間發(fā)送ー個(gè)I幀數(shù)據(jù)。具體地,包括如下步驟A、從I幀索引文件中獲取序號(hào)為Isend的I幀索引信息,包括Isend幀的播放時(shí)亥IJ,所在分片的序號(hào),片內(nèi)偏移量,幀的大??;B、讀取Isend幀的數(shù)據(jù)并發(fā)送Isend幀的數(shù)據(jù)至媒體播放器端;C、設(shè)置當(dāng)前待發(fā)送的I巾貞序號(hào)Isend=Isend+skipN ;D、等待時(shí)間間隔sendGap (ms),重復(fù)步驟A到步驟C,直至流媒體服務(wù)器端收到其他播放指令。實(shí)施例三頻道切換。如圖4所示,對(duì)于頻道切換,本發(fā)明的流程包括步驟步驟401、為視頻媒體文件生成對(duì)應(yīng)的I幀索引文件。步驟402、根據(jù)頻道切換指令,定位到距離切換目標(biāo)頻道的當(dāng)前播放時(shí)刻最近的I幀。步驟403、媒體流服務(wù)器根據(jù)I幀索引文件,提取所述當(dāng)前播放時(shí)刻前N個(gè)I幀數(shù)據(jù);步驟404、以單播方式發(fā)送提取的I幀。具體地,當(dāng)媒體播放器端收到用戶發(fā)出的頻道切換的請(qǐng)求時(shí),發(fā)送IGMP leave消息離開(kāi)當(dāng)前頻道的多播組,流媒體服務(wù)器定位當(dāng)前播放時(shí)刻,以單播方式發(fā)送在時(shí)間軸負(fù)方向上距離當(dāng)前播放時(shí)刻最近的I幀數(shù)據(jù),直到媒體播放器端發(fā)送IGMP join消息加入到目標(biāo)直播(live)頻道多播組,然后流媒體服務(wù)器發(fā)送目標(biāo)直播(live)頻道的數(shù)據(jù)。而媒體播放器端在發(fā)出IGMP leave消息離開(kāi)原來(lái)的多播組之后,清空緩存,開(kāi)始接收單播方式發(fā)送到的幀數(shù)據(jù),媒體播放器端同時(shí)等待從流媒體服務(wù)器端發(fā)送到的新的多播數(shù)據(jù),并處理多播數(shù)據(jù)。這里首先定位切換的目標(biāo)頻道的當(dāng)前播放時(shí)刻,然后計(jì)算單播方式發(fā)送I幀的個(gè)數(shù)N,接著根據(jù)直播錄制時(shí)生成的I幀索引文件以及I幀個(gè)數(shù)N,提取出待發(fā)送的N個(gè)I幀數(shù)據(jù)。該模塊捜索I幀數(shù)據(jù)時(shí),沿著時(shí)間軸的負(fù)方向進(jìn)行搜索,找到距離當(dāng)前時(shí)刻最近的I幀數(shù)據(jù),所謂負(fù)方向,是指時(shí)間減少的方向。計(jì)算單播方式發(fā)送I幀的個(gè)數(shù)N的方法是,找到一個(gè)整數(shù)值N,使其滿足(N+l) *avgIFrame>=BufferSize,其中avglFrame為I巾貞的平均數(shù)據(jù)量,BufferSize為媒體播放器端的緩存大小。先發(fā)送N個(gè)I幀數(shù)據(jù),是因?yàn)槊襟w播放器端在等待緩存充滿以后,才會(huì)開(kāi)始解碼播放,在等待真正的多播數(shù)據(jù)I幀到達(dá)媒體播放器端之前,本發(fā)明利用單播通道將媒體播放器緩存的空間充滿至剰余ー個(gè)I幀數(shù)據(jù)的空間,所填充的內(nèi)容即為上述單播發(fā)送的I幀數(shù)據(jù),如圖5所示。這樣做的目的是,一旦多播數(shù)據(jù)的第一個(gè)I幀到達(dá)媒體播放器端,即可將緩存充滿,媒體播放器則可以即時(shí)開(kāi)始解碼播放。進(jìn)ー步地,從開(kāi)始接收新的目標(biāo)直播頻道多播數(shù)據(jù)時(shí)刻起,對(duì)接收到的數(shù)據(jù)幀若為P幀或者B幀,則直接丟棄該幀數(shù)據(jù),直到接收到多播數(shù)據(jù)的第一個(gè)I幀,并將數(shù)據(jù)填充 到緩存,然后媒體播放器端開(kāi)始正常的接收、解碼、顯示幀數(shù)據(jù)。如果媒體播放器端接收到多播數(shù)據(jù)的第一個(gè)I幀時(shí),若單播數(shù)據(jù)還未接收完畢則停止接收,并發(fā)送消息請(qǐng)求流媒體服務(wù)器端停止發(fā)送單播數(shù)據(jù)。因?yàn)楫?dāng)真正的多播數(shù)據(jù)達(dá)到媒體播放器端且I幀已到達(dá)媒體播放器端時(shí),就沒(méi)有必要緩存當(dāng)前時(shí)刻之前的歷史數(shù)據(jù),而是應(yīng)該接收多播通道發(fā)來(lái)的當(dāng)前時(shí)刻之后的新數(shù)據(jù)并開(kāi)始播放。根據(jù)以上具體實(shí)施方式
      ,可以使用戶在使用IPTV業(yè)務(wù)時(shí),能夠進(jìn)行順暢的快迸、快退,是ー種互操作性強(qiáng)的用戶體驗(yàn);可以使用戶在使用IPTV業(yè)務(wù)時(shí),減少VOD等待時(shí)間、減少頻道切換時(shí)間,是ー種方便性強(qiáng)的用戶體驗(yàn)。本發(fā)明在充分發(fā)揮I幀的利用價(jià)值的基礎(chǔ)上,能夠有效的提升用戶在使用IPTV業(yè)務(wù)時(shí)的用戶體驗(yàn),提升用戶對(duì)產(chǎn)品的好評(píng)率。以上實(shí)施例僅用以說(shuō)明本發(fā)明的技術(shù)方案而非對(duì)其進(jìn)行限制,在不背離本發(fā)明精神及其實(shí)質(zhì)的情況下,熟悉本領(lǐng)域的技術(shù)人員當(dāng)可根據(jù)本發(fā)明作出各種相應(yīng)的改變和變形,但這些相應(yīng)的改變和變形都應(yīng)屬于本發(fā)明所附的權(quán)利要求的保護(hù)范圍。
      權(quán)利要求
      1.一種利用I幀改善IPTV業(yè)務(wù)的用戶體驗(yàn)的方法,應(yīng)用于互聯(lián)網(wǎng)電視IPTV系統(tǒng),所述IPTV系統(tǒng)包括流媒體服務(wù)器和媒體播放器,其特征在于,所述方法包括步驟 為視頻媒體文件生成對(duì)應(yīng)的I幀索引文件; 根據(jù)輸入的操作指令的當(dāng)前播放時(shí)刻,流媒體服務(wù)器定位到距離當(dāng)前播放時(shí)刻最近的I幀; 從所述的I幀開(kāi)始發(fā)送視頻數(shù)據(jù)。
      2.如權(quán)利要求I所述的改善IPTV業(yè)務(wù)的用戶體驗(yàn)的方法,其特征在于,所述的輸入的操作指令是VOD點(diǎn)播指令。
      3.如權(quán)利要求I所述的改善IPTV業(yè)務(wù)的用戶體驗(yàn)的方法,其特征在于,所述的輸入的操作指令是快進(jìn)或快退指令,則從所述的I幀開(kāi)始發(fā)送視頻數(shù)據(jù)具體包括步驟 配置跳過(guò)I幀個(gè)數(shù)的基礎(chǔ)值和每秒鐘發(fā)送的I幀個(gè)數(shù); 根據(jù)快進(jìn)或快退指令中附帶的倍速信息,計(jì)算需要跳過(guò)I幀的個(gè)數(shù)和發(fā)送I幀的時(shí)間間隔; 根據(jù)I幀索引文件和計(jì)算出的跳過(guò)I幀的個(gè)數(shù)和發(fā)送I幀的時(shí)間間隔,從視頻媒體文件中提取所需的I幀數(shù)據(jù),按照所述的時(shí)間間隔發(fā)送I幀數(shù)據(jù)。
      4.如權(quán)利要求3所述的改善IPTV業(yè)務(wù)的用戶體驗(yàn)的方法,其特征在于,假設(shè)距離當(dāng)前播放時(shí)刻最近的I幀序號(hào)為Isend,所述根據(jù)I幀索引文件和計(jì)算出的跳過(guò)I幀的個(gè)數(shù)和發(fā)送I幀的時(shí)間間隔,從視頻媒體文件中提取所需的I幀數(shù)據(jù),按照所述的時(shí)間間隔發(fā)送I幀數(shù)據(jù),包括步驟 從I幀索引文件中獲取序號(hào)為Isend的I幀索引信息,包括Isend幀的播放時(shí)刻,所在分片的序號(hào),片內(nèi)偏移量,巾貞的大?。? 讀取Isend幀的數(shù)據(jù)并發(fā)送Isend幀的數(shù)據(jù)至媒體播放器端; 設(shè)置當(dāng)前待發(fā)送的I幀序號(hào)Isend=Isend+跳過(guò)I幀的個(gè)數(shù); 等待時(shí)間間隔,重復(fù)上述三個(gè)步驟,直至流媒體服務(wù)器端收到其他播放指令。
      5.如權(quán)利要求3或4所述的改善IPTV業(yè)務(wù)的用戶體驗(yàn)的方法,其特征在于,當(dāng)所述輸入的操作指令為快進(jìn)指令時(shí),所述跳過(guò)I幀的個(gè)數(shù)為正數(shù);當(dāng)所述輸入的操作指令為快退指令時(shí),所述跳過(guò)I幀的個(gè)數(shù)為負(fù)數(shù)。
      6.如權(quán)利要求I所述的改善IPTV業(yè)務(wù)的用戶體驗(yàn)的方法,其特征在于,所述的輸入的操作指令是頻道切換指令,媒體播放器離開(kāi)原來(lái)的多播組,并清空緩存,在流媒體服務(wù)器定位到距離目標(biāo)直播頻道當(dāng)前播放時(shí)刻最近的I幀步驟之后,還包括步驟 流媒體服務(wù)器根據(jù)I幀索引文件,提取所述當(dāng)前播放時(shí)刻前N個(gè)I幀數(shù)據(jù)。
      7.如權(quán)利要求6所述的改善IPTV業(yè)務(wù)的用戶體驗(yàn)的方法,其特征在于,所述從所述的I幀開(kāi)始發(fā)送視頻數(shù)據(jù)是指以單播方式發(fā)送所述的N個(gè)I幀數(shù)據(jù),發(fā)送完所述的N個(gè)I幀數(shù)據(jù)后,從當(dāng)前時(shí)刻開(kāi)始發(fā)送目標(biāo)直播頻道多播數(shù)據(jù)。
      8.如權(quán)利要求7所述的改善IPTV業(yè)務(wù)的用戶體驗(yàn)的方法,其特征在于,所述改善IPTV業(yè)務(wù)的用戶體驗(yàn)的方法,還包括步驟 媒體播放器發(fā)送多播加入信息加入到目標(biāo)直播頻道多播組,接收流媒體服務(wù)器發(fā)送的目標(biāo)直播頻道的多播數(shù)據(jù),丟棄非I幀的數(shù)據(jù)直到接收到多播數(shù)據(jù)的第一個(gè)I幀,將所述I幀放入緩存,開(kāi)始正常接收并解碼視頻數(shù)據(jù)。
      9.如權(quán)利要求8所述的改善IPTV業(yè)務(wù)的用戶體驗(yàn)的方法,其特征在于,所述改善IPTV業(yè)務(wù)的用戶體驗(yàn)的方法,還包括步驟如果媒體播放器接收到多播數(shù)據(jù)的第一個(gè)I幀時(shí),單播數(shù)據(jù)還未接收完畢則停止接收,并發(fā)送消息請(qǐng)求流媒體服務(wù)器端停止發(fā)送單播數(shù)據(jù)。
      全文摘要
      本發(fā)明公開(kāi)了一種利用I幀改善IPTV業(yè)務(wù)的用戶體驗(yàn)的方法,首先為視頻媒體文件生成對(duì)應(yīng)的I幀索引文件,然后根據(jù)輸入的操作指令的當(dāng)前播放時(shí)刻,流媒體服務(wù)器定位到距離當(dāng)前播放時(shí)刻最近的I幀,從所述的I幀開(kāi)始發(fā)送視頻數(shù)據(jù)。通過(guò)快速定位I幀并及時(shí)地向用戶傳送I幀,能夠使媒體播放器能最快的接收到I幀并開(kāi)始解碼播放圖像,減少了用戶等待I幀帶來(lái)的延時(shí),是提升用戶體驗(yàn)的一種有效方法。
      文檔編號(hào)H04N21/232GK102761773SQ201210230760
      公開(kāi)日2012年10月31日 申請(qǐng)日期2012年7月3日 優(yōu)先權(quán)日2012年7月3日
      發(fā)明者劉偉, 許彥山 申請(qǐng)人:Ut斯達(dá)康通訊有限公司
      網(wǎng)友詢問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1