本發(fā)明涉及多媒體設(shè)備技術(shù)領(lǐng)域,特別涉及一種多媒體文件的錄制播放方法及終端。
背景技術(shù):
行車記錄儀是用于記錄行車路況的電子設(shè)備,其可將拍攝得到的影像聲音信息存儲為多媒體文件。出現(xiàn)交通事故時,多媒體文件可作為還原事故現(xiàn)場的證據(jù)。根據(jù)已有技術(shù)可知,正常使用時,行車記錄儀可啟動保存流程保存包含多媒體屬性信息的多媒體文件,并根據(jù)多媒體屬性信息解碼播放多媒體文件。而在出現(xiàn)斷電等意外事故時,行車記錄儀無法啟動保存流程、將多媒體屬性信息保存至多媒體文件中。由于沒有相應(yīng)的多媒體屬性信息作為參考,行車記錄儀也就無法解碼播放多媒體文件。
現(xiàn)有技術(shù)提供一種對缺失多媒體屬性信息的多媒體文件進(jìn)行恢復(fù)的方法,這種方法先采用相同設(shè)備錄制參考文件,再根據(jù)參考文件的多媒體屬性信息恢復(fù)前述多媒體文件。因為多媒體文件恢復(fù)需要進(jìn)行大量文件信息讀取和數(shù)據(jù)計算,前述多媒體文件恢復(fù)方法僅能應(yīng)用在硬件配置較高的設(shè)備中。在出現(xiàn)交通事故等突發(fā)事件時,有采用行車記錄儀等終端快速播放媒體文件、還原事故現(xiàn)場的需求;而由于行車記錄儀等終端硬件配置并不高,所以前述多媒體文件恢復(fù)方法并不能滿足前述需求。
技術(shù)實現(xiàn)要素:
為解決行車記錄儀等硬件配置較低的終端在出現(xiàn)斷電等意外事故時,不能快速方便地恢復(fù)多媒體文件、繼而快速還原現(xiàn)場的問題,本發(fā)明提供一種新的多媒體文件的錄制播放方法,另本發(fā)明還提供一種實現(xiàn)前述方法的多媒體文件的錄制播放終端。
本發(fā)明提供一種多媒體文件的錄制播放方法,包括以下步驟:
采集視頻數(shù)據(jù)、按照第一編碼規(guī)則將所述視頻數(shù)據(jù)編碼為視頻清流數(shù)據(jù);以及采集音頻數(shù)據(jù)、按照第二編碼規(guī)則將所述音頻數(shù)據(jù)編碼為音頻清流數(shù)據(jù);
將所述視頻清流數(shù)據(jù)封裝為視頻對象,以及將所述音頻清流數(shù)據(jù)封裝為音頻對象;
將所述視頻對象和所述音頻對象存儲為一個多媒體清流文件;
接收到播放指令后,分別解封裝所述多媒體清流文件中的視頻對象和音頻對象,得到所述視頻清流數(shù)據(jù)和所述音頻清流數(shù)據(jù);
按照與所述第一編碼規(guī)則對應(yīng)的解碼規(guī)則解碼所述視頻清流數(shù)據(jù),以形成視頻播放數(shù)據(jù);以及按照與所述第二編碼規(guī)則對應(yīng)的解碼規(guī)則解碼所述音頻清流數(shù)據(jù),以形成音頻播放數(shù)據(jù);
播放所述視頻播放數(shù)據(jù)和所述音頻播放數(shù)據(jù)。
為所述視頻對象添加視頻標(biāo)識,以及為音頻對象添加音頻標(biāo)識;
所述分別解封裝所述多媒體清流文件中的視頻對象和音頻對象,得到所述視頻清流數(shù)據(jù)和所述音頻清流數(shù)據(jù)包括:
通過所述視頻標(biāo)識識別所述多媒體清流文件中的視頻對象,以及通過所述音頻標(biāo)識識別所述多媒體清流文件中的音頻對象;
分別解封裝所述視頻對象和所述音頻對象,得到所述視頻清流數(shù)據(jù)和所述音頻清流數(shù)據(jù)。
可選的,所述播放所述視頻播放數(shù)據(jù)和音頻播放數(shù)據(jù)包括:
根據(jù)所述視頻對象的時間戳和所述音頻對象的時間戳同步播放所述視頻播放數(shù)據(jù)和所述音頻播放數(shù)據(jù)。
可選的,所述第一編碼規(guī)則為H264視頻編碼規(guī)則,和/或,所述第二編碼規(guī)則為AAC音頻編碼規(guī)則。
本發(fā)明還提供一種多媒體文件的錄制播放終端,包括:
視頻采集單元,用于采集視頻數(shù)據(jù);
音頻采集單元,用于采集音頻數(shù)據(jù);
視頻編碼單元,用于按照第一編碼規(guī)則將所述視頻數(shù)據(jù)編碼為視頻清流數(shù)據(jù);
音頻編碼單元,用于按照第二編碼規(guī)則將所述音頻數(shù)據(jù)編碼為音頻清流數(shù)據(jù);
對象封裝單元,用于將所述視頻清流數(shù)據(jù)封裝為視頻對象,以及用于將所述音頻清流數(shù)據(jù)封裝為音頻對象;
清流存儲單元,用于將所述視頻對象和所述音頻對象存儲為一個多媒體清流文件;
解封裝單元,用于在接收到播放指令后,分別解封裝所述多媒體清流文件中的視頻對象和音頻對象、得到所述視頻清流數(shù)據(jù)和所述音頻清流數(shù)據(jù);
解碼單元,用于按照與所述第一編碼規(guī)則對應(yīng)的解碼規(guī)則解碼所述視頻清流數(shù)據(jù)、以形成視頻播放數(shù)據(jù),以及用于按照與所述第二編碼規(guī)則對應(yīng)的解碼規(guī)則解碼所述音頻清流數(shù)據(jù)、以形成音頻播放數(shù)據(jù);
播放單元,用于播放所述視頻播放數(shù)據(jù)和所述音頻播放數(shù)據(jù)。
可選的,所述對象封裝單元還用于為所述視頻對象添加視頻標(biāo)識、以及為所述音頻對象添加音頻標(biāo)識;
所述解封裝單元根據(jù)所述視頻標(biāo)識識別所述多媒體清流文件中的視頻對象,以及通過所述音頻標(biāo)識識別所述多媒體清流文件中的音頻對象。
可選的,所述播放單元根據(jù)所述視頻對象的時間戳和所述音頻對象的時間戳同步播放所述視頻播放數(shù)據(jù)和所述音頻播放數(shù)據(jù)。
可選的,所述視頻編碼單元按照H264視頻編碼規(guī)則將所述視頻數(shù)據(jù)編碼為視頻清流數(shù)據(jù);和/或,所述音頻編碼單元按照AAC音頻編碼規(guī)則將所述音頻數(shù)據(jù)編碼為音頻清流數(shù)據(jù)。
本發(fā)明提供的多媒體文件錄制播放方法,將視頻對象和音頻對象混合封裝在一個多媒體清流文件中,多媒體終端在播放多媒體清流文件時,直接采用已知的解碼規(guī)則解碼視頻對象中的視頻清流數(shù)據(jù)和音頻對象中的音頻清流數(shù)據(jù)。相比于現(xiàn)有的多媒體文件錄制方法,本發(fā)明實施例提供的方法可避免現(xiàn)有技術(shù)中多媒體文件存儲方法中沒有正確存儲多媒體屬性信息的情況下,無法播放多媒體文件的問題。
附圖說明
為更清楚地說明背景技術(shù)或本發(fā)明的技術(shù)方案,下面對現(xiàn)有技術(shù)或具體實施方式中結(jié)合使用的附圖作簡單地介紹;顯而易見地,以下結(jié)合具體實施方式的附圖僅是用于方便理解本發(fā)明實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖;
圖1是本發(fā)明實施例中多媒體文件的錄制播放方法流程圖;
圖2是本發(fā)明實施例中多媒體文件的錄制播放終端的組成示意圖;
其中:10-錄制播放終端、101-視頻采集單元、102-音頻采集單元、103-視頻編碼單元、104-音頻編碼單元、105-對象封裝單元、106-清流存儲單元、107-解封裝單元、108-解碼單元、109-播放單元。
具體實施方式
本發(fā)明提供一種多媒體文件的錄制播放方法,將采集得到的視頻清流數(shù)據(jù)和音頻清流數(shù)據(jù)存儲至一個多媒體清流文件,在接收到播放指令后通過解碼多媒體清流文件中的視頻清流數(shù)據(jù)和音頻音頻數(shù)據(jù),形成視頻播放數(shù)據(jù)和音頻播放數(shù)據(jù)。另外,本發(fā)明還提供一種實現(xiàn)前述多媒體文件錄制播放方法的錄制播放終端。
為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明中的技術(shù)方案,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都應(yīng)當(dāng)屬于本發(fā)明保護(hù)的范圍。
圖1是本發(fā)明實施例中多媒體文件的錄制播放方法流程圖。如圖1,本發(fā)明提供的媒體文件的錄制播放方法包括以下步驟。應(yīng)當(dāng)注意,本發(fā)明實施例提供的多媒體文件錄制播放方法可以用于具有多媒體(至少包括視頻和音頻)采集和播放功能的多媒體終端內(nèi);實際使用中,多媒體終端優(yōu)選為行車記錄儀、智能手機(jī)、攝像機(jī)等移動終端。
S101:采集視頻數(shù)據(jù)、按照第一編碼規(guī)則將視頻數(shù)據(jù)編碼為視頻清流數(shù)據(jù);以及采集音頻數(shù)據(jù)、按照第二編碼規(guī)則將音頻數(shù)據(jù)編碼為音頻清流數(shù)據(jù)。
為避免產(chǎn)生歧義,首先對視頻數(shù)據(jù)和音頻數(shù)據(jù)進(jìn)行解釋性定義:視頻數(shù)據(jù)指多媒體終端在一個視頻采集周期內(nèi)采集的包含視頻信息的數(shù)據(jù),音頻數(shù)據(jù)指多媒體終端在一個音頻采集周期內(nèi)采集的包含音頻信息的數(shù)據(jù)。
步驟S101中,對視頻數(shù)據(jù)和音頻數(shù)據(jù)編碼可降低數(shù)據(jù)量大小、減小后續(xù)存儲時占用的存儲空間。以目前主流的MP4文件錄制存儲方法為例:多媒體終端可采用H.264視頻編碼規(guī)則對視頻數(shù)據(jù)進(jìn)行壓縮、使視頻數(shù)據(jù)編碼為H.264格式的視頻清流數(shù)據(jù),以及采用高級音頻編碼(Advanced Audio Coding,AAC)規(guī)則對音頻數(shù)據(jù)進(jìn)行壓縮、使音頻數(shù)據(jù)編碼為AAC格式的音頻清流數(shù)據(jù)。當(dāng)然,視頻數(shù)據(jù)和音頻數(shù)據(jù)也采用本領(lǐng)域技術(shù)人員已知的其他編碼規(guī)則編碼為對應(yīng)的視頻清流數(shù)據(jù)和音頻清流數(shù)據(jù)。
S102:將視頻清流數(shù)據(jù)封裝為視頻對象,以及將音頻清流數(shù)據(jù)封裝為音頻對象。
S103:將視頻對象和音頻對象存儲為一個多媒體清流文件。
在本實施例中,視頻對象和音頻對象被存儲在一個多媒體清流文件中,因此在后續(xù)讀取多媒體清流文件時有區(qū)分多媒體文件中視頻對象和音頻對象的需求。為此,多媒體終端在在視頻對象的表頭添加視頻標(biāo)識,在音頻對象的表頭添加音頻標(biāo)識。后續(xù),多媒體終端可根據(jù)視頻標(biāo)識和音頻標(biāo)識區(qū)分視頻對象和音頻對象。
多媒體終端在播放多媒體清流文件時,具有同步播放視頻數(shù)據(jù)和音頻數(shù)據(jù)的需求,因此本實施例在生成各個視頻對象和音頻對象時,為視頻對象添加代表其中視頻數(shù)據(jù)相對采集時間的視頻時間戳,以及為音頻對象添加代表其中音頻數(shù)據(jù)相對采集時間的音頻時間戳。
另外,為實現(xiàn)后續(xù)快速解碼播放視頻清流數(shù)據(jù)和音頻清流數(shù)據(jù),多媒體終端采用混合存儲的方法會將視頻對象和音頻對象存儲在多媒體文件中,即多媒體終端將視頻對象和音頻對象按照形成的先后順序依次添加至多媒體清流文件中。
實際應(yīng)用中,前述的視頻對象和音頻對象均是可序列化對象,在將視頻對象和音頻對象存儲在多媒體文件中時,實際是將各個可序列化對象中的數(shù)據(jù)轉(zhuǎn)換成可被硬件設(shè)備存儲的數(shù)據(jù)信息;后續(xù)讀取多媒體文件,則是將硬件設(shè)備存儲的數(shù)據(jù)信息轉(zhuǎn)換為可序列化對象。
S104:接收到播放指令后,分別解封裝多媒體清流文件中的視頻對象和音頻對象,得到視頻清流數(shù)據(jù)和音頻清流數(shù)據(jù)。
S105:按照與第一編碼規(guī)則對應(yīng)的解碼規(guī)則解碼視頻清流數(shù)據(jù),以形成視頻播放數(shù)據(jù);以及按照與第二編碼規(guī)則對應(yīng)的解碼規(guī)則解碼音頻清流數(shù)據(jù),以形成音頻播放數(shù)據(jù);
S106:播放視頻播放數(shù)據(jù)和音頻播放數(shù)據(jù)。
在多媒體終端接收到播放指令后,多媒體終端按照順序讀取多媒體清流文件,根據(jù)視頻對象中的視頻標(biāo)識和音頻對象中的音頻標(biāo)識區(qū)分視頻對象和音頻對象,并提取視頻對象中的視頻清流數(shù)據(jù)和音頻對象中的音頻清流數(shù)據(jù)。
與前述步驟S101對應(yīng)的,在S105中,多媒體終端按照H264解碼規(guī)則解碼播放視頻清流數(shù)據(jù)、按照AAC解碼規(guī)則解碼音頻清流數(shù)據(jù)。
如前所述,多媒體終端在播放視頻播放數(shù)據(jù)和音頻播放數(shù)據(jù)時,根據(jù)視頻時間戳和音頻時間戳實現(xiàn)視頻播放數(shù)據(jù)和音頻播放數(shù)據(jù)的同步。因為音頻播放數(shù)據(jù)的播放較為穩(wěn)定,所以,在本實施例中,多媒體終端可按照預(yù)設(shè)的播放速度播放音頻播放數(shù)據(jù),而通過比較音頻時間戳和視頻時間戳匹配確定播放哪一幀視頻播放數(shù)據(jù)。
當(dāng)然,在其他實施例中,如果沒有同步播放視頻播放數(shù)據(jù)和音頻播放數(shù)據(jù)的需求,也可不設(shè)置同步播放策略,即無需在視頻對象中添加視頻時間戳、無需在音頻對象中添加音頻時間戳。
現(xiàn)有的多媒體終端播放諸如MP4等格式的多媒體文件時,如果缺少多媒體屬性信息部分,則多媒體終端無法區(qū)分出多媒體文件媒體數(shù)據(jù)部分的視頻數(shù)據(jù)和音頻數(shù)據(jù),也無法解碼播放視頻數(shù)據(jù)和音頻數(shù)據(jù)。而多媒體終端在接收到錄制停止指令后才會根據(jù)視頻數(shù)據(jù)和音頻數(shù)據(jù)生成多媒體屬性信息,所以在多媒體終端出現(xiàn)接收到異常指令(例如斷電)時,多媒體屬性信息沒有被正確存儲,后續(xù)多媒體終端也就無法播放多媒體文件。
與前述多媒體文件錄制方法不同,本發(fā)明實施例提供的多媒體文件錄制播放方法將視頻對象和音頻對象混合封裝在一個多媒體清流文件中,多媒體終端在播放多媒體清流文件時,通過視頻對象和音頻對象的標(biāo)識區(qū)分兩種對象,并直接采用已知的解碼規(guī)則解碼視頻對象中的視頻清流數(shù)據(jù)和音頻對象中的音頻清流數(shù)據(jù)。相比于現(xiàn)有的多媒體文件錄制方法,本發(fā)明實施例提供的方法可避免多媒體終端接收到異常指令時無法正確存儲多媒體屬性信息,繼而無法播放其中音頻數(shù)據(jù)和視頻數(shù)據(jù)的問題。
以上對本發(fā)明實施例提供的多媒體文件的錄制播放方法做介紹。除提供前述的多媒體文件錄制播放方法外,本發(fā)明還提供一種實現(xiàn)前述多媒體文件錄制播放方法的錄制播放終端。
圖2是本發(fā)明實施例中多媒體文件的錄制播放終端的組成示意圖,如圖2,本發(fā)明提供的多媒體文件錄制播放終端10包括視頻采集單元101、音頻采集單元102、視頻編碼單元103、音頻編碼單元104、對象封裝單元105、清流存儲單元106、解封裝單元107、解碼單元108和播放單元109。
視頻采集單元101用于采集視頻數(shù)據(jù);音頻采集單元102用于采集音頻數(shù)據(jù);視頻編碼單元103用于按照第一編碼規(guī)則將視頻數(shù)據(jù)編碼為視頻清流數(shù)據(jù);音頻編碼單元104用于按照第二編碼規(guī)則將音頻數(shù)據(jù)編碼為音頻清流數(shù)據(jù)。
對象封裝單元105用于將視頻清流數(shù)據(jù)封裝為視頻對象,以及用于將音頻清流數(shù)據(jù)封裝為音頻對象;清流存儲單元106用于將視頻對象和音頻對象存儲為一個多媒體清流文件;解封裝單元107用于在接收到播放指令后,分別解封裝多媒體清流文件中的視頻對象和音頻對象、得到視頻清流數(shù)據(jù)和音頻清流數(shù)據(jù);解碼單元108用于按照與第一編碼規(guī)則對應(yīng)的解碼規(guī)則解碼視頻清流數(shù)據(jù)、形成視頻播放數(shù)據(jù),以及用于按照與第二編碼規(guī)則對應(yīng)的解碼規(guī)則解碼音頻清流數(shù)據(jù)、形成音頻播放數(shù)據(jù);播放單元109用于播放視頻播放數(shù)據(jù)和音頻播放數(shù)據(jù)。
為實現(xiàn)視頻對象和音頻對象的混合式存儲,對象封裝單元105還用于為視頻對象添加視頻標(biāo)識,以及為音頻對象添加音頻標(biāo)識;與之對應(yīng)的,解封裝單元107根據(jù)視頻標(biāo)識識別多媒體清流文件中的視頻對象、通過音頻標(biāo)識識別多媒體清流文件中的音頻對象。
為實現(xiàn)視頻播放數(shù)據(jù)和音頻播放數(shù)據(jù)的同步播放,對象封裝單元105還為視頻對象添加視頻時間戳、為音頻對象添加音頻時間戳;播放單元109則根據(jù)視頻時間戳和音頻時間戳同步播放視頻播放數(shù)據(jù)和音頻播放數(shù)據(jù)。
與前述方法對應(yīng)的,視頻編碼單元103可按照H264視頻編碼規(guī)則將視頻采集單元101采集的視頻數(shù)據(jù)壓縮編碼為視頻清流數(shù)據(jù),音頻編碼單元104可按照AAC音頻編碼規(guī)則將音頻采集單元102采集的音頻數(shù)據(jù)壓縮編碼為音頻清流數(shù)據(jù)。與之對應(yīng)的,解碼單元108則按照H264解碼規(guī)則將視頻清流數(shù)據(jù)解碼為視頻播放數(shù)據(jù)、按照ACC解碼規(guī)則將音頻清流數(shù)據(jù)解碼為音頻播放數(shù)據(jù)。
以上對本發(fā)明實施例中的多媒體文件錄制播放方法和錄制播放終端進(jìn)行了詳細(xì)介紹。本部分采用具體實施例對本發(fā)明的原理及實施方式進(jìn)行了闡述,以上實施例的說明只是用于幫助理解本發(fā)明的核心思想,在不脫離本發(fā)明原理的情況下,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護(hù)的范圍。