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

音視頻的播放方法及裝置與流程

文檔序號(hào):12729744閱讀:270來(lái)源:國(guó)知局
音視頻的播放方法及裝置與流程

本發(fā)明涉及音視頻處理技術(shù)領(lǐng)域,尤其涉及一種音視頻的播放方法及裝置。



背景技術(shù):

目前,常見(jiàn)的視頻播放器只在啟動(dòng)播放時(shí)判斷多媒體流的解碼器類型并初始化播放,在播放過(guò)程中無(wú)法對(duì)數(shù)據(jù)進(jìn)行判斷其編碼格式是否已經(jīng)變更并及時(shí)變更解碼器來(lái)繼續(xù)播放。在播放過(guò)程中一旦發(fā)生編碼格式變更,例如同一個(gè)影片從H.264格式切換到H.265格式,或者音頻從普通音頻切換到杜比音頻,都需要關(guān)閉播放器并且重新啟動(dòng)新的播放流程,導(dǎo)致播放中斷,用戶體驗(yàn)較差。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明的主要目的在于提供一種音視頻的播放方法,旨在解決現(xiàn)有技術(shù)中需要關(guān)閉播放器并且重新啟動(dòng)新的播放流程,導(dǎo)致播放中斷的技術(shù)問(wèn)題。

為實(shí)現(xiàn)上述目的,本發(fā)明提供一種音視頻的播放方法,包括以下步驟:

在每個(gè)多媒體數(shù)據(jù)包的編解碼信息中加入格式信息描述索引;

在播放過(guò)程中檢測(cè)當(dāng)前接收到的多媒體數(shù)據(jù)包的編解碼格式;

當(dāng)前接收到的多媒體數(shù)據(jù)包在當(dāng)前接收到的多媒體數(shù)據(jù)包的編解碼格式與正在播放的多媒體數(shù)據(jù)包的編解碼格式不同時(shí),等待前一種編解碼格式的多媒體數(shù)據(jù)播放完畢,并啟用新編碼格式的解碼器,對(duì)當(dāng)前接收到的多媒體數(shù)據(jù)包進(jìn)行解碼并輸出;

對(duì)解碼后的多媒體數(shù)據(jù)進(jìn)行渲染并輸出以進(jìn)行播放。

優(yōu)選地,所述在當(dāng)前接收到的多媒體數(shù)據(jù)包的編解碼格式與正在播放的多媒體數(shù)據(jù)包的編解碼格式不同時(shí),等待前一種編解碼格式的多媒體數(shù)據(jù)播放完畢,并啟用新編碼格式的解碼器,對(duì)當(dāng)前接收到的多媒體數(shù)據(jù)包進(jìn)行解碼并輸出的步驟包括:

獲取多媒體數(shù)據(jù)包后,檢測(cè)該多媒體數(shù)據(jù)包的編解碼信息與前次多媒體數(shù)據(jù)包的編解碼信息是否一致,如果不一致,則等待前一種編解碼格式的多媒體數(shù)據(jù)播放完畢后,根據(jù)編解碼信息中的格式信息描述索引切換到適配的解碼器,采用所述解碼器對(duì)當(dāng)前接收到的多媒體數(shù)據(jù)包進(jìn)行解碼并輸出。

優(yōu)選地,所述對(duì)解碼后的數(shù)據(jù)進(jìn)行渲染并輸出至播放裝置以進(jìn)行播放的步驟包括:

在檢測(cè)到當(dāng)前視頻幀的數(shù)據(jù)格式、畫(huà)面尺寸與前一個(gè)視頻幀不一致時(shí),初始化渲染器的貼圖數(shù)據(jù)格式,以匹配當(dāng)前幀的編解碼格式與尺寸。

優(yōu)選地,所述對(duì)解碼后的數(shù)據(jù)進(jìn)行渲染并輸出至播放裝置以進(jìn)行播放的步驟包括:

在檢測(cè)到當(dāng)前音頻數(shù)據(jù)幀的編解碼格式與前一幀不一致時(shí),創(chuàng)建與當(dāng)前音頻數(shù)據(jù)幀匹配的音頻輸出裝置。

優(yōu)選地,所述多媒體數(shù)據(jù)包包括H.264格式、H.265格式的音視頻數(shù)據(jù)包和杜比音頻數(shù)據(jù)包。

本發(fā)明還提供一種音視頻的播放裝置,其包括:

音視頻數(shù)據(jù)描述模塊,用于在每個(gè)多媒體數(shù)據(jù)包的編解碼信息中加入格式信息描述索引;

檢測(cè)模塊,用于在播放過(guò)程中檢測(cè)當(dāng)前接收到的多媒體數(shù)據(jù)包的編解碼格式;

