两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種視頻碼流切換方法及裝置的制作方法

文檔序號:7864523閱讀:286來源:國知局
專利名稱:一種視頻碼流切換方法及裝置的制作方法
技術領域
本申請涉及信息處理技術領域,特別是涉及一種視頻碼流切換方法及其相應的裝置。
背景技術
在保證視頻的正常播放情況下,不同的電腦配置、視頻帶寬、網絡狀態(tài)等因素決定播放器承載的視頻碼流也不相同,因此,通常需要在不同視頻碼流之間進行切換,由原視頻碼流切換到目標視頻碼流存在時間延遲。當該時間延遲超過一定閥值時,視頻播放將出現(xiàn)“卡頓”現(xiàn)象,即視頻播放過程中出現(xiàn)停頓,甚至時間延遲過長出現(xiàn)視頻數(shù)據(jù)丟失,導致“黑屏”。由此可見,視頻碼流切換是否平滑將影響到視頻的播放效果,降低用戶良好的收視體 驗。現(xiàn)有技術的一種實現(xiàn)視頻碼流切換的方式是當接收到視頻碼流切換觸發(fā)時,視頻播放器立即停止當前視頻碼流的視頻播放,連接目標視頻碼流對應的物理文件,并加載該物理文件的相應視頻數(shù)據(jù),從而開啟目標視頻碼流的視頻播放。然而,由于選擇目標視頻碼流對應的物理文件與加載視頻數(shù)據(jù)的操作存在時間延遲,即使原視頻碼流播放的視頻數(shù)據(jù)與目標視頻碼流播放的視頻數(shù)據(jù)完全對接,在該時間延遲的作用下,切換前后的視頻數(shù)據(jù)播放沒有實現(xiàn)平滑過渡,導致“卡頓”現(xiàn)象,甚至“黑屏”。

