亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種媒體播放系統(tǒng)和方法

文檔序號:7891679閱讀:158來源:國知局
專利名稱:一種媒體播放系統(tǒng)和方法
技術(shù)領(lǐng)域
本發(fā)明涉及數(shù)字媒體領(lǐng)域,尤其涉及一種音視頻數(shù)字信息處理。
背景技術(shù)
基于互聯(lián)網(wǎng)的視頻分享目前已經(jīng)大面積普及,在互聯(lián)網(wǎng)上用戶可以通過視頻分享網(wǎng)站方便地獲取新聞視頻、用戶上傳視頻、影視作品等媒體節(jié)目。目前媒體播放系統(tǒng)通常的處理流程為制作特定編碼規(guī)格的視頻媒體節(jié)目并存儲在文件服務(wù)器上,響應(yīng)于接收到用戶請求,向用戶提供這些視頻媒體數(shù)據(jù)。目前的視頻分享技術(shù)都需要提前轉(zhuǎn)碼,在用戶欣賞之前生成用戶所需格式的媒體文件,用戶只能被動的選擇服務(wù)器提供的格式,只能用能夠讀取該格式數(shù)據(jù)的特定終端如電腦來訪問視頻分享網(wǎng)站,從而欣賞視頻節(jié)目?,F(xiàn)有的視頻分享技術(shù)存在以下缺陷首先,無法自適應(yīng)地選擇合適的碼率、編碼格式,造成了網(wǎng)絡(luò)帶寬的不合理使用,影響了用戶體驗。其次,服務(wù)器端需要為同一份原始數(shù)據(jù)存儲不同格式的內(nèi)容,造成了存儲空間的浪費(fèi)。最后,對于某些互聯(lián)網(wǎng)媒體節(jié)目如新聞等,很多情況下用戶可能只需要了解大致情況,比如只需要知道新聞解說,當(dāng)遇到感興趣的內(nèi)容時才需要進(jìn)一步欣賞完整的視頻內(nèi)容。而現(xiàn)有的視頻分享網(wǎng)站忽略了這些規(guī)律,無論任何內(nèi)容的視頻、也無論用戶的任何需求都向用戶提供視頻媒體數(shù)據(jù),因此無謂地浪費(fèi)了用戶的帶寬,尤其是移動終端的用戶的帶寬。