音/視頻解碼模塊,用于在當(dāng)前接收到的多媒體數(shù)據(jù)包的編解碼格式與正在播放的多媒體數(shù)據(jù)包的編解碼格式不同時(shí),等待前一種編解碼格式的多媒體數(shù)據(jù)播放完畢,并啟用新編碼格式的解碼器,對(duì)當(dāng)前接收到的多媒體數(shù)據(jù)包進(jìn)行解碼并輸出;

音/視頻渲染模塊,用于對(duì)解碼后的多媒體數(shù)據(jù)進(jìn)行渲染并輸出以進(jìn)行播放。

優(yōu)選地,所述音/視頻解碼模塊用于:

獲取多媒體數(shù)據(jù)包后,檢測(cè)該多媒體數(shù)據(jù)包的編解碼信息與前次多媒體數(shù)據(jù)包的編解碼信息是否一致,如果不一致,則等待前一種編解碼格式的多媒體數(shù)據(jù)播放完畢后,根據(jù)編解碼信息中的格式信息描述索引切換到適配的解碼器,采用所述解碼器對(duì)當(dāng)前接收到的多媒體數(shù)據(jù)包進(jìn)行解碼并輸出。

優(yōu)選地,所述音/視頻渲染模塊用于:

在檢測(cè)到當(dāng)前視頻幀的數(shù)據(jù)格式、畫(huà)面尺寸與前一個(gè)視頻幀不一致時(shí),初始化渲染器的貼圖數(shù)據(jù)格式,以匹配當(dāng)前幀。

優(yōu)選地,所述音/視頻渲染模塊用于:在檢測(cè)到音頻數(shù)據(jù)幀的編解碼格式與前一幀不一致時(shí),則創(chuàng)建與當(dāng)前音頻數(shù)據(jù)幀匹配的音頻輸出裝置。

優(yōu)選地,所述多媒體數(shù)據(jù)包包括H.264格式、H.265格式的音視頻數(shù)據(jù)包和杜比音頻數(shù)據(jù)包。

本發(fā)明提出的音視頻的播放方法,能夠在播放過(guò)程中檢測(cè)多媒體流編碼格式的變化,變更為對(duì)應(yīng)格式解碼器,同時(shí)變更對(duì)應(yīng)格式的音視頻渲染器,使得在不退出播放的情況下實(shí)現(xiàn)無(wú)縫續(xù)播。

附圖說(shuō)明

為了清楚地理解本發(fā)明的技術(shù)方案,下面將描述本發(fā)明具體實(shí)施方式時(shí)用到的附圖做一簡(jiǎn)要說(shuō)明。顯而易見(jiàn)地,這些附圖僅是本發(fā)明的部分實(shí)施例,本領(lǐng)域技術(shù)人員在未付出創(chuàng)造性勞動(dòng)的前提下,還可以獲得其它附圖。

圖1為本發(fā)明音視頻的播放方法的步驟流程示意圖;

圖2為本發(fā)明一實(shí)施例音視頻的播放裝置的結(jié)構(gòu)示意圖。

具體實(shí)施方式

本發(fā)明目的實(shí)現(xiàn)、功能特點(diǎn)及優(yōu)點(diǎn)將結(jié)合實(shí)施例,參照附圖做進(jìn)一步說(shuō)明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。

本發(fā)明提供一種音視頻的播放方法,參照?qǐng)D1,在一實(shí)施例中,該音視頻的播放方法包括以下步驟:

步驟S10,在每個(gè)多媒體數(shù)據(jù)包的編解碼信息中加入格式信息的描述索引;

為了能夠檢測(cè)到當(dāng)前多媒體流數(shù)據(jù)的編解碼格式,在將符合多媒體流分離(例如,將音頻數(shù)據(jù)包與視頻數(shù)據(jù)包分離)時(shí),在每個(gè)編碼數(shù)據(jù)包上都加入格式信息的格式信息的描述索引,指向當(dāng)前數(shù)據(jù)對(duì)應(yīng)的編解碼相關(guān)信息,這樣保證了能夠從收到的數(shù)據(jù)包上讀取到數(shù)據(jù)對(duì)應(yīng)的解碼信息。

步驟S20,在播放過(guò)程中實(shí)時(shí)檢測(cè)當(dāng)前接收到的多媒體數(shù)據(jù)包的編解碼格式;在播放過(guò)程中,需要能夠及時(shí)檢測(cè)當(dāng)前接收到的多媒體數(shù)據(jù)流的編解碼格式,而不是只在播放開(kāi)始的時(shí)候進(jìn)行一次檢查。