發(fā)明內容
為解決上述技術問題,本申請實施例提供一種視頻碼流切換方法及其對應的裝置,以實現(xiàn)視頻碼流切換前后的平滑過渡,避免出現(xiàn)“卡頓”現(xiàn)象,甚至“黑屏”。本申請實施例提供的視頻碼流切換方法包括在接收到碼流切換觸發(fā)后,繼續(xù)播放視頻數(shù)據(jù)緩存區(qū)內的當前碼流視頻的第一播放基兀;在視頻數(shù)據(jù)緩存區(qū)內的至少一個第一播放基元未播放完之前,連接目標碼流視頻文件,以一個未播放或未播放完的第一播放基元的播放結束時間為時間起點,從所述目標碼流視頻文件中將與該時間起點對應的目標碼流視頻的第二播放基元加載到視頻數(shù)據(jù)緩存區(qū)以供播放。優(yōu)選地,在接收到碼流切換觸發(fā)后,如果視頻數(shù)據(jù)緩存區(qū)內存在多個未播放的第一播放基元,則計算各第一播放基元的播放結束時間與預設閥值之差,以差值最小的第一播放基元的播放結束時間為時間起點,從所述目標碼流視頻文件中將與該時間起點對應的目標碼流視頻的第二播放基元加載到視頻數(shù)據(jù)緩存區(qū)以供播放,所述預設閥值根據(jù)連接目標碼流視頻文件和加載目標碼流視頻的第二播放基元的時間確定。優(yōu)選地,當從視頻數(shù)據(jù)緩存區(qū)中選擇一個未播放或未播放完的第一播放基元的播放結束時間為時間起點后,刪除視頻數(shù)據(jù)緩存區(qū)內其他未播放的第一播放基元。優(yōu)選地,所述碼流切換觸發(fā)包括
偵聽用戶發(fā)出的碼流切換通知消息,當偵聽到通知消息后觸發(fā)碼流切換;和/或,監(jiān)測網絡數(shù)據(jù)傳輸情況,當網絡數(shù)據(jù)傳輸情況滿足預設條件時觸發(fā)碼流切換。優(yōu)選地,所述第一播放基元、第二播放基元為視頻TAG。本申請實施例還提供了一種視頻碼流切換裝置。該裝置包括觸發(fā)接收單元、視頻播放單元、文件連接單元和加載單元,其中所述觸發(fā)接收單元,用于接收碼流切換觸發(fā);所述視頻播放單元,用于在接收到碼流切換觸發(fā)后,繼續(xù)播放視頻數(shù)據(jù)緩存區(qū)內的當前碼流視頻的第一播放基元;所述文件連接單元,用于在視頻數(shù)據(jù)緩存區(qū)內的至少一個第一播放基元未播放完之前,連接目標碼流視頻文件; 所述加載單元,用于在視頻數(shù)據(jù)緩存區(qū)內的至少一個第一播放基元未播放完之前,以一個未播放或未播放完的第一播放基兀的播放結束時間為時間起點,從所述目標碼流視頻文件中將與該時間起點對應的目標碼流視頻的第二播放基元加載到視頻數(shù)據(jù)緩存區(qū)以供播放。優(yōu)選地,在接收到碼流切換觸發(fā)后,如果視頻數(shù)據(jù)緩存區(qū)內存在多個未播放的第一播放基元,則所述加載單元包括計算子單元和加載子單元,其中所述計算子單元,用于計算各第一播放基元的播放結束時間與預設閥值之差,所述預設閥值根據(jù)連接目標碼流視頻文件和加載目標碼流視頻的第二播放基元的時間確定;所述加載子單元,用于以差值最小的第一播放基元的播放結束時間為時間起點,從所述目標碼流視頻文件中將與該時間起點對應的目標碼流視頻的第二播放基元加載到視頻數(shù)據(jù)緩存區(qū)以供播放。優(yōu)選地,所述裝置還包括刪除單元,用于在從視頻數(shù)據(jù)緩存區(qū)中選擇一個未播放或未播放完的第一播放基元的播放結束時間為時間起點后,刪除視頻數(shù)據(jù)緩存區(qū)內其他未播放的第一播放基元。優(yōu)選地,所述觸發(fā)接收單元接收到的碼流切換觸發(fā)包括偵聽到用戶發(fā)出的碼流切換通知消息后的碼流切換觸發(fā);和/或,監(jiān)測到網絡數(shù)據(jù)傳輸情況滿足預設條件時的碼流切換觸發(fā)。優(yōu)選地,所述第一播放基元、第二播放基元為視頻TAG。本申請實施例在接收到視頻碼流切換觸發(fā)后繼續(xù)播放視頻數(shù)據(jù)緩存區(qū)內的當前碼流視頻的第一播放基元,在至少一個第一播放基元未播放完之前,連接目標視頻碼流的物理文件和加載目標碼流視頻的第二播放基元供播放。與現(xiàn)有技術相比,由于本申請實施例在視頻數(shù)據(jù)緩存區(qū)內的第一播放基元播放完之前,已加載了目標碼流視頻的第二播放基元,從而使得當前碼流視頻與目標碼流視頻的播放連續(xù),實現(xiàn)了平滑過渡,避免了出現(xiàn)“卡頓”,甚至“黑屏”現(xiàn)象。