發(fā)明內(nèi)容
因此,本發(fā)明的目的在于克服上述現(xiàn)有技術(shù)的缺陷,提供一種媒體播放系統(tǒng),能夠根據(jù)用戶需求自由切換音視頻。本發(fā)明的目的是通過以下技術(shù)方案實(shí)現(xiàn)的—方面,本發(fā)明提供了一種媒體播放系統(tǒng),所述系統(tǒng)包括控制模塊,用于根據(jù)用戶請求來設(shè)置轉(zhuǎn)碼參數(shù),同時給用戶返回流媒體發(fā)布地址,所述用戶請求包括要訪問的媒體節(jié)目標(biāo)識、播放模式、用戶終端參數(shù)、編碼參數(shù);所述轉(zhuǎn)碼參數(shù)包括播放模式、媒體容器;轉(zhuǎn)碼模塊,用于根據(jù)轉(zhuǎn)碼參數(shù)將用戶訪問的媒體節(jié)目從原始格式轉(zhuǎn)換為適合用戶的格式,并輸出轉(zhuǎn)碼后數(shù)據(jù);發(fā)布模塊,用于將轉(zhuǎn)碼后數(shù)據(jù)通過流媒體方式發(fā)布到該流媒體發(fā)布地址,以使用戶能欣賞該節(jié)目。上述系統(tǒng)中,所述播放模式可以為純音頻播放模式或音視頻混合播放模式,所述轉(zhuǎn)碼參數(shù)還包括與音頻和視頻編碼格式相關(guān)的參數(shù)上述系統(tǒng)中,控制模塊可以基于用戶請求包含的播放模式來設(shè)置轉(zhuǎn)碼參數(shù)中的播放模式,基于用戶終端參數(shù)來設(shè)置媒體容器。上述系統(tǒng)中,控制模塊可以基于編碼參數(shù)來設(shè)置或不設(shè)置轉(zhuǎn)碼參數(shù)中與音頻和視頻編碼格式相關(guān)的參數(shù)。
上述系統(tǒng)中,如果轉(zhuǎn)碼參數(shù)中的播放模式被設(shè)置為音視頻混合播放模式,則轉(zhuǎn)碼模塊可以執(zhí)行以下步驟對用戶訪問的媒體節(jié)目的源視頻數(shù)據(jù)進(jìn)行解復(fù)用得到單獨(dú)的音頻流和視頻流,基于所得到的音頻流和視頻流,通過解碼得到原始音頻采樣數(shù)據(jù)和原始視頻數(shù)據(jù)并分別對其按照轉(zhuǎn)碼參數(shù)中與音頻和視頻編碼格式相關(guān)的參數(shù)的設(shè)置進(jìn)行重新編碼、按轉(zhuǎn)碼參數(shù)中對媒體容器的設(shè)置對其進(jìn)行封裝以輸出轉(zhuǎn)碼后數(shù)據(jù)。上述系統(tǒng)中,如果轉(zhuǎn)碼參數(shù)中的播放模式為純音頻播放模式,則轉(zhuǎn)碼模塊可以執(zhí)行以下步驟對用戶訪問的媒體節(jié)目的源視頻數(shù)據(jù)進(jìn)行解復(fù)用得到音頻數(shù)據(jù),丟棄其中的視頻數(shù)據(jù),僅基于所得到的音頻流,通過解碼得到原始音頻采樣數(shù)據(jù)并對其按照轉(zhuǎn)碼參數(shù)中的與音頻編碼格式的參數(shù)的設(shè)置進(jìn)行重新編碼、按轉(zhuǎn)碼參數(shù)中對媒體容器的設(shè)置對其進(jìn)行封裝以輸出轉(zhuǎn)碼后數(shù)據(jù)。上述系統(tǒng)中,如果控制模塊沒有設(shè)置轉(zhuǎn)碼參數(shù)中與音頻和視頻編碼格式相關(guān)的參數(shù),則在純音頻播放模式中,所述轉(zhuǎn)碼模塊將對源視頻數(shù)據(jù)通過解復(fù)用后得到的音頻流,直接按媒體容器的設(shè)置對其進(jìn)行封裝并輸出轉(zhuǎn)碼后數(shù)據(jù);在音視頻混合模式中,所述轉(zhuǎn)碼模塊將對源視頻數(shù)據(jù)通過解復(fù)用得到音頻流和視頻流,直接按媒體容器的設(shè)置對其進(jìn)行封裝并輸出轉(zhuǎn)碼后數(shù)據(jù)。上述系統(tǒng)中,轉(zhuǎn)碼模塊與發(fā)布模塊可以同時運(yùn)行。另一方面,本發(fā)明提供了一種媒體播放方法,所述方法包括步驟I)根據(jù)接收到的用戶請求來設(shè)置轉(zhuǎn)碼參數(shù),同時給用戶返回流媒體發(fā)布地址,所述用戶請求包括要訪問的媒體節(jié)目標(biāo)識、播放模式、用戶終端參數(shù)、編碼參數(shù);所述轉(zhuǎn)碼參數(shù)包括播放模式、媒體容器;步驟2)根據(jù)轉(zhuǎn)碼參數(shù)將用戶訪問的媒體節(jié)目從原始格式轉(zhuǎn)換為適合用戶的格式,并輸出轉(zhuǎn)碼后數(shù)據(jù);步驟3)將轉(zhuǎn)碼后數(shù)據(jù)通過流媒體方式發(fā)布到該流媒體發(fā)布地址,以使用戶能欣賞該節(jié)目。上述方法中,所述播放模式為純音頻播放模式或音視頻混合播放模式,所述轉(zhuǎn)碼參數(shù)還包括與音頻和視頻編碼格式相關(guān)的參數(shù)。上述方法中,在步驟I)中基于用戶請求包含的播放模式來設(shè)置轉(zhuǎn)碼參數(shù)中的播放模式,基于用戶終端參數(shù)來設(shè)置媒體容器,基于編碼參數(shù)來設(shè)置轉(zhuǎn)碼參數(shù)中與音頻和視頻編碼格式相關(guān)的參數(shù)。上述方法中,步驟2)包括以下步驟讀入用戶訪問的媒體節(jié)目的源視頻數(shù)據(jù);判斷轉(zhuǎn)碼參數(shù)中的播放模式;如果轉(zhuǎn)碼參數(shù)中的播放模式為音視頻混合播放模式,則對源視頻數(shù)據(jù)進(jìn)行解復(fù)用得到單獨(dú)的音頻流和視頻流,基于所得到的音頻流和視頻流,通過解碼得到原始音頻采樣數(shù)據(jù)和原始視頻數(shù)據(jù)并分別對其按照轉(zhuǎn)碼參數(shù)中與音頻和視頻編碼格式相關(guān)的參數(shù)的設(shè)置進(jìn)行重新編碼、按轉(zhuǎn)碼參數(shù)中對媒體容器的設(shè)置對其進(jìn)行封裝以輸出轉(zhuǎn)碼后數(shù)據(jù);如果轉(zhuǎn)碼參數(shù)中的播放模式為純音頻播放模式,則對源視頻數(shù)據(jù)進(jìn)行解復(fù)用得到音頻數(shù)據(jù),丟棄其中的視頻數(shù)據(jù),僅基于所得到的音頻流,通過解碼得到原始音頻采樣數(shù)據(jù)并對其按照轉(zhuǎn)碼參數(shù)中的與音頻編碼格式的參數(shù)的設(shè)置進(jìn)行重新編碼、按轉(zhuǎn)碼參數(shù)中對媒、體容器的設(shè)置對其進(jìn)行封裝以輸出轉(zhuǎn)碼后數(shù)據(jù)。上述方法中,步驟2)和步驟3)可以同時執(zhí)行。又一個方面,本發(fā)明提供了一種媒體播放方式的切換方法,該方法包括步驟a):基于用戶模式切換請求設(shè)置轉(zhuǎn)碼參數(shù),同時給用戶返回新的流媒體發(fā)布地址,所述用戶模式切換請求包括要訪問的媒體節(jié)目標(biāo)識、播放模式、用戶終端參數(shù)、編碼參數(shù)以及起始播放位置;所述轉(zhuǎn)碼參數(shù)包括播放模式、媒體容器、起始播放位置;步驟b):停止當(dāng)前正在執(zhí)行的任務(wù),并基于轉(zhuǎn)碼參數(shù),從要訪問的媒體節(jié)目的起始播放位置開始讀取源視頻數(shù)據(jù),將其從原始格式轉(zhuǎn)換為適合用戶的格式,并輸出轉(zhuǎn)碼后數(shù)據(jù);步驟c):將轉(zhuǎn)碼后數(shù)據(jù)通過流媒體方式發(fā)布到該新的流媒體發(fā)布地址,以使用戶能欣賞該節(jié)目。與現(xiàn)有技術(shù)相比,本發(fā)明的優(yōu)點(diǎn)在于擴(kuò)展了用戶欣賞互聯(lián)網(wǎng)視頻節(jié)目的方式,用戶可以選擇性地欣賞從原始節(jié)目中提取的音頻內(nèi)容,在自己接受能力范圍內(nèi)節(jié)省了網(wǎng)絡(luò)流量和帶寬。而且,視頻媒體提供網(wǎng)站無需為不同終端的用戶存儲和提供不同格式的內(nèi)容,節(jié)省了存儲空間。