步驟S30,在當(dāng)前接收到的多媒體數(shù)據(jù)包的編解碼格式與正在播放的多媒體數(shù)據(jù)包的編解碼格式不同時(shí),等待前一種編解碼格式的多媒體數(shù)據(jù)播放完畢,并啟用新編碼格式的解碼器,對(duì)當(dāng)前接收到的多媒體數(shù)據(jù)包進(jìn)行解碼并輸出;檢測(cè)到新格式多媒體數(shù)據(jù)包時(shí),等待前一種編解碼格式的數(shù)據(jù)播放完畢,同時(shí)準(zhǔn)備新編碼格式的解碼器,對(duì)新格式的數(shù)據(jù)進(jìn)行解碼。

本發(fā)明實(shí)施例中,解碼器輸出的數(shù)據(jù),也附加格式信息,使得解碼過(guò)程與渲染部分可以相對(duì)獨(dú)立處理數(shù)據(jù)。

步驟S40,對(duì)解碼后的多媒體數(shù)據(jù)進(jìn)行渲染并輸出以進(jìn)行播放。

解碼完成的數(shù)據(jù)格式,也可能與前一次的解碼后數(shù)據(jù)格式不一致,要達(dá)到用戶無(wú)感知的連續(xù)播放效果,還需要解決無(wú)縫輸出不同格式到顯示設(shè)備及音頻設(shè)備的問(wèn)題。本發(fā)明中,在檢測(cè)到多媒體流編碼格式的變化時(shí),對(duì)編碼后的多媒體流進(jìn)行畫(huà)面尺寸等方面的渲染,以匹配當(dāng)前多媒體流和前一種編解碼格式的多媒體數(shù)據(jù),實(shí)現(xiàn)無(wú)縫續(xù)播。

本發(fā)明提出的音視頻的播放方法,能夠在播放過(guò)程中檢測(cè)多媒體流編碼格式的變化,變更為對(duì)應(yīng)格式解碼器,同時(shí)變更對(duì)應(yīng)格式的音視頻渲染器,使得在不退出播放的情況下實(shí)現(xiàn)無(wú)縫續(xù)播。

本發(fā)明一較佳實(shí)施例中,前述步驟30可包括:

獲取多媒體數(shù)據(jù)包后,檢測(cè)該多媒體數(shù)據(jù)包的編解碼信息與前次多媒體數(shù)據(jù)包的編解碼信息是否一致,如果不一致,則根據(jù)編解碼信息中的格式信息描述索引,切換到適配的解碼器,并進(jìn)行解碼輸出。

在一實(shí)施例中,前述步驟S40包括:

在檢測(cè)到當(dāng)前視頻幀的數(shù)據(jù)格式、畫(huà)面尺寸與前一個(gè)視頻幀不一致時(shí),初始化渲染器的貼圖數(shù)據(jù)格式,匹配當(dāng)前幀的編解碼格式。對(duì)于視頻渲染器模塊,在讀取到解碼后的數(shù)據(jù)幀后,檢查前一個(gè)視頻幀的數(shù)據(jù)格式、畫(huà)面尺寸與當(dāng)前幀是否一致,如果有差異,則需要重新初始化渲染器的貼圖數(shù)據(jù)格式,匹配當(dāng)前幀的編解碼格式與尺寸,保證正確的與前一幀銜接。

在一實(shí)施例中,前述步驟S40還包括:

在檢測(cè)到當(dāng)前音頻數(shù)據(jù)幀的編解碼格式與之前不一致時(shí),則與當(dāng)前音頻數(shù)據(jù)幀匹配的音頻輸出裝置。音頻渲染器部分,在檢測(cè)到音頻數(shù)據(jù)幀的編解碼格式與之前不一致時(shí),則需要重新創(chuàng)建輸出裝置,使之采樣率、聲道數(shù)能夠與新的音頻數(shù)據(jù)幀匹配,保證正確的銜接前一段音頻播放。

經(jīng)過(guò)上述流程處理,對(duì)于播放過(guò)程中數(shù)據(jù)流格式變化,就能夠順利實(shí)現(xiàn)無(wú)縫續(xù)播,而不需要重新開(kāi)始播放。

應(yīng)當(dāng)說(shuō)明的是,本發(fā)明實(shí)施例中,多媒體數(shù)據(jù)包可以為H.264格式和H.265格式的音視頻數(shù)據(jù)包;以及普通音頻數(shù)據(jù)包和杜比音頻數(shù)據(jù)包,也可以為其他格式的音視頻數(shù)據(jù)包。

本發(fā)明還提供一種音視頻的播放裝置,參見(jiàn)圖2所示,在一實(shí)施例中,該裝置包括:

音視頻數(shù)據(jù)描述模塊10,用于在每個(gè)編碼數(shù)據(jù)包的編解碼信息中加入格式信息的格式信息的描述索引;