為了更清楚地說明本申請實施例或現(xiàn)有技術中的技術方案,下面將對實施例或現(xiàn)有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本申請中記載的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖I為本申請的視頻碼流切換方法的一個實施例的流程圖;圖2為本申請的視頻碼流切換方法的另一個實施例的流程圖;圖3為本申請的視頻數(shù)據(jù)緩存區(qū)示意圖;圖4為本申請的視頻碼流切換裝置的實施例的結構框圖。
具體實施方式
為了使本技術領域的人員更好地理解本申請中的技術方案,下面將結合本申請實施例中的附圖,對本申請實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本申請一部分實施例,而不是全部的實施例?;诒旧暾堉械膶嵤├绢I域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都應當屬于本申請保護的范圍。為使本申請的上述目的、特征和優(yōu)點能夠更加明顯易懂,下面結合附圖和具體實施方式
對本申請作進一步詳細的說明。參見圖1,該圖示出了本申請的視頻碼流切換方法的一個實施例的流程。該實施例包括步驟SlOl :在接收到碼流切換觸發(fā)后,繼續(xù)播放視頻數(shù)據(jù)緩存區(qū)內的當前碼流視頻的第一播放基元;視頻碼流反映視頻文件在單位時間內的數(shù)據(jù)流量,是視頻編碼中畫面質量控制的重要部分。相同分辨率,視頻文件的碼流越大,畫面質量越高。在視頻的實際播放過程中,由于各種原因可能引起視頻碼流的切換,以適應播放需要。引起碼流切換的原因不同,碼流切換的觸發(fā)形式也可能存在差別。如,當視頻碼流切換由用戶的特別指定引起時,可以通過設置對用戶發(fā)出的碼流切換通知消息的偵聽實現(xiàn),當偵聽到用戶發(fā)出的通知消息,則觸發(fā)碼流切換。還比如,當視頻碼流切換是由網絡環(huán)境等因素引起時,可以通過設置對網絡環(huán)境因素的監(jiān)測實現(xiàn),當監(jiān)測到網絡環(huán)境因素滿足預設條件,則觸發(fā)碼流切換。這里的網絡環(huán)境因素可以是網絡帶寬、網絡數(shù)據(jù)傳輸?shù)?。以網絡數(shù)據(jù)傳輸情況為例,如果當前的網絡用戶較多、數(shù)據(jù)傳輸較為擁堵,當網絡數(shù)據(jù)傳輸?shù)膫鬏斔俾市∮谀硞€預設閥值時,則認為需要觸發(fā)碼流切換,切換到與該網絡傳輸速率對應的視頻碼流上。值得注意的是這里的預設條件可以是復合性條件,
如,當網絡傳輸情況在一個區(qū)間范圍內時,觸發(fā)當前碼流與第一目標碼流之間的切換,當網絡傳輸情況在另一個區(qū)間范圍內時,觸發(fā)當前碼流與第二目標碼流之間的切換。視頻數(shù)據(jù)緩存區(qū)是用于緩存待播放的視頻文件的播放基元的。在實際播放視頻文件過程中,由于視頻文件較大,通常需要將一個大的視頻文件切割為若干個小的“片段”,這些“片段”的播放開始時間和結束時間連續(xù)構成整個視頻文件的完整播放時長。一種標準的切割視頻文件的方式是將一個視頻文件解析為多個視頻TAG。每個“片段”可稱為一個播放基元,一個播放基元作為整體被加載到內存供播放器播放。視頻數(shù)據(jù)緩存區(qū)內可以存在一個或數(shù)個播放基元,其具體數(shù)量由一個播放基元的大小和視頻數(shù)據(jù)緩存區(qū)的大小決定。當接收到碼流切換觸發(fā)后,本實施例不停止對播放基元的播放,以正常方式繼續(xù)播放視頻數(shù)據(jù)緩存區(qū)內的未播放的播放基元。不停止視頻數(shù)據(jù)緩存區(qū)內播放基元的播放可通過維護自己獨立控制的視頻數(shù)據(jù)緩存區(qū)實現(xiàn)。如果視頻數(shù)據(jù)緩存區(qū)內存在多個播放基元,播放器將按照播放基元的播放開始時間順序播放。步驟S102 :在視頻數(shù)據(jù)緩存區(qū)內的至少一個第一播放基元未播放完之前,連接目標碼流視頻文件,以一個未播放或未播放完的第一播放基元的播放結束時間為時間起點,從所述目標碼流視頻文件中將與該時間起點對應的目標碼流視頻的第二播放基元加載到視頻數(shù)據(jù)緩存區(qū)以供播放;在接收到碼流切換觸發(fā)后到視頻數(shù)據(jù)緩存區(qū)內的全部播放基元播放完之前這段時間內,本實施例將完成兩項操作一是連接目標碼流視頻文件。由于不同的視頻碼流,對應的視頻文件的壓縮比例不同,通常相同的視頻文件根據(jù)不同的碼流需要分別形成不同的 物理文件,當接收到碼流切換觸發(fā)后,即連接到目標碼流對應的視頻物理文件,以便從中獲取與當前播放的播放基元相接續(xù)的新碼流對應的播放基元。二是從目標碼流視頻文件中加載目標碼流視頻的第二播放基元,加載的播放基元的時間起點可以是視頻數(shù)據(jù)緩存區(qū)內任何一個未播放的第一播放基元,或者正在播放但未播放完的第一播放基元的播放結束時間。將目標碼流視頻文件的第二播放基元加載到視頻數(shù)據(jù)緩存區(qū)后,播放器將根據(jù)播放基元本身的時間先后(播放開始時間)播放相應的播放基元。通過前述兩個操作完成了由一個視頻碼流(即前述的當前碼流)到另一個視頻碼流(目標碼流)之間的切換。本實施例在接收到視頻碼流切換觸發(fā)后繼續(xù)播放視頻數(shù)據(jù)緩存區(qū)內的當前碼流視頻的第一播放基元,在至少一個第一播放基元未播放完之前,連接目標視頻碼流的物理文件和加載目標碼流視頻的第二播放基元供播放。與現(xiàn)有技術相比,由于本申請實施例在視頻數(shù)據(jù)緩存區(qū)內的第一播放基元播放完之前,已加載了目標碼流視頻的第二播放基元,從而使得當前碼流視頻與目標碼流視頻的播放連續(xù),實現(xiàn)了平滑過渡,避免了出現(xiàn)“卡頓”,甚至“黑屏”現(xiàn)象。在前述實施例中,盡管從視頻數(shù)據(jù)緩存區(qū)內任意選擇一個未播放的第一播放基元并將其播放結束時間作為對第二播放基元的加載時間起點的方式并不妨礙本申請發(fā)明目的的實現(xiàn),但是,在實際應用過程中,如果視頻數(shù)據(jù)緩存區(qū)內存在多個未播放的第一播放基元,如果選擇的是時間靠后的第一播放基元,那么在完成連接目標視頻文件和加載第二播放基元的操作后,視頻數(shù)據(jù)緩存區(qū)內的第一播放基元還沒有播放完,導致不當“延遲”了對視頻碼流切換的響應。為了解決該問題,本申請?zhí)峁┝擞忠粋€實施例,該實施例在視頻數(shù)據(jù)緩存區(qū)內存在多個未播放的第一播放基元的情況下,給出了選擇第一播放基元的策略,從而“壓縮”對視頻碼流切換的響應時間。參見圖2,該圖示出了該又一個實施例的視頻碼流切換方法的流程。該實施例包括步驟S201 :接收碼流切換觸發(fā);步驟S202 :在接收到碼流觸發(fā)后繼續(xù)播放視頻數(shù)據(jù)緩存區(qū)內的當前碼流視頻的
第一播放基兀;步驟S203 :計算各第一播放基元的播放結束時間與預設閥值之差,所述預設閥值根據(jù)連接目標碼流視頻文件和加載目標碼流視頻的第二播放基元的時間確定;視頻數(shù)據(jù)緩存區(qū)內的每個第一播放基元的播放結束時間不同,因此,可將各第一播放基元的播放結束時間與預設閥值進行求差,以便從中選擇合適的播放基元,以其播放結束時間作為加載第二播放基元的時間起點。這里的預設閥值可以按照經驗進行設置,也可以根據(jù)目標碼流視頻文件和加載目標碼流視頻的第二播放基元的時間進行確定。步驟S204 :選擇差值為正數(shù)且最小的第一播放基元的播放結束時間確定為時間起點;經過前述計算后,對這些計算結果進行比較,從中選擇出差值最小的第一播放基元,將其播放結束時間作為時間起點。通過選擇播放結束時間與預設值差值為正數(shù)且最小的播放基元,使得在連接目標碼流視頻文件并加載第二播放基元兩項操作完成后,原碼流視頻的剩余第一播放基元的播放能夠盡快結束,而在較短的時間間隔內過渡到對目標碼流視頻的第二播放基元的播放,從而縮短了對碼流切換的響應時間。步驟S205 :從所述目標碼流視頻文件中將與確定的時間起點對應的目標碼流視頻的第二播放基元加載到視頻數(shù)據(jù)緩存區(qū)以供播放。 本實施例通過計算視頻數(shù)據(jù)緩存區(qū)內的多個播放基元與預設閥值的差值,進而選擇差值最小的播放基元的播放結束時間作為加載第二播放基元的時間起點,縮短了從接收碼流切換觸發(fā)到真正完成到目標碼流的切換之間的時間間隔,從而加快了碼流切換的速度。為便于理解,下面舉例對本實施例進行說明參見圖3,該圖示出了視頻數(shù)據(jù)緩存區(qū)的示意圖。在該圖中視頻數(shù)據(jù)緩存區(qū)內存在原碼流視頻的3個第一播放基元,分別標記為A、B、C,3個第一播放基元的播放時長(播放結束時間到播放開始時間之間的時間段)均相同,播放結束時間依次為8s、16s、24s(以當前時間為Os為基準),即按照正常播放順序,應當是第一播放基元A最先播放,第一播放基元C最后播放。再假設連接目標碼流視頻文件和加載第二播放基元需要的操作時間為14s (預設閥值)?,F(xiàn)在播放器正在播放第一播放基元A,假設播放到第Is時接收到碼流切換通知,這時不停止對A的播放,但進行連接目標碼流視頻文件和加載第二播放基元的操作。加載第二播放基元需要選擇加載的時間起點,以便能夠和已播放的第一播放基元接續(xù)上,這時計算3個第一播放基元的結束時間與預設閥值14s之間的差值,分別為-6s、2s、10s,這里第一播放基元A播放結束時間與預設閥值的差值為負,說明在第一播放基元A播放結束時還來不及將第二播放基元加載到視頻數(shù)據(jù)緩存區(qū),無法實現(xiàn)平滑切換,不能選擇該播放基元的播放結束時間作為加載時間起點。與此不同的是第一播放基元B、C播放結束時間與預設閥值的差值均為正,說明在這兩個播放基元播放結束時,第二播放基元均能夠加載到視頻數(shù)據(jù)緩存區(qū),這種情況下,可以以第一播放基元B的播放結束時間作為時間起點加載目標碼流視頻的第二播放基元,使第一播放基元B播放完后接續(xù)第二播放基元,也可以以第二播放基元C的播放結束時間作為時間起點加載目標碼流視頻的第二播放基元,使第一播放基元C播放完后接續(xù)第二播放基元。但是,選擇第一播放基元C的播放結束時間作為加載時間起點的方式顯然需要等待到24s之后才能真正實現(xiàn)碼流切換,而選擇第一播放基元B的播放結束時間作為加載時間起點的方式僅需要等待到16s后即可真正實現(xiàn)碼流切換。為縮短碼流切換的響應時間,本例選擇播放結束時間與預設閥值的差值為正數(shù)且數(shù)值最小的第一播放基元,即第一播放基元B,以其播放結束時間作為時間起點加載第二播放基元,從而加快了碼流切換。
在本實施例中,基于某些特殊需要,還可以進行改進以獲得更好的技術效果。比如,如果視頻數(shù)據(jù)緩存區(qū)內存在多個未播放或未播放完的第一播放基元,當確定好作為加載時間起點的第一播放基元后,加載的第二播放基元將接續(xù)在該第一播放基元后播放,這時其他第一播放基元便不再具有意義,為節(jié)約視頻數(shù)據(jù)緩存區(qū)的存儲資源,本申請優(yōu)選刪除這些未播放的第一播放基元。以前例而言,當選擇第一播放基元B的播放結束時間作為加載第二播放基元的時間起點后,第一播放基元B播放結束即接續(xù)播放加載的第二播放基元,這時視頻數(shù)據(jù)緩存區(qū)內存在的第一播放基元C便不再被播放,為騰出更多空間存儲后續(xù)的第二播放基元,可以將第一播放基元C予以刪除。以上內容是對本申請方法實施例的描述,相應地,本申請還提供了裝置實施例。參見圖4,該圖示出了本申請的視頻碼流切換的結構框圖。本裝置實施例包括觸發(fā)接收單元401、視頻播放單元402、文件連接單元403和加載單元404,其中觸發(fā)接收單元401,用于接收碼流切換觸發(fā);·
視頻播放單元402,用于在接收到碼流切換觸發(fā)后,繼續(xù)播放視頻數(shù)據(jù)緩存區(qū)內的當前碼流視頻的第一播放基元;文件連接單元403,用于在視頻數(shù)據(jù)緩存區(qū)內的至少一個第一播放基元未播放完之前,連接目標碼流視頻文件;加載單元404,用于在視頻數(shù)據(jù)緩存區(qū)內的至少一個第一播放基元未播放完之前,以一個未播放或未播放完的第一播放基元的播放結束時間為時間起點,從所述目標碼流視頻文件中將與該時間起點對應的目標碼流視頻的第二播放基元加載到視頻數(shù)據(jù)緩存區(qū)以供播放。本裝置實施例的工作過程是觸發(fā)接收單元401接收到碼流切換觸發(fā)后,視頻播放單元402繼續(xù)播放視頻數(shù)據(jù)緩存區(qū)內的當前碼流視頻的第一播放基元,同時文件連接單元403在視頻數(shù)據(jù)緩存區(qū)內的至少一個第一播放基元未播放完之前,連接目標碼流視頻文件,然后由加載單元404以一個未播放或未播放完的第一播放基元的播放結束時間為時間起點,從目標碼流視頻文件中將與該時間起點對應的目標碼流視頻的第二播放基元加載到視頻數(shù)據(jù)緩存區(qū)以供播放。本裝置實施例在接收到視頻碼流切換觸發(fā)后繼續(xù)播放視頻數(shù)據(jù)緩存區(qū)內的當前碼流視頻的第一播放基元,在至少一個第一播放基元未播放完之前,連接目標視頻碼流的物理文件和加載目標碼流視頻的第二播放基元供播放。與現(xiàn)有技術相比,由于本裝置實施例在視頻數(shù)據(jù)緩存區(qū)內的第一播放基元播放完之前,已加載了目標碼流視頻的第二播放基元,從而使得當前碼流視頻與目標碼流視頻的播放連續(xù),實現(xiàn)了平滑過渡,避免了出現(xiàn)“卡頓”,甚至“黑屏”現(xiàn)象。上述裝置實施例的加載單元在不同情形下其具體組成結構可能存在差別。比如,在接收到碼流切換觸發(fā)后,如果視頻數(shù)據(jù)緩存區(qū)內存在多個未播放的第一播放基元,這時加載單元404可以包括計算子單元4041和加載子單元4042,其中計算子單元4041,用于計算各第一播放基元的播放結束時間與預設閥值之差,所述預設閥值根據(jù)連接目標碼流視頻文件和加載目標碼流視頻的第二播放基元的時間確定;加載子單元4042,用于以差值為正數(shù)且最小的第一播放基元的播放結束時間為時間起點,從所述目標碼流視頻文件中將與該時間起點對應的目標碼流視頻的第二播放基元加載到視頻數(shù)據(jù)緩存區(qū)以供播放。這種加載單元的結構有利于加快碼流切換速度?;谏鲜黾虞d單元的結構,本裝置實施例還可以包括刪除單元405,用于在從視頻數(shù)據(jù)緩存區(qū)中選擇一個未播放或未播放完的第一播放基兀的播放結束時間為時間起點后,刪除視頻數(shù)據(jù)緩存區(qū)內其他未播放的第一播放基元。通過將無用的第一播放單元從視頻數(shù)據(jù)緩存區(qū)內刪除,將可以騰出更多的存儲空間緩存第二播放基元。需要說明的是,上述裝置實施例的觸發(fā)接收單元接收到的碼流切換觸發(fā)基于不同的碼流切換原因,其具體的觸發(fā)形式可以存在差別,比如,可以是通過設置偵聽用戶發(fā)出的碼流切換通知消息的部件獲取碼流切換觸發(fā),當該部件偵聽到通知消息時產生碼流切換觸發(fā),還可以通過設置自動監(jiān)測網絡環(huán)境因素情況的部件獲取碼流切換觸發(fā),當該部件監(jiān)測到網絡數(shù)據(jù)傳輸情況滿足預設條件時產生碼流切換觸發(fā)。這兩種方式可以單獨使用,也可以合并使用,具體采用哪種方式可根據(jù)實際應用需要進行選定。此外,本申請為便于區(qū)分當前碼流視頻的播放基元和目標碼流視頻的播放基元,將他們分別稱呼為第一播放基元、第二播放基元,實際上,這種區(qū)分僅僅滿足描述需要所作的文字區(qū)分,兩類播放基元可以是相同性質、相同屬性的播放基元,比如均為視頻TAG,視頻TAG是視頻播放中的最小數(shù)據(jù)單元。
為了描述的方便,描述以上裝置時以功能分為各種單元分別描述。當然,在實施本申請時可以把各單元的功能在同一個或多個軟件和/或硬件中實現(xiàn)。通過以上的實施方式的描述可知,本領域的技術人員可以清楚地了解到本申請可借助軟件加必需的通用硬件平臺的方式來實現(xiàn)?;谶@樣的理解,本申請的技術方案本質上或者說對現(xiàn)有技術做出貢獻的部分可以以軟件產品的形式體現(xiàn)出來,該計算機軟件產品可以存儲在存儲介質中,如R0M/RAM、磁碟、光盤等,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器,或者網絡設備等)執(zhí)行本申請各個實施例或者實施例的某些部分所述的方法。本說明書中的各個實施例均采用遞進的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對于系統(tǒng)實施例而言,由于其基本相似于方法實施例,所以描述得比較簡單,相關之處參見方法實施例的部分說明即可。以上所描述的系統(tǒng)實施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網絡單元上。可以根據(jù)實際的需要選擇其中的部分或者全部模塊來實現(xiàn)本實施例方案的目的。本領域普通技術人員在不付出創(chuàng)造性勞動的情況下,即可以理解并實施。本申請可用于眾多通用或專用的計算系統(tǒng)環(huán)境或配置中。例如個人計算機、服務器計算機、手持設備或便攜式設備、平板型設備、多處理器系統(tǒng)、基于微處理器的系統(tǒng)、置頂盒、可編程的消費電子設備、網絡PC、小型計算機、大型計算機、包括以上任何系統(tǒng)或設備的分布式計算環(huán)境等等。本申請可以在由計算機執(zhí)行的計算機可執(zhí)行指令的一般上下文中描述,例如程序模塊。一般地,程序模塊包括執(zhí)行特定任務或實現(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、對象、組件、數(shù)據(jù)結構等等。也可以在分布式計算環(huán)境中實踐本申請,在這些分布式計算環(huán)境中,由通過通信網絡而被連接的遠程處理設備來執(zhí)行任務。在分布式計算環(huán)境中,程序模塊可以位于包括存儲設備在內的本地和遠程計算機存儲介質中。
以上所述僅是本申請的具體實施方式
,應當指出,對于本技術領域的普通技術人員來說,在不脫離本申請原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應視為本申請的保護范圍。·
權利要求
1.一種視頻碼流切換方法,其特征在于,該方法包括 在接收到碼流切換觸發(fā)后,繼續(xù)播放視頻數(shù)據(jù)緩存區(qū)內的當前碼流視頻的第一播放基元; 在視頻數(shù)據(jù)緩存區(qū)內的至少一個第一播放基元未播放完之前,連接目標碼流視頻文件,以一個未播放或未播放完的第一播放基兀的播放結束時間為時間起點,從所述目標碼流視頻文件中將與該時間起點對應的目標碼流視頻的第二播放基元加載到視頻數(shù)據(jù)緩存區(qū)以供播放。
2.根據(jù)權利要求I所述的方法,其特征在于,在接收到碼流切換觸發(fā)后,如果視頻數(shù)據(jù)緩存區(qū)內存在多個未播放的第一播放基元,則 計算各第一播放基元的播放結束時間與預設閥值之差,所述預設閥值根據(jù)連接目標碼流視頻文件和加載目標碼流視頻的第二播放基元的時間確定; 以差值為正數(shù)且最小的第一播放基元的播放結束時間為時間起點,從所述目標碼流視頻文件中將與該時間起點對應的目標碼流視頻的第二播放基元加載到視頻數(shù)據(jù)緩存區(qū)以供播放。
3.根據(jù)權利要求I所述的方法,其特征在于,當從視頻數(shù)據(jù)緩存區(qū)中選擇一個未播放或未播放完的第一播放基元的播放結束時間為時間起點后,刪除視頻數(shù)據(jù)緩存區(qū)內其他未播放的第一播放基元。
4.根據(jù)權利要求I至3中任何一項所述的方法,其特征在于,所述碼流切換觸發(fā)包括 偵聽用戶發(fā)出的碼流切換通知消息,當偵聽到通知消息后觸發(fā)碼流切換;和/或,監(jiān)測網絡數(shù)據(jù)傳輸情況,當網絡數(shù)據(jù)傳輸情況滿足預設條件時觸發(fā)碼流切換。
5.根據(jù)權利要求4所述的方法,其特征在于,所述第一播放基元、第二播放基元為視頻TAG。
6.一種視頻碼流切換裝置,其特征在于,該裝置包括觸發(fā)接收單元、視頻播放單元、文件連接單元和加載單元,其中 所述觸發(fā)接收單元,用于接收碼流切換觸發(fā); 所述視頻播放單元,用于在接收到碼流切換觸發(fā)后,繼續(xù)播放視頻數(shù)據(jù)緩存區(qū)內的當前碼流視頻的第一播放基元; 所述文件連接單元,用于在視頻數(shù)據(jù)緩存區(qū)內的至少一個第一播放基元未播放完之前,連接目標碼流視頻文件; 所述加載單元,用于在視頻數(shù)據(jù)緩存區(qū)內的至少一個第一播放基元未播放完之前,以一個未播放或未播放完的第一播放基元的播放結束時間為時間起點,從所述目標碼流視頻文件中將與該時間起點對應的目標碼流視頻的第二播放基元加載到視頻數(shù)據(jù)緩存區(qū)以供播放。
7.根據(jù)權利要求6所述的裝置,其特征在于,在接收到碼流切換觸發(fā)后,如果視頻數(shù)據(jù)緩存區(qū)內存在多個未播放的第一播放基元,則所述加載單元包括計算子單元和加載子單元,其中 所述計算子單元,用于計算各第一播放基元的播放結束時間與預設閥值之差,所述預設閥值根據(jù)連接目標碼流視頻文件和加載目標碼流視頻的第二播放基元的時間確定; 所述加載子單元,用于以差值為正數(shù)且最小的第一播放基元的播放結束時間為時間起點,從所述目標碼流視頻文件中將與該時間起點對應的目標碼流視頻的第二播放基元加載到視頻數(shù)據(jù)緩存區(qū)以供播放。
8.根據(jù)權利要求6所述的裝置,其特征在于,所述裝置還包括刪除單元,用于在從視頻數(shù)據(jù)緩存區(qū)中選擇一個未播放或未播放完的第一播放基兀的播放結束時間為時間起點后,刪除視頻數(shù)據(jù)緩存區(qū)內其他未播放的第一播放基元。
9.根據(jù)權利要求6至8中任何一項所述的裝置,其特征在于,所述觸發(fā)接收單元接收到的碼流切換觸發(fā)包括 偵聽到用戶發(fā)出的碼流切換通知消息后的碼流切換觸發(fā);和/或,監(jiān)測到網絡數(shù)據(jù)傳輸情況滿足預設條件時的碼流切換觸發(fā)。
10.根據(jù)權利要求9所述的裝置,其特征在于,所述第一播放基元、第二播放基元為視頻 TAG。
全文摘要
本發(fā)明實施例公開了一種視頻碼流切換方法。該方法包括在接收到碼流切換觸發(fā)后,繼續(xù)播放視頻數(shù)據(jù)緩存區(qū)內的當前碼流視頻的第一播放基元;在視頻數(shù)據(jù)緩存區(qū)內的至少一個第一播放基元未播放完之前,連接目標碼流視頻文件,以一個未播放或未播放完的第一播放基元的播放結束時間為時間起點,從所述目標碼流視頻文件中將與該時間起點對應的目標碼流視頻的第二播放基元加載到視頻數(shù)據(jù)緩存區(qū)以供播放。本發(fā)明實施例還提供了一種視頻碼流切換裝置。本發(fā)明實施例的方案可以實現(xiàn)視頻碼流的平滑切換,避免出現(xiàn)“卡頓”、“黑屏”現(xiàn)象。
文檔編號H04N21/44GK102905188SQ201210431708
公開日2013年1月30日 申請日期2012年11月1日 優(yōu)先權日2012年11月1日
發(fā)明者鄧治民 申請人:北京奇藝世紀科技有限公司
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
乐安县| 舟曲县| 邵阳县| 白山市| 浙江省| 商城县| 汉沽区| 丹东市| 兰溪市| 清丰县| 岱山县| 开远市| 武胜县| 博客| 盘山县| 武川县| 巴东县| 广州市| 泗水县| 上林县| 区。| 观塘区| 济宁市| 彩票| 遵化市| 赫章县| 永平县| 武安市| 巩义市| 织金县| 浑源县| 会同县| 井研县| 桐城市| 南乐县| 齐齐哈尔市| 如东县| 浙江省| 抚顺县| 镇宁| 滨州市|