以下參照附圖對本發(fā)明實(shí)施例作進(jìn)一步說明,其中圖I是根據(jù)本發(fā)明實(shí)施例的媒體播放系統(tǒng)的框圖;圖2是根據(jù)本發(fā)明實(shí)施例的媒體播放方法的流程圖;圖3是根據(jù)本發(fā)明實(shí)施例的切換媒體播放模式的流程圖。
具體實(shí)施例方式為了使本發(fā)明的目的,技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖通過具體實(shí)施例對本發(fā)明進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。圖I示出了根據(jù)本發(fā)明一個實(shí)施例的媒體播放系統(tǒng)的框圖,下面根據(jù)圖I詳細(xì)描述本發(fā)明的媒體播放系統(tǒng)。該系統(tǒng)主要包括控制模塊、轉(zhuǎn)碼模塊以及發(fā)布模塊。其中控制模塊用于處理用戶請求并設(shè)置轉(zhuǎn)碼參數(shù),轉(zhuǎn)碼模塊基于轉(zhuǎn)碼參數(shù)將用戶訪問的節(jié)目從原始格式轉(zhuǎn)換為適合用戶的格式;發(fā)布模塊用于將轉(zhuǎn)碼模塊產(chǎn)生的數(shù)據(jù)通過流媒體方式發(fā)布給用戶。
更具體地,參考圖1,控制模塊可以提供用戶接口以及接收用戶請求??刂颇K給用戶提供與本系統(tǒng)交互的用戶接口。例如,通過用戶接口,用戶可以選擇播放模式,例如選擇純音頻播放模式或者音視頻混合播放模式。其中,在純音頻播放模式下,只向用戶提供音頻內(nèi)容;在音視頻混合播放模式下才給用戶提供完整的視頻內(nèi)容。用戶還可以通過用戶接口選擇要點(diǎn)播的媒體節(jié)目以及提供所使用的終端參數(shù)(例如,終端型號、屏幕分辨率、CPU型號等)、編碼參數(shù)(用戶對清晰度的要求、所傾向的碼率規(guī)格等)等用戶或終端設(shè)備相關(guān)的信息。用戶通過終端訪問用戶接口以向服務(wù)器發(fā)送用戶請求,例如用戶的點(diǎn)播或訪問請求。通常點(diǎn)播請求可包含如下信息用戶要訪問的節(jié)目標(biāo)識,播放模式,例如純音頻模式、音視頻混合模式??蛇x地,該點(diǎn)播請求還可包括用戶終端參數(shù),例如終端型號、屏幕分辨率、CPU型號等,以及用戶確定的編碼參數(shù),例如該用戶傾向的碼率規(guī)格等。一個用戶點(diǎn)播請求示例如下http://server/ progID = 100&mode = audio&agent = iphone4. 3&os =iphone4. 3&config = high,其中progID為當(dāng)前媒體節(jié)目標(biāo)識;mode為播放模式,典型參數(shù)audio為純音頻模式,mixed為音視頻混合模式;agent代表終端信號;os代表終端采用的操作系統(tǒng)類型,例如iphone4. 3 ;config為編碼參數(shù),典型值high、low, origin,以表示用戶偏好的清晰度??刂颇K還可以根據(jù)用戶請求,設(shè)置轉(zhuǎn)碼參數(shù)。例如,控制模塊可以根據(jù)用戶請求中的提供的信息,例如,用戶選擇的播放模式、終端參數(shù)以及編碼參數(shù)等來設(shè)置轉(zhuǎn)碼參數(shù)。所述轉(zhuǎn)碼參數(shù)主要包括與播放模式、媒體容器以及與音頻和視頻編碼格式相關(guān)的參數(shù)。例如轉(zhuǎn)碼參數(shù)可包括播放模式、媒體容器(即多媒體文件格式,如AVI、MKV、V0B, MPEG、RM、PS、TS、MOV 等)、視頻編碼格式(例如 mpeg-l/mpeg-2/mpeg-4,H261、H263、H264, realvideo, DivX, XVid等)、視頻碼率、幀率、分辨率,音頻編碼格式(AC3,0GG, DTS, mp3等)、音頻碼率、采樣率、聲道數(shù)等等。例如,如果用戶請求中存在用戶終端參數(shù)和/或用戶提供的編碼參數(shù),則根據(jù)用戶選擇的播放模式、用戶終端參數(shù)和/或編碼參數(shù)設(shè)置轉(zhuǎn)碼參數(shù)。仍以上述點(diǎn)播請求為例,如果mode為audio,則設(shè)置播放模式為純音頻模式,意味著需要丟棄源視頻數(shù)據(jù)中的視頻內(nèi)容;如果mode為mixed,則設(shè)置播放模式為音視頻混合模式,意味著保留源視頻數(shù)據(jù)中的音頻內(nèi)容和視頻內(nèi)容??梢愿鶕?jù)用戶終端參數(shù)來選擇媒體容器以及視頻編碼格式或音頻編碼格式。例如,如果agent為iphone,則表明用戶使用的終端型號為iphone系列,貝Ij可以為該用戶確定媒體容器為TS格式。每種媒體容器可包含多種類型的音頻和視頻編碼格式,可以根據(jù)系統(tǒng)的實(shí)際情況或用戶需求來選擇某種音頻和視頻編碼格式,例如視頻編碼格式為H264或mpeg-4,音頻編碼格式為AC3或mp3。又例如,如果用戶終端支持AVI格式的媒體容器,可以將視頻編碼格式確定為XVid,音頻編碼格式確定為mp3。當(dāng)然,也可以直接選擇設(shè)置默認(rèn)值或缺省值。另外,還可以根據(jù)編碼參數(shù)config來確定與音頻或視頻編碼相關(guān)的其他參數(shù),例如,如果config值為origin,表示用戶選擇原始音視頻內(nèi)容,不需要對該視頻內(nèi)容進(jìn)行編碼,即在用戶終端支持的情況下直接向用戶發(fā)送未轉(zhuǎn)碼數(shù)據(jù),這樣在轉(zhuǎn)碼參數(shù)中只需要設(shè)置播放模式和媒體容器就可以了,而不必設(shè)置與編碼格式相關(guān)的參數(shù)。如果config值為high,可以設(shè)置視頻碼率300kps,幀率15fps,分辨率352x288,音頻碼率30kps,采樣率22050,雙聲道。如果config值為low,可以設(shè)置視頻碼率70kps,幀率15fps,分辨率176x144,音頻碼率15kps,采樣率22050,單聲道。具體的轉(zhuǎn)碼參數(shù)根據(jù)當(dāng)前設(shè)備性能和網(wǎng)絡(luò)條件可以有不同設(shè)置。控制模塊設(shè)置轉(zhuǎn)碼參數(shù)之后,可以向轉(zhuǎn)碼模塊發(fā)送轉(zhuǎn)碼指令,所述轉(zhuǎn)碼參數(shù)可以被包括在轉(zhuǎn)碼指令中而被發(fā)送到轉(zhuǎn)碼模塊。控制模塊還可以向用戶返回流媒體發(fā)布地址,以便使用戶能夠通過訪問自服務(wù)器返回的流媒體發(fā)布地址來接收流媒體數(shù)據(jù)并欣賞節(jié)目。所述流媒體發(fā)布地址的形式,例如http://server/filename,或者rtsp://server/fiIenname,或者其他形式。轉(zhuǎn)碼模塊用于根據(jù)轉(zhuǎn)碼參數(shù),將用戶點(diǎn)播的節(jié)目從原始格式轉(zhuǎn)換為適合用戶的格式(也就是對用戶點(diǎn)播的節(jié)目進(jìn)行轉(zhuǎn)碼)。從原始格式轉(zhuǎn)換為適合用戶的格式的過程(也可簡稱轉(zhuǎn)碼的過程)可以包括讀入用戶要訪問的源視頻數(shù)據(jù),以及基于轉(zhuǎn)碼參數(shù),對源視頻數(shù)據(jù)進(jìn)行轉(zhuǎn)碼以輸出轉(zhuǎn)碼后數(shù)據(jù)。 在本發(fā)明的一個實(shí)施例中,例如,可以基于轉(zhuǎn)碼參數(shù)中的播放模式來判斷用戶選擇的當(dāng)前播放模式如果為音視頻混合播放模式(mixed),則對源視頻數(shù)據(jù)進(jìn)行解復(fù)用得到單獨(dú)的音頻流和視頻流(這里實(shí)際上得到是經(jīng)過壓縮編碼的音頻流和視頻流),基于所得到的音頻流和視頻流,通過解碼得到原始音頻采樣數(shù)據(jù)和諸如yuv格式的原始視頻數(shù)據(jù)并分別對其按照轉(zhuǎn)碼參數(shù)中的設(shè)置(例如對視頻和音頻編碼相關(guān)的參數(shù)的設(shè)置)進(jìn)行重新編碼、按轉(zhuǎn)碼參數(shù)中設(shè)置的媒體容器對其進(jìn)行封裝以得到轉(zhuǎn)碼后數(shù)據(jù)。如果播放模式為純音頻播放模式(audio),則從源視頻數(shù)據(jù)中解復(fù)用得到音頻數(shù)據(jù),丟棄其中的視頻數(shù)據(jù),僅基于所得到的音頻流,通過解碼得到原始音頻采樣數(shù)據(jù)并對其按照轉(zhuǎn)碼參數(shù)中的設(shè)置進(jìn)行重新編碼、封裝得到轉(zhuǎn)碼后數(shù)據(jù)。特別地,如果用戶選擇原始音視頻內(nèi)容(即config值為origin,也就是轉(zhuǎn)碼參數(shù)中僅設(shè)置了播放模式和媒體容器),則將源視頻數(shù)據(jù)通過解復(fù)用后直接以所選擇的媒體容器將原始碼流重新封裝并發(fā)送給用戶,而不用進(jìn)行重新編碼。也就是說在純音頻模式下,將源視頻數(shù)據(jù)通過解復(fù)用后直接得到的音頻流重新封裝并發(fā)送給用戶;在音視頻混合模式下,通過解復(fù)用得到音頻流和視頻流重新封裝并發(fā)送給用戶。發(fā)布模塊將經(jīng)轉(zhuǎn)碼產(chǎn)生的數(shù)據(jù)(即圖I所示的轉(zhuǎn)碼后數(shù)據(jù))通過流媒體方式發(fā)布給用戶,使得用戶可以實(shí)時欣賞當(dāng)前點(diǎn)播的節(jié)目內(nèi)容。例如,可以用rtsp協(xié)議發(fā)布給采用安卓(android)或者塞班(symbian)系統(tǒng)的手機(jī)用戶,或者h(yuǎn)ttp現(xiàn)場直播(http livestreaming)協(xié)議發(fā)布給iphone手機(jī)用戶。這樣,用戶可以通過訪問由媒體服務(wù)器返回的流媒體發(fā)布地址來接收流媒體數(shù)據(jù),以欣賞節(jié)目。應(yīng)指出,其中轉(zhuǎn)碼模塊和發(fā)布模塊可以是并行工作的,也就是進(jìn)行實(shí)時轉(zhuǎn)碼,即轉(zhuǎn)碼和發(fā)布同時進(jìn)行,以使得用戶無需等待轉(zhuǎn)碼完成即可欣賞指定的媒體內(nèi)容??梢姡谏鲜龅南到y(tǒng)中,通過獲取用戶及其終端信息,靈活設(shè)置轉(zhuǎn)碼參數(shù),服務(wù)器端只需要存儲一份原始數(shù)據(jù),就能提供給用戶合適的轉(zhuǎn)碼后的媒體數(shù)據(jù),解決了服務(wù)器數(shù)據(jù)重復(fù)備份問題。而且,純音頻模式下只轉(zhuǎn)碼音頻內(nèi)容,大大節(jié)省網(wǎng)絡(luò)帶寬。圖2示出了根據(jù)本發(fā)明一個實(shí)施例的采用上述系統(tǒng)進(jìn)行媒體播放的方法的流程圖,下面結(jié)合圖2詳細(xì)描述上述系統(tǒng)響應(yīng)于用戶請求,為用戶播放媒體的過程。步驟一經(jīng)由用戶接口接收用戶終端向服務(wù)器發(fā)送的點(diǎn)播請求。步驟二 由控制模塊基于點(diǎn)播請求,設(shè)置轉(zhuǎn)碼參數(shù);步驟三由控制模塊向轉(zhuǎn)碼服務(wù)器發(fā)送轉(zhuǎn)碼指令,同時給用戶返回流媒體發(fā)布地址。轉(zhuǎn)碼參數(shù)可以包含在轉(zhuǎn)碼指令中。步驟四由轉(zhuǎn)碼模塊根據(jù)轉(zhuǎn)碼參數(shù),對源視頻數(shù)據(jù)進(jìn)行轉(zhuǎn)碼。轉(zhuǎn)碼的步驟例如可以包括由解碼器讀入源視頻數(shù)據(jù);然后,基于轉(zhuǎn)碼參數(shù),判斷用戶選擇的當(dāng)前播放模式;如果為音視頻混合播放模式(mixed),則通過解復(fù)用得到單獨(dú)的音頻流和視頻流(這里實(shí)際上得到是經(jīng)過壓縮的音頻流和視頻流),基于所得到的音頻流和視頻流,通過解碼得到原始音頻采樣數(shù)據(jù)和諸如yuv格式的視頻數(shù)據(jù)并分別對其按照轉(zhuǎn)碼參數(shù)中的設(shè)置進(jìn)行重新編碼、封裝得到轉(zhuǎn)碼后數(shù)據(jù)。
如果播放模式為純音頻播放模式(audio),則從源視頻數(shù)據(jù)中解復(fù)用得到音頻數(shù)據(jù),丟棄其中的視頻數(shù)據(jù),僅基于所得到的音頻流,通過解碼得到原始音頻采樣數(shù)據(jù)并對其按照轉(zhuǎn)碼參數(shù)中的設(shè)置進(jìn)行重新編碼、封裝得到轉(zhuǎn)碼后數(shù)據(jù)。特別地,如果用戶選擇原始音視頻內(nèi)容(即config值為origin),則將源視頻數(shù)據(jù)通過解復(fù)用后得到的原始碼流直接重新封裝并發(fā)送給用戶,而不用進(jìn)行重新編碼。步驟五在轉(zhuǎn)碼過程中,將已轉(zhuǎn)碼完成的數(shù)據(jù)通過封裝并進(jìn)行流媒體發(fā)布。通過上述步驟,用戶可以通過訪問服務(wù)器返回的流媒體發(fā)布地址來接收流媒體數(shù)據(jù),以欣賞節(jié)目。優(yōu)選地,上述步驟四和步驟五同時進(jìn)行,以使得用戶無需等待轉(zhuǎn)碼完成即可欣賞指定的媒體內(nèi)容。圖3示出了根據(jù)本發(fā)明一個實(shí)施例的切換媒體播放模式的流程圖,下面結(jié)合圖3詳細(xì)描述響應(yīng)于用戶播放模式切換的請求,為用戶切換媒體的播放模式的過程。步驟I):經(jīng)由用戶接口接收用戶終端向服務(wù)器發(fā)送的用戶模式切換請求。例如,一個用戶模式切換請求示例如下http://server/ progID = 100&mode = audio&agent = iphone4. 3&os =iphone4. 3&config = high&start = 15。上述參數(shù)中start表示用戶希望的播放位置起始位置,默認(rèn)為0 ;其余參數(shù)同上步驟2):由控制模塊基于用戶模式切換請求,設(shè)置轉(zhuǎn)碼參數(shù);向轉(zhuǎn)碼模塊發(fā)送轉(zhuǎn)碼指令并返回給用戶新的流媒體發(fā)布地址。這個步驟與在圖2中所述的步驟二步驟三基本相同。步驟3):由轉(zhuǎn)碼模塊接收來自控制模塊的轉(zhuǎn)碼指令后,終止當(dāng)前轉(zhuǎn)碼過程,同時基于新收到的轉(zhuǎn)碼參數(shù),開始新的轉(zhuǎn)碼過程。例如,如果start參數(shù)被設(shè)置,在進(jìn)行轉(zhuǎn)碼時解碼器定位到start所設(shè)置的位置開始解碼。轉(zhuǎn)碼模塊的其他步驟基本上與圖2所述的步驟四相同。步驟4):在轉(zhuǎn)碼過程中,將已轉(zhuǎn)碼完成的數(shù)據(jù)通過封裝并進(jìn)行流媒體發(fā)布。通過上述步驟,用戶可以通過訪問由服務(wù)器返回的新的流媒體發(fā)布地址來接收流媒體數(shù)據(jù),以終止當(dāng)前播放內(nèi)容并欣賞模式切換后節(jié)目內(nèi)容。與現(xiàn)有技術(shù)相比,本發(fā)明擴(kuò)展了用戶欣賞互聯(lián)網(wǎng)視頻節(jié)目的方式,音視頻一鍵切換使用戶可以自由的選擇音頻模式或音視頻混合模式。這樣用戶可以選擇性地欣賞從原始節(jié)目中提取的音頻內(nèi)容并且可以使用任何支持流媒體的終端欣賞互聯(lián)網(wǎng)節(jié)目,從而在自己接受能力范圍內(nèi)節(jié)省網(wǎng)絡(luò)流量和帶寬。而且,視頻媒體提供網(wǎng)站無需為不同終端的用戶存儲和提供不同格式的內(nèi)容,可以節(jié)省存儲空間。用戶也可以選擇特定碼率的內(nèi)容而不限定于媒體服務(wù)器提供的規(guī)格。應(yīng)該注意到并理解,本發(fā)明并非局限于這里所描述的實(shí)施例,在不脫離本發(fā)明范圍的情況下還包括所作出的各種改變以及變化。
權(quán)利要求
1.一種媒體播放系統(tǒng),所述系統(tǒng)包括 控制模塊,用于根據(jù)用戶請求來設(shè)置轉(zhuǎn)碼參數(shù),同時給用戶返回流媒體發(fā)布地址,所述用戶請求包括要訪問的媒體節(jié)目標(biāo)識、播放模式、用戶終端參數(shù)、編碼參數(shù);所述轉(zhuǎn)碼參數(shù)包括播放模式、媒體容器; 轉(zhuǎn)碼模塊,用于根據(jù)轉(zhuǎn)碼參數(shù)將用戶訪問的媒體節(jié)目從原始格式轉(zhuǎn)換為適合用戶的格式,并輸出轉(zhuǎn)碼后數(shù)據(jù); 發(fā)布模塊,用于將轉(zhuǎn)碼后數(shù)據(jù)通過流媒體方式發(fā)布到該流媒體發(fā)布地址,以使用戶能欣賞該節(jié)目。
2.根據(jù)權(quán)利要求I所述的系統(tǒng),所述播放模式為純音頻播放模式或音視頻混合播放模式,所述轉(zhuǎn)碼參數(shù)還包括與音頻和視頻編碼格式相關(guān)的參數(shù)。
3.根據(jù)權(quán)利要求2所述的系統(tǒng),其中,控制模塊基于用戶請求包含的播放模式來設(shè)置轉(zhuǎn)碼參數(shù)中的播放模式,基于用戶終端參數(shù)來設(shè)置媒體容器。
4.根據(jù)權(quán)利要求3所述的系統(tǒng),其中,控制模塊基于編碼參數(shù)來設(shè)置或不設(shè)置轉(zhuǎn)碼參數(shù)中與音頻和視頻編碼格式相關(guān)的參數(shù)。
5.根據(jù)權(quán)利要求4所述的系統(tǒng),其中如果轉(zhuǎn)碼參數(shù)中的播放模式被設(shè)置為音視頻混合播放模式,則轉(zhuǎn)碼模塊執(zhí)行以下步驟對用戶訪問的媒體節(jié)目的源視頻數(shù)據(jù)進(jìn)行解復(fù)用得到單獨(dú)的音頻流和視頻流,基于所得到的音頻流和視頻流,通過解碼得到原始音頻采樣數(shù)據(jù)和原始視頻數(shù)據(jù)并分別對其按照轉(zhuǎn)碼參數(shù)中與音頻和視頻編碼格式相關(guān)的參數(shù)的設(shè)置進(jìn)行重新編碼、按轉(zhuǎn)碼參數(shù)中對媒體容器的設(shè)置對其進(jìn)行封裝以輸出轉(zhuǎn)碼后數(shù)據(jù)。
6.根據(jù)權(quán)利要求4所述的系統(tǒng),其中如果轉(zhuǎn)碼參數(shù)中的播放模式為純音頻播放模式,則轉(zhuǎn)碼模塊執(zhí)行以下步驟對用戶訪問的媒體節(jié)目的源視頻數(shù)據(jù)進(jìn)行解復(fù)用得到音頻數(shù)據(jù),丟棄其中的視頻數(shù)據(jù),僅基于所得到的音頻流,通過解碼得到原始音頻采樣數(shù)據(jù)并對其按照轉(zhuǎn)碼參數(shù)中的與音頻編碼格式的參數(shù)的設(shè)置進(jìn)行重新編碼、按轉(zhuǎn)碼參數(shù)中對媒體容器的設(shè)置對其進(jìn)行封裝以輸出轉(zhuǎn)碼后數(shù)據(jù)。
7.根據(jù)權(quán)利要求4所述的系統(tǒng),其中,如果控制模塊沒有設(shè)置轉(zhuǎn)碼參數(shù)中與音頻和視頻編碼格式相關(guān)的參數(shù),則在純音頻播放模式中,所述轉(zhuǎn)碼模塊將對源視頻數(shù)據(jù)通過解復(fù)用后得到的音頻流,直接按媒體容器的設(shè)置對其進(jìn)行封裝并輸出轉(zhuǎn)碼后數(shù)據(jù);在音視頻混合模式中,所述轉(zhuǎn)碼模塊將對源視頻數(shù)據(jù)通過解復(fù)用得到音頻流和視頻流,直接按媒體容器的設(shè)置對其進(jìn)行封裝并輸出轉(zhuǎn)碼后數(shù)據(jù)。
8.根據(jù)上述任一權(quán)利要求所述的系統(tǒng),其中,轉(zhuǎn)碼模塊與發(fā)布模塊同時運(yùn)行。
9.一種媒體播放方法,該方法包括 步驟I)根據(jù)接收到的用戶請求來設(shè)置轉(zhuǎn)碼參數(shù),同時給用戶返回流媒體發(fā)布地址,所述用戶請求包括要訪問的媒體節(jié)目標(biāo)識、播放模式、用戶終端參數(shù)、編碼參數(shù);所述轉(zhuǎn)碼參數(shù)包括播放模式、媒體容器; 步驟2)根據(jù)轉(zhuǎn)碼參數(shù)將用戶訪問的媒體節(jié)目從原始格式轉(zhuǎn)換為適合用戶的格式,并輸出轉(zhuǎn)碼后數(shù)據(jù); 步驟3)將轉(zhuǎn)碼后數(shù)據(jù)通過流媒體方式發(fā)布到該流媒體發(fā)布地址,以使用戶能欣賞該節(jié)目。
10.根據(jù)權(quán)利要求9所述的方法,所述播放模式為純音頻播放模式或音視頻混合播放模式,所述轉(zhuǎn)碼參數(shù)還包括與音頻和視頻編碼格式相關(guān)的參數(shù)。
11.根據(jù)權(quán)利要求10所述的方法,其中,在步驟I)中基于用戶請求包含的播放模式來設(shè)置轉(zhuǎn)碼參數(shù)中的播放模式,基于用戶終端參數(shù)來設(shè)置媒體容器,基于編碼參數(shù)來設(shè)置轉(zhuǎn)碼參數(shù)中與音頻和視頻編碼格式相關(guān)的參數(shù)。
12.根據(jù)權(quán)利要求10所述的方法,其中,步驟2)包括以下步驟 讀入用戶訪問的媒體節(jié)目的源視頻數(shù)據(jù); 判斷轉(zhuǎn)碼參數(shù)中的播放模式; 如果轉(zhuǎn)碼參數(shù)中的播放模式為音視頻混合播放模式,則對源視頻數(shù)據(jù)進(jìn)行解復(fù)用得到單獨(dú)的音頻流和視頻流,基于所得到的音頻流和視頻流,通過解碼得到原始音頻采樣數(shù)據(jù)和原始視頻數(shù)據(jù)并分別對其按照轉(zhuǎn)碼參數(shù)中與音頻和視頻編碼格式相關(guān)的參數(shù)的設(shè)置進(jìn)行重新編碼、按轉(zhuǎn)碼參數(shù)中對媒體容器的設(shè)置對其進(jìn)行封裝以輸出轉(zhuǎn)碼后數(shù)據(jù); 如果轉(zhuǎn)碼參數(shù)中的播放模式為純音頻播放模式,則對源視頻數(shù)據(jù)進(jìn)行解復(fù)用得到音頻數(shù)據(jù),丟棄其中的視頻數(shù)據(jù),僅基于所得到的音頻流,通過解碼得到原始音頻采樣數(shù)據(jù)并對其按照轉(zhuǎn)碼參數(shù)中的與音頻編碼格式的參數(shù)的設(shè)置進(jìn)行重新編碼、按轉(zhuǎn)碼參數(shù)中對媒體容器的設(shè)置對其進(jìn)行封裝以輸出轉(zhuǎn)碼后數(shù)據(jù)。
13.根據(jù)權(quán)利要求9-12之一所述的方法,其中,步驟2)和步驟3)同時執(zhí)行。
14.一種媒體播放方式的切換方法,該方法包括 步驟a):基于用戶模式切換請求設(shè)置轉(zhuǎn)碼參數(shù),同時給用戶返回新的流媒體發(fā)布地址,所述用戶模式切換請求包括要訪問的媒體節(jié)目標(biāo)識、播放模式、用戶終端參數(shù)、編碼參數(shù)以及起始播放位置;所述轉(zhuǎn)碼參數(shù)包括播放模式、媒體容器、起始播放位置; 步驟b):停止當(dāng)前正在執(zhí)行的任務(wù),并基于轉(zhuǎn)碼參數(shù),從要訪問的媒體節(jié)目的起始播放位置開始讀取源視頻數(shù)據(jù),將其從原始格式轉(zhuǎn)換為適合用戶的格式,并輸出轉(zhuǎn)碼后數(shù)據(jù); 步驟c):將轉(zhuǎn)碼后數(shù)據(jù)通過流媒體方式發(fā)布到該新的流媒體發(fā)布地址,以使用戶能欣賞該節(jié)目。
全文摘要
本發(fā)明提供一種媒體播放系統(tǒng),該系統(tǒng)允許用戶在純音頻或混合視頻播放模式之間切換,并且可以根據(jù)用戶點(diǎn)播請求靈活地設(shè)置轉(zhuǎn)碼參數(shù),基于所得到的轉(zhuǎn)碼參數(shù)將用戶點(diǎn)播的節(jié)目從原始格式轉(zhuǎn)碼為用戶所需格式。從而使得用戶可選擇性地欣賞從原始節(jié)目中提取的音頻內(nèi)容以節(jié)省網(wǎng)絡(luò)流量和帶寬,以及可選擇特定碼率的內(nèi)容而不限定于媒體服務(wù)器提供的規(guī)格。而且,視頻媒體提供網(wǎng)站無需為不同終端的用戶存儲和提供不同格式的內(nèi)容,節(jié)省存儲空間。
文檔編號H04N21/238GK102625150SQ20121007108
公開日2012年8月1日 申請日期2012年3月16日 優(yōu)先權(quán)日2012年3月16日
發(fā)明者代鋒, 劉欣, 張勇東 申請人:中國科學(xué)院計算技術(shù)研究所
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1