為了能夠檢測(cè)到當(dāng)前多媒體流數(shù)據(jù)的編解碼格式,音視頻數(shù)據(jù)描述模塊10在將符合多媒體流分離(例如,將音頻數(shù)據(jù)包與視頻數(shù)據(jù)包分離)時(shí),在每個(gè)編碼數(shù)據(jù)包上都加入格式信息的格式信息的描述索引,指向當(dāng)前數(shù)據(jù)對(duì)應(yīng)的編解碼相關(guān)信息,這樣保證了能夠從收到的數(shù)據(jù)包上讀取到數(shù)據(jù)對(duì)應(yīng)的解碼信息。

檢測(cè)模塊20,用于在播放過(guò)程中實(shí)時(shí)檢測(cè)當(dāng)前接收到的多媒體數(shù)據(jù)包的編解碼格式;

在播放過(guò)程中,檢測(cè)模塊20實(shí)時(shí)檢測(cè)當(dāng)前接收到的多媒體數(shù)據(jù)流的編解碼格式,而不是只在播放開(kāi)始的時(shí)候進(jìn)行一次檢查。

音/視頻解碼模塊30,用于的編解碼格式在當(dāng)前接收到的多媒體數(shù)據(jù)包的編解碼格式與正在播放的多媒體數(shù)據(jù)包的編解碼格式不同時(shí),等待前一種編解碼格式的多媒體數(shù)據(jù)播放完畢,并啟用新編碼格式的解碼器,對(duì)當(dāng)前接收到的多媒體數(shù)據(jù)包進(jìn)行解碼并輸出;

音/視頻解碼模塊30檢測(cè)到新格式多媒體數(shù)據(jù)包時(shí),等待前一種編解碼格式的數(shù)據(jù)播放完畢,同時(shí)準(zhǔn)備新編碼格式的解碼器,對(duì)新格式的數(shù)據(jù)進(jìn)行解碼。本發(fā)明實(shí)施例中,音/視頻解碼模塊30輸出的數(shù)據(jù)也附加格式信息,使得解碼過(guò)程與渲染部分可以相對(duì)獨(dú)立處理數(shù)據(jù)。

音/視頻渲染模塊40,用于對(duì)解碼后的多媒體數(shù)據(jù)進(jìn)行渲染并輸出以進(jìn)行播放。

解碼完成的數(shù)據(jù)格式,也可能與前一次的解碼后數(shù)據(jù)格式不一致,要達(dá)到用戶無(wú)感知的連續(xù)播放效果,還需要解決無(wú)縫輸出不同格式到顯示設(shè)備及音頻設(shè)備的問(wèn)題。

本發(fā)明中,在檢測(cè)到多媒體流編碼格式的變化時(shí),音/視頻渲染模塊40,對(duì)編碼后的多媒體流進(jìn)行畫(huà)面尺寸等方面的渲染,以匹配當(dāng)前多媒體流和前前一種編解碼格式的多媒體數(shù)據(jù),實(shí)現(xiàn)無(wú)縫續(xù)播。

在一實(shí)施例中,音/視頻解碼模塊30用于:

獲取多媒體數(shù)據(jù)包后,檢測(cè)當(dāng)前多媒體數(shù)據(jù)包的編解碼信息與上一次多媒體數(shù)據(jù)包的編解碼信息是否一致,如果不一致,則等待前一種編解碼格式的多媒體數(shù)據(jù)播放完畢后,根據(jù)編解碼信息中的格式信息描述索引切換到適配的解碼器,采用所述解碼器對(duì)當(dāng)前接收到的多媒體數(shù)據(jù)包進(jìn)行解碼并輸出。

在一實(shí)施例中,音/視頻渲染模塊30用于:

在檢測(cè)到當(dāng)前視頻幀的數(shù)據(jù)格式、畫(huà)面尺寸與前一個(gè)視頻幀不一致時(shí),初始化渲染器的貼圖數(shù)據(jù)格式,以匹配當(dāng)前幀的編解碼格式。

在一實(shí)施例中,音/視頻渲染模塊40用于:在檢測(cè)到音頻數(shù)據(jù)幀的編解碼格式與之前不一致時(shí),則創(chuàng)建與新的音頻數(shù)據(jù)幀匹配的音頻輸出裝置。

以上僅為本發(fā)明的優(yōu)選實(shí)施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說(shuō)明書(shū)及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運(yùn)用在其他相關(guān)的技術(shù)領(lǐng)域,均同理包括在本發(fā)明的專利保護(hù)范圍內(nèi)。

當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
嘉义县| 桦南县| 福海县| 武城县| 罗山县| 轮台县| 滨海县| 海阳市| 伽师县| 松原市| 咸阳市| 固安县| 景泰县| 温宿县| 多伦县| 大石桥市| 天台县| 建水县| 广饶县| 郁南县| 临安市| 姜堰市| 安阳市| 黄梅县| 武威市| 蒲江县| 平南县| 四平市| 东兰县| 饶阳县| 顺昌县| 洛隆县| 大化| 尼勒克县| 汤原县| 丰原市| 天水市| 天镇县| 阳春市| 同心县| 保康县|