專(zhuān)利名稱(chēng):一種媒體數(shù)據(jù)截取的方法、裝置及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)領(lǐng)域,尤其涉及媒體數(shù)據(jù)截取的方法、裝置及系統(tǒng)。
背景技術(shù):
在日常工作和生活中人們?cè)谑褂糜?jì)算機(jī)的過(guò)程中難免會(huì)對(duì)媒體文件進(jìn)行轉(zhuǎn)換,在媒體文件轉(zhuǎn)換的過(guò)程中,經(jīng)常需要對(duì)媒體源進(jìn)行截取,或者對(duì)媒體源輸出的媒體文件的容量大小有著明確的要求,目前,媒體數(shù)據(jù)截取的過(guò)程是
在媒體文件轉(zhuǎn)換的過(guò)程中,截取Trim的控制是放在源文件的分離端,數(shù)據(jù)從源文件分離出來(lái)之后,可以通過(guò)數(shù)據(jù)中的時(shí)間戳來(lái)匹配事先預(yù)置的時(shí)間點(diǎn),這樣來(lái)控制截取Trim的操作。 現(xiàn)有技術(shù)的缺點(diǎn)在干,當(dāng)文件分離器達(dá)到截取Trim的時(shí)間點(diǎn)停止提供數(shù)據(jù)后,還有一部分已分離數(shù)據(jù)包停留在中間處理環(huán)節(jié)等待后繼數(shù)據(jù)來(lái)推動(dòng)這些數(shù)據(jù)進(jìn)入文件合成器,此時(shí)中間處理環(huán)節(jié)只能通過(guò)偽造后續(xù)數(shù)據(jù)來(lái)推動(dòng)停留的已分離數(shù)據(jù)包進(jìn)入文件合成器,這樣就増加了中間處理環(huán)節(jié)的復(fù)雜度。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例所要解決的技術(shù)問(wèn)題在于,提供ー種媒體數(shù)據(jù)截取方法和相關(guān)裝置,文件合成器能夠直接停止向目標(biāo)文件寫(xiě)入數(shù)據(jù),并不需要偽造數(shù)據(jù)推動(dòng)停留的已分離數(shù)據(jù)包進(jìn)入文件合成器。為了解決上述技術(shù)問(wèn)題,本發(fā)明實(shí)施例提供了ー種媒體數(shù)據(jù)截取的方法包括
文件合成器接收從源文件分離得到的數(shù)據(jù)包;
文件合成器將所述數(shù)據(jù)包寫(xiě)入到目標(biāo)文件;
文件合成器在滿足截取停止條件時(shí),停止將接收到的數(shù)據(jù)包寫(xiě)入到所述目標(biāo)文件中。其中,所述滿足截取停止條件包括
文件合成器判斷所述接收到的數(shù)據(jù)包的數(shù)據(jù)量是否達(dá)到預(yù)置的數(shù)據(jù)量閾值,當(dāng)達(dá)到預(yù)置的數(shù)據(jù)量閾值時(shí),滿足截取停止條件;或者
文件合成器判斷當(dāng)前接收到的數(shù)據(jù)包包括的時(shí)間戳是否與預(yù)置的時(shí)間截取閾值一致,當(dāng)為一致吋,滿足截取停止條件。其中,在接收從源文件分離得到的數(shù)據(jù)包之前,還包括
文件分離器從源文件中分離得到數(shù)據(jù)包;
中間數(shù)據(jù)處理器將所述文件分離器分離得到的數(shù)據(jù)進(jìn)行解碼、處理以及編碼并向文件合成器輸出結(jié)果。其中,所述文件合成器在滿足截取停止條件時(shí),停止將接收到的數(shù)據(jù)包寫(xiě)入到所述目標(biāo)文件中還包括
文件合成器向文件分離器發(fā)送停止消息,所述文件分離器在接收到所述停止消息后停止從源文件分離得到數(shù)據(jù)包。
其中,所述文件合成器在滿足截取停止條件時(shí),停止將接收到的數(shù)據(jù)包寫(xiě)入到所述目標(biāo)文件中還包括
文件合成 器控制丟棄所述文件分離器已經(jīng)從源文件截取但未寫(xiě)入到所述目標(biāo)文件的數(shù)據(jù)包。相應(yīng)地,本發(fā)明實(shí)施例還提供了ー種媒體數(shù)據(jù)截取裝置,包括
接收模塊,用于接收從源文件分離得到的數(shù)據(jù)包;
寫(xiě)入模塊,用于根據(jù)所述接收模塊接收到的數(shù)據(jù)包,并將所述數(shù)據(jù)包寫(xiě)入到目標(biāo)文
件;
停止模塊,用于根據(jù)所述寫(xiě)入模塊寫(xiě)入的數(shù)據(jù)包,在滿足截取停止條件時(shí),停止將接收到的數(shù)據(jù)包寫(xiě)入到所述目標(biāo)文件中。其中,所述停止模塊包括
判斷単元,用于判斷所述接收模塊接收到的數(shù)據(jù)包的數(shù)據(jù)量是否達(dá)到預(yù)置的數(shù)據(jù)量閾值或者用于判斷所述接收模塊接收到的數(shù)據(jù)包包括的時(shí)間戳是否與預(yù)置的時(shí)間截取閾值一致;
停止単元,根據(jù)所述判斷単元的判斷結(jié)果為數(shù)據(jù)包的數(shù)據(jù)量達(dá)到預(yù)置的數(shù)據(jù)量閾值或者數(shù)據(jù)包包括的時(shí)間戳與預(yù)置的時(shí)間截取閾值一致,停止將接收到的數(shù)據(jù)包寫(xiě)入到所述目標(biāo)文件中。其中,還包括
發(fā)送單元,用于向文件分離器發(fā)送停止消息,所述文件分離器在接收到所述停止消息后停止從源文件分離得到數(shù)據(jù)包。其中,還包括
控制單元,用于控制丟棄所述文件分離器已經(jīng)從源文件分離但未寫(xiě)入到所述目標(biāo)文件的數(shù)據(jù)包。相應(yīng)地,本發(fā)明實(shí)施例還提供了ー種媒體數(shù)據(jù)截取系統(tǒng),包括文件分離器、中間數(shù)據(jù)處理器以及文件合成器,其中,
所述文件分離器,用于從源文件中分離得到數(shù)據(jù)包;
所述中間數(shù)據(jù)處理器,用于將所述文件分離器分離得到的數(shù)據(jù)進(jìn)行解碼、處理以及編碼并向所述文件合成器輸出結(jié)果;
所述文件合成器包括上述權(quán)利要求6至9任一項(xiàng)所述的媒體數(shù)據(jù)截取裝置。本發(fā)明實(shí)施例中,本發(fā)明實(shí)施例中,為了解決現(xiàn)有技術(shù)中難以精確控制輸出文件的大小的問(wèn)題,通過(guò)把截取Trim的控制放在文件合成器端來(lái)完成對(duì)文件分離器輸出文件的截取Trim操作,文件合成器接收從源文件分離得到的數(shù)據(jù)包,并將所述數(shù)據(jù)包寫(xiě)入到目標(biāo)文件,在滿足截取停止條件時(shí),所述文件合成器停止將接收到的數(shù)據(jù)包寫(xiě)入所述目標(biāo)文件中,從而精確地控制輸出文件的大小,使得文件分離器和中間處理環(huán)節(jié)的功能更單一,提升了用戶體驗(yàn)。
圖I為本發(fā)明的媒體數(shù)據(jù)截取方法的第一實(shí)施例的流程 圖2為本發(fā)明的媒體數(shù)據(jù)截取方法的第二實(shí)施例的流程圖;圖3為本發(fā)明媒體數(shù)據(jù)截取裝置的第一實(shí)施例的結(jié)構(gòu)示意 圖4為本發(fā)明媒體數(shù)據(jù)截取裝置的第二實(shí)施例的結(jié)構(gòu)示意 圖5為本發(fā)明媒體數(shù)據(jù)截取系統(tǒng)的實(shí)施例示意圖。
具體實(shí)施例方式下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。請(qǐng)參見(jiàn)圖1,為本發(fā)明的媒體數(shù)據(jù)截取方法的第一實(shí)施例的流程圖。所述方法包括
S101,文件合成器接收從源文件分離得到的數(shù)據(jù)包。具體的,本發(fā)明實(shí)施例中的文件分離器是通過(guò)若干個(gè)數(shù)據(jù)傳送通道將傳輸?shù)臄?shù)據(jù)經(jīng)過(guò)中間處理環(huán)節(jié)的解碼Decode、處理process、編碼Encode處理后發(fā)送給文件合成器,所述文件合成器接收從源文件分離得到的數(shù)據(jù)包,并將所述接收到數(shù)據(jù)包寫(xiě)入目標(biāo)文件中,統(tǒng)計(jì)寫(xiě)入目標(biāo)文件的數(shù)據(jù)量或當(dāng)前接收到的數(shù)據(jù)包包括的時(shí)間戳,根據(jù)預(yù)置的數(shù)據(jù)量閾值判斷所述接收到的數(shù)據(jù)包的數(shù)據(jù)量是否達(dá)到預(yù)置的數(shù)據(jù)量閾值時(shí),或所述當(dāng)前接收到的數(shù)據(jù)包包括的時(shí)間戳是否與預(yù)置的時(shí)間截取閾值一致。若所述接收模塊接收到的數(shù)據(jù)包的數(shù)據(jù)量達(dá)到預(yù)置的數(shù)據(jù)量閾值時(shí),或所述接收模塊當(dāng)前接收到的數(shù)據(jù)包包括的時(shí)間戳與預(yù)置的時(shí)間截取閾值一致吋,則滿足截取停止條件,所述文件停止將接收到的數(shù)據(jù)包繼續(xù)寫(xiě)入所述目標(biāo)文件中,比如預(yù)置的數(shù)據(jù)量的閾值規(guī)定不能夠超過(guò)2G,若文件合成器所記錄的接收處理的數(shù)據(jù)總量達(dá)到2G時(shí),可以判斷此時(shí)滿足截取停止條件,就會(huì)停止將接收的數(shù)據(jù)包繼續(xù)寫(xiě)入到所述目標(biāo)文中,再比如對(duì)于某一源視頻文件,假如我們需要截取從第2分鐘到第5鐘這一段視頻,當(dāng)文件合成器當(dāng)前接收到的數(shù)據(jù)包包括的時(shí)間戳和從第2分鐘到第5鐘時(shí)間的預(yù)置的時(shí)間截取閾值相一致,可以判斷此時(shí)滿足截取停止條件,就會(huì)停止將接收到的數(shù)據(jù)包繼續(xù)寫(xiě)入到所述目標(biāo)文件中。S102,文件合成器將所述數(shù)據(jù)包寫(xiě)入到目標(biāo)文件;
具體的,在SlOl中文件合成器接收從源文件分離得到的數(shù)據(jù)包,所述文件合成器對(duì)接收到的數(shù)據(jù)加上數(shù)據(jù)頭并經(jīng)過(guò)均勻交錯(cuò),順序地寫(xiě)入目標(biāo)文件,所述目標(biāo)文件就是轉(zhuǎn)碼生成的結(jié)果文件,比如用戶要把ー個(gè)MP4文件轉(zhuǎn)成AVI文件,這個(gè)最終生成的AVI文件就是所述的目標(biāo)文件。需要說(shuō)明的是,本發(fā)明實(shí)施例中的文件合成器預(yù)置了數(shù)據(jù)量閾值或者時(shí)間截取閾值,所述預(yù)置的數(shù)據(jù)量閾值或時(shí)間截取閾值用于文件合成器判斷所述接收到的數(shù)據(jù)包的數(shù)據(jù)量是否達(dá)到預(yù)置的數(shù)據(jù)量閾值,或者用于文件合成器判斷當(dāng)前接收到的數(shù)據(jù)包包括的時(shí)間戳是否與預(yù)置的時(shí)間截取閾值一致,當(dāng)所述接收到的數(shù)據(jù)包的數(shù)據(jù)量達(dá)到預(yù)置的數(shù)據(jù)量閾值,當(dāng)所述當(dāng)前接收到的數(shù)據(jù)包包括的時(shí)間戳與預(yù)置的時(shí)間截取閾值一致吋,滿足截取停止條件,所述文件合成器停止將接收到的數(shù)據(jù)包繼續(xù)寫(xiě)入到所述目標(biāo)文件中。本發(fā)明實(shí)施例中所述預(yù)置的閾值是所述文件合成器用來(lái)判斷是否對(duì)所述數(shù)據(jù)包采取截取操作的,即所述預(yù)置的閾值是用戶所期望的截取操作的點(diǎn),比如用戶期望所述文件合成器生成的新文件的大小不超過(guò)500M,那么所述預(yù)置的數(shù)據(jù)量的閾值就是500M,或者用戶期望所述文件合成器生成的新文件僅僅是想保留源文件中的第10分鐘到第20分鐘的內(nèi)容,那么截取操作的數(shù)據(jù)截取的閾值是20分鐘。需要說(shuō)明的是,當(dāng)重新啟動(dòng)另一個(gè)文件的截取操作的處理時(shí),如果根據(jù)接收到的數(shù)據(jù)包包括時(shí)間戳進(jìn)行截取操作時(shí),如果下ー個(gè)需要保留的時(shí)間是第40分鐘到第50分鐘的內(nèi)容的話,就可以通知所述文件分離器從第40分鐘的地方開(kāi)始截取數(shù)據(jù),這樣的話如果輸入的數(shù)據(jù)是從第40分鐘到第50分鐘的內(nèi)容,即達(dá)到預(yù)置的時(shí)間閾值時(shí),中間環(huán)節(jié)的數(shù)據(jù)就不需要丟棄,所述文件合成器直接產(chǎn)生ー個(gè) 新文件。S103,文件合成器在滿足截取停止條件時(shí),停止將接收到的數(shù)據(jù)包寫(xiě)入到所述目標(biāo)文件中。具體的,本發(fā)明實(shí)施例中的文件合成器接收從源文件分離得到的數(shù)據(jù)包,并將所述數(shù)據(jù)包寫(xiě)入到目標(biāo)文件,并統(tǒng)計(jì)輸入文件的數(shù)據(jù)量或者當(dāng)前接收到的數(shù)據(jù)包包括的時(shí)間戳,根據(jù)預(yù)置的閾值進(jìn)行匹配,當(dāng)所述文件合成器在滿足截取停止條件時(shí),停止將接收到的數(shù)據(jù)包繼續(xù)寫(xiě)入到所述目標(biāo)文件中,本發(fā)明實(shí)施例中所述滿足截取停止條件包括所述接收模塊接收到的數(shù)據(jù)包的數(shù)據(jù)量達(dá)到預(yù)置的數(shù)據(jù)量閾值,或者所述接收模塊當(dāng)前接收到的數(shù)據(jù)包包括的時(shí)間戳與預(yù)置的時(shí)間截取閾值一致吋,則滿足截取停止條件,所述文件合成器在滿足截取停止條件時(shí),停止將接收到的數(shù)據(jù)包繼續(xù)寫(xiě)入到所述目標(biāo)文件中。需要說(shuō)明的是,本發(fā)明實(shí)施例中當(dāng)所述文件合成器在滿足截取停止條件吋,停止將接收到的數(shù)據(jù)包繼續(xù)寫(xiě)入所述目標(biāo)文件中,同時(shí)所述文件合成器向所述文件分離器發(fā)送停止消息,所述文件分離器在接收到所述停止消息后停止從源文件分離得到數(shù)據(jù)包,同時(shí)所述文件合成器控制丟棄所述文件分離器已經(jīng)從源文件中截取但未寫(xiě)入到所述目標(biāo)文件中的數(shù)據(jù)包。本發(fā)明實(shí)施例是把對(duì)文件的截取操作Trim放在文件合成器端來(lái)完成文件分離器傳送數(shù)據(jù)包的截取操作,所述文件合成器接收從源文件分離得到的數(shù)據(jù)包,并將所述數(shù)據(jù)包寫(xiě)入到目標(biāo)文件,當(dāng)所述文件合成器判斷所述接收到的數(shù)據(jù)包的數(shù)據(jù)量達(dá)到預(yù)置的數(shù)據(jù)量閾值或者當(dāng)所述文件合成器判斷當(dāng)前接收到的數(shù)據(jù)包包括的時(shí)間戳與預(yù)置的時(shí)間截取閾值一致時(shí),可以判斷滿足截取停止條件。所述文件合成器在滿足截取停止條件時(shí),停止將接收到的數(shù)據(jù)包繼續(xù)寫(xiě)入所述目標(biāo)文件中,并發(fā)送停止消息至所述文件分離器,所述文件分離器在接收到所述停止消息后停止從源文件分離得到數(shù)據(jù)包,同時(shí)所述文件合成器控制丟棄所述文件分離器已經(jīng)從源文件中分離但尚未寫(xiě)入到所述目標(biāo)文件中的數(shù)據(jù)包,并不需要中間數(shù)據(jù)處理器偽造后續(xù)數(shù)據(jù)來(lái)推動(dòng)這些停留在中間數(shù)據(jù)處理器中的已分離但尚未寫(xiě)入到所述目標(biāo)文件中的數(shù)據(jù)包進(jìn)入文件合成器,,使得文件分離器和中間處理環(huán)節(jié)的功能更單一,從而可以精確地控制輸出文件的大小,提升了用戶的體驗(yàn)。請(qǐng)參見(jiàn)圖2,為本發(fā)明的媒體數(shù)據(jù)截取方法的第二實(shí)施例的流程圖。所述方法包括
S201,文件分離器從源文件中分離得到數(shù)據(jù)包;
具體的,本發(fā)明實(shí)施例中的文件分離器從源文件中獲取數(shù)據(jù),并對(duì)所述獲取到的數(shù)據(jù)進(jìn)行分離得到數(shù)據(jù)包,所述文件分離器是通過(guò)若干個(gè)數(shù)據(jù)傳送通道將所述分離得到的數(shù)據(jù)包傳輸給中間數(shù)據(jù)處理器,所述中間數(shù)據(jù)處理器將所述文件分離器分離得到的數(shù)據(jù)包進(jìn)行解碼Decode、處理process、編碼Encode后的數(shù)據(jù)包傳輸給所述文件合成器。S202,中間數(shù)據(jù)處理器將所述文件分離器分離得到的數(shù)據(jù)進(jìn)行解碼、處理以及編碼并向文件合成器輸出結(jié)果;
具體的,本發(fā)明實(shí)施例的中間數(shù)據(jù)處理器通過(guò)若干個(gè)數(shù)據(jù)傳送通道獲取文件分離器從源文件中分離得到的數(shù)據(jù),并對(duì)所述從源文件中分離得到的數(shù)據(jù)包進(jìn)行解碼、處理、編碼并傳輸給所述文件合成器。需要說(shuō)明的是,本發(fā)明實(shí)施例中所述文件合成器在滿足截取停止條件時(shí),停止將接收到的數(shù)據(jù)包繼續(xù)寫(xiě)入到所述目標(biāo)文件中,此時(shí)還有一部分?jǐn)?shù)據(jù)包停留在中間數(shù)據(jù)處理器中,所述停留在中間數(shù)據(jù)處理器中的數(shù)據(jù)包是已經(jīng)從源文件中分離但尚未寫(xiě)入到所述目標(biāo)文件的數(shù)據(jù)包,但停留在中間數(shù)據(jù)處理器中的這一部分?jǐn)?shù)據(jù)包并不在閾值范圍之內(nèi),因此在所述文件合成器發(fā)出停止消息之后,對(duì)于這部分?jǐn)?shù)據(jù)包可以由所述文件合成器控制直
接丟棄,而不再需要中間數(shù)據(jù)處理器通過(guò)偽造后續(xù)數(shù)據(jù)來(lái)推動(dòng)這些停留在中間數(shù)據(jù)處理器中已從源文件中分離但未寫(xiě)入所述目標(biāo)文件中的數(shù)據(jù)包寫(xiě)入所述目標(biāo)文件,減少了文件分離器和中間處理環(huán)節(jié)的復(fù)雜性。S203,文件合成器接收從源文件分離得到的數(shù)據(jù)包;
S204,文件合成器將所述數(shù)據(jù)包寫(xiě)入到目標(biāo)文件;
S205,文件合成器在滿足截取停止條件時(shí),停止將接收到的數(shù)據(jù)包寫(xiě)入到所述目標(biāo)文件中;
S206,文件合成器向文件分離器發(fā)送停止消息,所述文件分離器在接收到所述停止消息后停止從源文件分離得到數(shù)據(jù)包;
具體的,本發(fā)明實(shí)施例的文件合成器接收從源文件分離得到的數(shù)據(jù)包,將所述數(shù)據(jù)包寫(xiě)入到目標(biāo)文件中,并統(tǒng)計(jì)寫(xiě)入目標(biāo)文件的數(shù)據(jù)量或當(dāng)前接收到的數(shù)據(jù)包包括的時(shí)間戳,根據(jù)預(yù)置的閾值進(jìn)行匹配,當(dāng)所述接收模塊接收到的數(shù)據(jù)包的數(shù)據(jù)量達(dá)到預(yù)置的數(shù)據(jù)量閾值或者當(dāng)所述接收模塊接收到的數(shù)據(jù)包包括的時(shí)間戳與預(yù)置的時(shí)間閾值一致吋,則滿足截取停止條件,所述文件合成器在滿足截取停止條件時(shí),停止將接收到的數(shù)據(jù)包繼續(xù)寫(xiě)入所述目標(biāo)文件中,并發(fā)送停止消息至所述文件分離器,所述文件分離器在接收到所述停止消息后停止從源文件分離得到數(shù)據(jù)包,同時(shí)所述文件合成器控制丟棄所述文件分離器已經(jīng)從源文件中截取但未寫(xiě)入到所述目標(biāo)文件中的數(shù)據(jù)包。S207,文件合成器控制丟棄所述文件分離器已經(jīng)從源文件截取但未寫(xiě)入到所述目標(biāo)文件的數(shù)據(jù)包。具體的,在本發(fā)明實(shí)施例中的文件合成器接收從源文件分離得到的數(shù)據(jù)包,將所述數(shù)據(jù)包寫(xiě)入到目標(biāo)文件,并統(tǒng)計(jì)寫(xiě)入目標(biāo)文件的數(shù)據(jù)量或當(dāng)前接收到的數(shù)據(jù)包包括的時(shí)間戳,根據(jù)預(yù)置的閾值進(jìn)行匹配,當(dāng)所述文件合成器判斷出所述接收模塊接收到的數(shù)據(jù)包的數(shù)據(jù)量達(dá)到預(yù)置數(shù)據(jù)量閾值或所述接收模塊接收到的數(shù)據(jù)包包括的時(shí)間戳與預(yù)置時(shí)間截取閾值一致吋,則滿足截取停止條件,所述文件合成器在滿足截取停止條件時(shí),停止將所述接收到的數(shù)據(jù)包寫(xiě)入所述目標(biāo)文件中。所述文件合成器在滿足截取停止條件時(shí),所述文件合成器發(fā)送停止消息給所述文件分離器,表明所述文件合成器已經(jīng)收到的所有需要的數(shù)據(jù),并完成了對(duì)源文件中的數(shù)據(jù)的截取操作,比如用戶預(yù)置的閾值是500M,若所述接收模塊判斷接收到數(shù)據(jù)量已達(dá)到500M時(shí),所述文件合成器停止將接收到的數(shù)據(jù)包繼續(xù)寫(xiě)入所述目標(biāo)文件中,此時(shí)還有一部分?jǐn)?shù)據(jù)包停留在中間數(shù)據(jù)處理器中,這一部分?jǐn)?shù)據(jù)包已經(jīng)從源文件中分離但尚未寫(xiě)入所述目標(biāo)文件中,但這一部分?jǐn)?shù)據(jù)包已不在所需要的閾值圍之內(nèi),因此對(duì)于停留在中間數(shù)據(jù)處理器中的這一部分的數(shù)據(jù)包可以由所述文件合成器控制直接丟棄,而不再需要中間數(shù)據(jù)處理器通過(guò)偽造后續(xù)數(shù)據(jù)來(lái)推動(dòng)停留在所述中間數(shù)據(jù)處理器中已分離的數(shù)據(jù)包進(jìn)入文件合成器,使得文件分離器和中間處理環(huán)節(jié)的功能更單一。本發(fā)明實(shí)施中把對(duì)文件的截取操作Trim放在文件合成器端來(lái)完成對(duì)所述文件分離器傳輸數(shù)據(jù)的截取操作,所述文件分離器從源文件中獲取數(shù)據(jù),并對(duì)所述獲取到的數(shù)據(jù)進(jìn)行分離得到數(shù)據(jù)包,通過(guò)若干個(gè)數(shù)據(jù)傳送通道將所述分離得到的數(shù)據(jù)包傳送給中間數(shù)據(jù)*處理器,所述中間數(shù)據(jù)處理器將所述文件分離器分離得到的數(shù)據(jù)包進(jìn)行解碼、處理、編碼處理后傳輸給文件合成器,所述文件合成器接收從源文件分離得到的數(shù)據(jù)包,并將所述數(shù)據(jù)包寫(xiě)入到目標(biāo)文件,同時(shí)統(tǒng)計(jì)寫(xiě)入目標(biāo)文件的數(shù)據(jù)量或者當(dāng)前接收到的數(shù)據(jù)包包括的時(shí)間戳,根據(jù)預(yù)置的閾值進(jìn)行匹配。當(dāng)所述文件合成器判斷出所述接收模塊接收到的數(shù)據(jù)包的數(shù)據(jù)量達(dá)到預(yù)置的數(shù)據(jù)量閾值或所述接收模塊當(dāng)前接收到的數(shù)據(jù)包包括的時(shí)間戳與預(yù)置的時(shí)間截取閾值一致時(shí),可以判定所述文件合成器滿足截取停止條件,所述文件合成器在滿足截取停止條件吋,停止將所述接收到的數(shù)據(jù)包寫(xiě)入所述目標(biāo)文件中,并發(fā)送停止消息至所述文件分離器,所述文件分離器在接收到所述停止消息后停止從源文件分離得到數(shù)據(jù)包。所述文件合成器在滿足截取停止條件時(shí),所述文件合成器停止將所述接收到的數(shù)據(jù)包繼續(xù)寫(xiě)入所述目標(biāo)文件中,此時(shí)還有一部分?jǐn)?shù)據(jù)包停留在中間數(shù)據(jù)處理器中,這一部分的數(shù)據(jù)包是已經(jīng)從源文件分離但尚未寫(xiě)入所述目標(biāo)文件中,但這一部分停留在中間數(shù)據(jù)處理器中的數(shù)據(jù)包已不在所需要的閾值之內(nèi),因此對(duì)于這一部分?jǐn)?shù)據(jù)包可以由所述文件合成器控制直接丟棄,不再需要中間數(shù)據(jù)處理器偽造后繼的數(shù)據(jù)來(lái)推動(dòng)停留在所述中間數(shù)據(jù)處理器中的已分離數(shù)據(jù)包進(jìn)入文件合成器,這樣就減少了文件分離器和中間數(shù)據(jù)處理器的復(fù)雜度,使得文件分離器和中間處理環(huán)節(jié)的功能更單一,從而可以精確地控制輸出文件的大小,提升了用戶體驗(yàn)。請(qǐng)參見(jiàn)圖3,圖3為本發(fā)明媒體數(shù)據(jù)截取裝置的第一實(shí)施例的結(jié)構(gòu)示意圖。所述裝置包括接收模塊10、寫(xiě)入模塊20、停止模塊30,其中
所述接收模塊10,用于接收從源文件分離得到的數(shù)據(jù)包;
具體的,所述接收模塊10用于接收從源文件分離得到的數(shù)據(jù)包,所述數(shù)據(jù)包是文件分離器從源文件中分離得到的,并通過(guò)若干個(gè)數(shù)據(jù)傳送通道傳送給中間數(shù)據(jù)處理器,所述中間數(shù)據(jù)處理器對(duì)所述分離得到的數(shù)據(jù)包進(jìn)行解碼、處理、編碼處理后傳輸給所述文件合成器,也就是說(shuō)所述接收模塊10接收的數(shù)據(jù)包是所述文件分離器從源文件中分離得到的數(shù)據(jù)包。所述寫(xiě)入模塊20,用于根據(jù)所述接收模塊10接收到的數(shù)據(jù)包,并將所述數(shù)據(jù)包寫(xiě)入目標(biāo)文件中;
具體的,所述寫(xiě)入模塊20根據(jù)所述接收模塊10接收到的數(shù)據(jù)包,并對(duì)所述接收到的數(shù)據(jù)加上數(shù)據(jù)頭并經(jīng)過(guò)均勻交錯(cuò),順序地寫(xiě)入目標(biāo)文件,本發(fā)明實(shí)施例中所述目標(biāo)文件就是指轉(zhuǎn)碼生成的結(jié)果文件,比如用戶要把ー個(gè)MP4文件轉(zhuǎn)換AVI文件,這個(gè)轉(zhuǎn)碼生成的AVI文件就是所述的目標(biāo)文件。所述停止模塊30,用于根據(jù)所述寫(xiě)入模塊20寫(xiě)入的數(shù)據(jù)包,在滿足截取停止條件時(shí),停止將接收到的數(shù)據(jù)包寫(xiě)入所述目標(biāo)文件中。具體的,本發(fā)明實(shí)施例中的文件合成器預(yù)置了數(shù)據(jù)量閾值或時(shí)間截取閾值,所述文件合成器根據(jù)所述預(yù)置的閾值來(lái)判斷所述接收模塊10接收到的數(shù)據(jù)包的數(shù)據(jù)量是否達(dá)到預(yù)置的數(shù)據(jù)量閾值或者所述接收模塊10接收到當(dāng)前數(shù)據(jù)包包括的時(shí)間戳是否與預(yù)置的時(shí)間截取閾值一致,當(dāng)所述接收模塊10接收到的數(shù)據(jù)包的數(shù)據(jù)量達(dá)到預(yù)置的數(shù)據(jù)量閾值或所述接收模塊10接收到的數(shù)據(jù)包包括的時(shí)間戳與預(yù)置的時(shí)間截取閾值一致吋,滿足截取停止條件,所述停止模塊30停止將接收到的數(shù)據(jù)包寫(xiě)入所述目標(biāo)文件中,同時(shí)所述文件合成器向所述文件分離器發(fā)送停止消息,所述文件分離器在接收到所述停止消息后停止從 源文件分離得到數(shù)據(jù)包,同時(shí)所述文件合成器控制丟棄所述文件分離器已經(jīng)從源文件中分離但未寫(xiě)入到所述目標(biāo)文件中的數(shù)據(jù)包。本發(fā)明實(shí)施例中接收模塊10接收從源文件分離得到的數(shù)據(jù)包,通過(guò)寫(xiě)入模塊30將所述數(shù)據(jù)包寫(xiě)入目標(biāo)文件中,同時(shí)統(tǒng)計(jì)寫(xiě)入目標(biāo)文件的數(shù)據(jù)量或者當(dāng)前接收到的數(shù)據(jù)包包括的時(shí)間戳,根據(jù)預(yù)置的閾值進(jìn)行匹配,當(dāng)所述接收模塊10接收到的數(shù)據(jù)包的數(shù)據(jù)量達(dá)到預(yù)置的數(shù)據(jù)量閾值或所述接收模塊10接收到的數(shù)據(jù)包包括的時(shí)間戳與預(yù)置的時(shí)間截取閾值一致吋,滿足截取停止條件,當(dāng)所述文件合成器在滿足截取停止條件時(shí),所述停止模塊30停止將接收到的數(shù)據(jù)包繼續(xù)寫(xiě)入所述目標(biāo)文件中,同時(shí)所述文件合成器向所述文件分離器發(fā)送停止消息,所述文件分離器在接收到所述停止消息后停止從源文件分離得到數(shù)據(jù)包。本發(fā)明實(shí)施例中所述滿足截取停止條件包括了接收模塊10接收到的數(shù)據(jù)包的數(shù)據(jù)量是否達(dá)到預(yù)置的數(shù)據(jù)量閾值,當(dāng)達(dá)到預(yù)置的數(shù)據(jù)量閾值時(shí),滿足截取停止條件或者所述接收模塊10接收到的數(shù)據(jù)包包括的時(shí)間戳是否與預(yù)置的時(shí)間截取閾值一致,當(dāng)為一致吋,滿足截取停止條件,在滿足截取停止條件時(shí),所述停止模塊30停止將接收到的數(shù)據(jù)包寫(xiě)入所述目標(biāo)文件中,并向所述文件分離器發(fā)送停止消息,所述文件分離器在接收到所述停止消息后停止從源文件分離得到數(shù)據(jù)包。所述文件合成器在滿足截取停止條件時(shí),所述停止模塊30停止將接收到的數(shù)據(jù)包寫(xiě)入所述目標(biāo)文件中,表明所述文件合成器已經(jīng)收到的所有需要的數(shù)據(jù),此時(shí)還有一部分?jǐn)?shù)據(jù)包停留在中間數(shù)據(jù)處理器中,這一部分?jǐn)?shù)據(jù)包是已經(jīng)從源文件中分離尚未寫(xiě)入到所述目標(biāo)文件,且這一部分?jǐn)?shù)據(jù)包已不在所需要的閾值范圍之內(nèi),因此對(duì)于這一部分的數(shù)據(jù)包可以由所述文件合成器控制直接丟棄,并不需要中間數(shù)據(jù)處理器偽造后繼的數(shù)據(jù)來(lái)推動(dòng)停留在中間數(shù)據(jù)處理器中的已分離數(shù)據(jù)包進(jìn)入文件合成器,使得文件分離器和中間處理環(huán)節(jié)的功能更單一,可以精確地控制輸出文件的大小,提升了用戶體驗(yàn)。請(qǐng)參見(jiàn)圖4,為本發(fā)明媒體數(shù)據(jù)截取裝置的第二實(shí)施例的結(jié)構(gòu)示意圖。所述媒體數(shù)據(jù)截取裝置包括上述媒體截取裝置的第一實(shí)施中的接收模塊10、寫(xiě)入模塊20、停止模塊30,本實(shí)施例中,所述媒體數(shù)據(jù)截取裝置進(jìn)ー步的包括發(fā)送單元40、控制單元50,其中
所述發(fā)送単元40,用于向文件分離器發(fā)送停止消息,所述文件分離器在接收到所述停止消息后停止從源文件分離得到數(shù)據(jù)包;具體的,本發(fā)明實(shí)施例中的文件合成器預(yù)置了數(shù)據(jù)量閾值或者時(shí)間截取閾值,當(dāng)所述接收模塊10接收到的數(shù)據(jù)包的數(shù)據(jù)量達(dá)到了預(yù)置的數(shù)據(jù)量閾值時(shí)或者所述接收模塊10接收到的數(shù)據(jù)包包括的時(shí)間戳與預(yù)置的時(shí)間截取閾值一致時(shí),可以判斷滿足截取停止條件,所述文件合成器在滿足截取停止條件時(shí),所述停止模塊30停止將接收到的數(shù)據(jù)包寫(xiě)入所述目標(biāo)文件中,并通過(guò)所述發(fā)送単元40向所述文件分離器發(fā)送停止消息,所述文件分離器在接收到所述發(fā)送単元40發(fā)送的停止消息時(shí)停止從源文件分離得到數(shù)據(jù)包。所述控制単元50,用于控制丟棄所述文件分離器已經(jīng)從源文件截取但未寫(xiě)入到所述目標(biāo)文件的數(shù)據(jù)包。具體的,本發(fā)明實(shí)施例中當(dāng)所述文件合成器在滿足截取停止條件時(shí),停止模塊30停止將接收到的數(shù)據(jù)包寫(xiě)入所述目標(biāo)文件中,同時(shí)所述發(fā)送單元40向所述文件分離器發(fā)送停止消息,所述文件分離器在接收到所述停止消息后停止從源文件分離得到數(shù)據(jù)包,此時(shí)還有一部分?jǐn)?shù)據(jù)包停留在中間數(shù)據(jù)處理器中,所述停留在中間數(shù)據(jù)處理器中的數(shù)據(jù)包是已經(jīng)從源文件分離但尚未通過(guò)寫(xiě)入模塊30寫(xiě)入所述目標(biāo)文件中的數(shù)據(jù)包,但這一部分?jǐn)?shù) 據(jù)包并不是在截取閾值范圍內(nèi),因此對(duì)于停留在所述中間數(shù)據(jù)處理器的這一部分的數(shù)據(jù)包,可以在所述發(fā)送単元40在發(fā)出停止消息之后,通過(guò)控制単元50控制丟棄所述文件分離器已經(jīng)從源文件分離但未寫(xiě)入所述目標(biāo)文件的數(shù)據(jù)包,而不再需要所述中間數(shù)據(jù)處理器通過(guò)偽造后續(xù)數(shù)據(jù)來(lái)推動(dòng)停留在所述中間數(shù)據(jù)處理器中已分離的數(shù)據(jù)包進(jìn)入文件合成器,減少文件分離器和中間數(shù)據(jù)處理器的復(fù)雜性。所述停止模塊30進(jìn)ー步包括判斷單元301、停止單元302,其中
所述判斷単元301,用于判斷所述接收模塊10接收到的數(shù)據(jù)包的數(shù)據(jù)量是否達(dá)到預(yù)置的數(shù)據(jù)量閾值,或者用于判斷所述接收模塊10接收到數(shù)據(jù)包包括的時(shí)間戳是否與預(yù)置的時(shí)間截取閾值一致;
具體的,本發(fā)明實(shí)施例中的接收模塊10接收從源文件分離得到的數(shù)據(jù)包,通過(guò)寫(xiě)入模塊20將所述數(shù)據(jù)包寫(xiě)入目標(biāo)文件中,并統(tǒng)計(jì)所述接收模塊10接收的數(shù)據(jù)量或者所述接收模塊10接收的數(shù)據(jù)包包括的時(shí)間戳,根據(jù)預(yù)置的閾值進(jìn)行匹配,所述判斷単元301用于判斷所述接收模塊10接收到的數(shù)據(jù)包的數(shù)據(jù)量是否達(dá)到預(yù)置的數(shù)據(jù)量閾值,或者所述接收模塊10接收到數(shù)據(jù)包包括的時(shí)間戳是否與預(yù)置的時(shí)間截取閾值一致,若所述判斷単元301判斷所述接收模塊10接收到的數(shù)據(jù)包的數(shù)據(jù)量達(dá)到預(yù)置的數(shù)據(jù)量閾值,或者所述接收模塊10接收到數(shù)據(jù)包包括的時(shí)間戳與預(yù)置的時(shí)間截取閾值一致吋,則滿足截取停止條件,所述文件合成器在滿足截取停止條件時(shí),所述停止模塊30停止將接收到的數(shù)據(jù)包繼續(xù)寫(xiě)入所述目標(biāo)文件中。需要說(shuō)明的是,本發(fā)明實(shí)施例中當(dāng)所述文件合成器在滿足截取停止條件吋,停止模塊30停止將接收到的數(shù)據(jù)包寫(xiě)入到所述目標(biāo)文件中,此時(shí)還有一部分?jǐn)?shù)據(jù)包停留在中間數(shù)據(jù)處理器中,所述停留在中間數(shù)據(jù)處理器中的數(shù)據(jù)包是已經(jīng)從源文件分離但尚未通過(guò)寫(xiě)入模塊20寫(xiě)入到所述目標(biāo)文件的數(shù)據(jù)包,但停留在中間數(shù)據(jù)處理器中的這部分?jǐn)?shù)據(jù)包并不是在截取的范圍內(nèi),因此對(duì)于停留在中間數(shù)據(jù)處理器的這部分?jǐn)?shù)據(jù)包,可以由所述文件合成器在發(fā)出停止消息之后控制丟棄,而不再需要中間數(shù)據(jù)處理器通過(guò)偽造后續(xù)數(shù)據(jù)來(lái)推動(dòng)停留已分離數(shù)據(jù)包進(jìn)入文件合成器,這樣就減少文件分離器和中間處理環(huán)節(jié)的復(fù)雜性。
所述停止単元302,用于根據(jù)所述判斷単元301的判斷結(jié)果為數(shù)據(jù)包的數(shù)據(jù)量達(dá)到預(yù)置的數(shù)據(jù)量閾值或者數(shù)據(jù)包包括的時(shí)間戳與預(yù)置的時(shí)間截取閾值一致,停止將接收到的數(shù)據(jù)包寫(xiě)入到所述目標(biāo)文件中。具體的,所述判斷単元301用于判斷所述接收模塊10接收到的數(shù)據(jù)包的數(shù)據(jù)量是否達(dá)到預(yù)置的數(shù)據(jù)量閾值或者所述接收模塊10接收到的數(shù)據(jù)包包括的時(shí)間戳與預(yù)置的時(shí)間截取閾值是否一致,所述停止単元302,用于根據(jù)所述判斷単元301的判斷結(jié)果為數(shù)據(jù)包的數(shù)據(jù)量達(dá)到預(yù)置的數(shù)據(jù)量閾值或者數(shù)據(jù)包包括的時(shí)間戳與預(yù)置的時(shí)間截取閾值一致,停止將接收到的數(shù)據(jù)包寫(xiě)入到所述目標(biāo)文件中,同時(shí)所述文件合成器通過(guò)發(fā)送単元40向所述文件分離器發(fā)送停止消息,所述文件分離器在接收到所述停止消息后停止從源文件分離得到數(shù)據(jù)包。 本發(fā)明實(shí)施例中的所述文件合成器通過(guò)接收模塊10接收從源文件分離得到的數(shù)據(jù)包,并通過(guò)所述寫(xiě)入模塊20將所述接收模塊10接收到的數(shù)據(jù)包寫(xiě)入目標(biāo)文件中,并根據(jù)文件合成器預(yù)置的數(shù)據(jù)量閾值或者時(shí)間截取閾值來(lái)判斷所述接收到的數(shù)據(jù)包的數(shù)據(jù)量是否達(dá)到預(yù)置的數(shù)據(jù)量閾值,或者文件合成器接收到的數(shù)據(jù)包包括的時(shí)間戳是否與預(yù)置的時(shí)間截取閾值一致,當(dāng)所述接收到的數(shù)據(jù)包的數(shù)據(jù)量達(dá)到預(yù)置的數(shù)據(jù)量閾值時(shí),或者當(dāng)所述當(dāng)前接收到的數(shù)據(jù)包包括的時(shí)間戳與預(yù)置的時(shí)間截取閾值一致吋,則滿足截取停止條件,所述停止模塊30則停止將接收到的數(shù)據(jù)包寫(xiě)入到所述目標(biāo)文件中,同時(shí)所述文件合成器通過(guò)發(fā)送単元40向所述文件分離器發(fā)送停止消息。所述文件分離器在接收到所述停止消息后停止從源文件分離得到數(shù)據(jù)包,此時(shí)還有一部分?jǐn)?shù)據(jù)包停留在中間數(shù)據(jù)處理器中,所述停留在中間數(shù)據(jù)處理器的數(shù)據(jù)包是已經(jīng)從源文件分離尚未通過(guò)寫(xiě)入模塊20寫(xiě)入所述目標(biāo)文件的數(shù)據(jù)包,但這一部分停留在中間數(shù)據(jù)處理器中的數(shù)據(jù)包并不在截取的閾值范圍內(nèi),因此對(duì)于停留在中間數(shù)據(jù)處理器的這一部分的數(shù)據(jù)包,可以在所述發(fā)送単元40發(fā)出停止消息之后所述中間數(shù)據(jù)處理器通過(guò)偽造后續(xù)數(shù)據(jù)來(lái)推動(dòng)停留在中間數(shù)據(jù)處理器中的已分離的數(shù)據(jù)包進(jìn)入文件合成器,這樣就減少文件分離器和中間數(shù)據(jù)處理器的復(fù)雜性,使得文件分離器和中間數(shù)據(jù)處理器的功能更單一,從而可以精確地控制輸大小,提升用戶體驗(yàn)。請(qǐng)參見(jiàn)圖5,圖5為本發(fā)明媒體數(shù)據(jù)截取系統(tǒng)的實(shí)施例示意圖。所述媒體數(shù)據(jù)截取系統(tǒng)包括文件分離器01、中間數(shù)據(jù)處理器02、文件合成器03,其中,
所述文件分離器01,用于從源文件中分離得到數(shù)據(jù)包;
具體的,所述文件分離器01從源文件中獲取數(shù)據(jù),并對(duì)所述獲取到的數(shù)據(jù)進(jìn)行分離得到數(shù)據(jù)包,所述經(jīng)過(guò)文件分離器01分離得到的數(shù)據(jù)包經(jīng)過(guò)若干個(gè)數(shù)據(jù)傳送通道傳送給所述中間數(shù)據(jù)處理器02。所述中間數(shù)據(jù)處理器02,用于將所述文件分離器01分離得到的數(shù)據(jù)進(jìn)行解碼、處理以及編碼并向所述文件合成器03輸出結(jié)果;
具體的,所述中間數(shù)據(jù)處理器02用于接收所述文件分離器01傳輸?shù)臄?shù)據(jù)包,并對(duì)所述數(shù)據(jù)進(jìn)行解碼、處理、編碼后傳輸給所述文件合成器03。所述文件合成器03包括上述實(shí)施例3和實(shí)施例如4所述的媒體數(shù)據(jù)截取裝置。通過(guò)以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明可借助軟件加必需的硬件平臺(tái)的方式來(lái)實(shí)現(xiàn),當(dāng)然也可以全部通過(guò)硬件來(lái)實(shí)施?;谶@樣的理解,本發(fā)明的技術(shù)方案對(duì)背景技術(shù)做出貢獻(xiàn)的全部或者部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品可以存儲(chǔ)在存儲(chǔ)介質(zhì)中,如ROM/RAM、磁碟、光盤(pán)等,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例或者實(shí)施例的某些部分所述的方法。 以上所揭露的僅為本發(fā)明較佳實(shí)施例而已,當(dāng)然不能以此來(lái)限定本發(fā)明之權(quán)利范圍,本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例的全部或部分流程,并依本發(fā)明權(quán)利要求所作的等同變化,仍屬于發(fā)明所涵蓋的范圍。
權(quán)利要求
1.ー種媒體數(shù)據(jù)截取的方法,其特征在于,包括 文件合成器接收從源文件分離得到的數(shù)據(jù)包; 文件合成器將所述數(shù)據(jù)包寫(xiě)入到目標(biāo)文件; 文件合成器在滿足截取停止條件時(shí),停止將接收到的數(shù)據(jù)包寫(xiě)入到所述目標(biāo)文件中。
2.如權(quán)利要求I所述的方法,其特征在于,所述滿足截取停止條件包括 文件合成器判斷所述接收到的數(shù)據(jù)包的數(shù)據(jù)量是否達(dá)到預(yù)置的數(shù)據(jù)量閾值,當(dāng)達(dá)到預(yù)置的數(shù)據(jù)量閾值時(shí),滿足截取停止條件;或者 文件合成器判斷當(dāng)前接收到的數(shù)據(jù)包包括的時(shí)間戳是否與預(yù)置的時(shí)間截取閾值一致,當(dāng)為一致吋,滿足截取停止條件。
3.如權(quán)利要求2所述的方法,其特征在于,在接收從源文件分離得到的數(shù)據(jù)包之前,還包括 文件分離器從源文件中分離得到數(shù)據(jù)包; 中間數(shù)據(jù)處理器將所述文件分離器分離得到的數(shù)據(jù)進(jìn)行解碼、處理以及編碼并向文件合成器輸出結(jié)果。
4.如權(quán)利要求3所述的方法,其特征在于,所述文件合成器在滿足截取停止條件時(shí),停止將接收到的數(shù)據(jù)包寫(xiě)入到所述目標(biāo)文件中還包括 文件合成器向文件分離器發(fā)送停止消息,所述文件分離器在接收到所述停止消息后停止從源文件分離得到數(shù)據(jù)包。
5.如權(quán)利要求4所述的方法,其特征在于,所述文件合成器在滿足截取停止條件時(shí),停止將接收到的數(shù)據(jù)包寫(xiě)入到所述目標(biāo)文件中還包括 文件合成器控制丟棄所述文件分離器已經(jīng)從源文件截取但未寫(xiě)入到所述目標(biāo)文件的數(shù)據(jù)包。
6.ー種媒體數(shù)據(jù)截取裝置,其特征在于,包括 接收模塊,用于接收從源文件分離得到的數(shù)據(jù)包; 寫(xiě)入模塊,用于根據(jù)所述接收模塊接收到的數(shù)據(jù)包,并將所述數(shù)據(jù)包寫(xiě)入到目標(biāo)文件中; 停止模塊,用于根據(jù)所述寫(xiě)入模塊寫(xiě)入的數(shù)據(jù)包,在滿足截取停止條件時(shí),停止將接收到的數(shù)據(jù)包寫(xiě)入到所述目標(biāo)文件中。
7.如權(quán)利要求6所述的裝置,其特征在于,所述停止模塊包括 判斷単元,用于判斷所述接收模塊接收到的數(shù)據(jù)包的數(shù)據(jù)量是否達(dá)到預(yù)置的數(shù)據(jù)量閾值或者用于判斷所述接收模塊接收到數(shù)據(jù)包包括的時(shí)間戳是否與預(yù)置的時(shí)間截取閾值ー致; 停止単元,根據(jù)所述判斷単元的判斷結(jié)果為數(shù)據(jù)包的數(shù)據(jù)量達(dá)到預(yù)置的數(shù)據(jù)量閾值或者數(shù)據(jù)包包括的時(shí)間戳與預(yù)置的時(shí)間截取閾值一致,停止將接收到的數(shù)據(jù)包寫(xiě)入到所述目標(biāo)文件中。
8.如權(quán)利要求7所述的裝置,其特征在于,還包括; 發(fā)送單元,用于向文件分離器發(fā)送停止消息,文件分離器在接收到所述停止消息后停止從源文件分離得到數(shù)據(jù)包。
9.如權(quán)利要求8所述的裝置,其特征在于,還包括控制單元,用于控制丟棄所述文件分離器已經(jīng)從源文件分離但未寫(xiě)入到所述目標(biāo)文件的數(shù)據(jù)包。
10.ー種媒體數(shù)據(jù)截取的系統(tǒng),其特征在于,包括文件分離器、中間數(shù)據(jù)處理器以及文件合成器,其中, 所述文件分離器,用于從源文件中分離得到數(shù)據(jù)包; 所述中間數(shù)據(jù)處理器,用于將所述文件分離器分離得到的數(shù)據(jù)進(jìn)行解碼、處理以及編碼并向所述文件合成器輸出結(jié)果; 所述文件合成器具體包括上述權(quán)利要求6至9任一項(xiàng)所述的媒體數(shù)據(jù)截取裝置。
全文摘要
本發(fā)明公開(kāi)了一種媒體數(shù)據(jù)截取方法、裝置及系統(tǒng),其中一種媒體數(shù)據(jù)截取方法包括如下步驟文件合成器接收從源文件分離得到的數(shù)據(jù)包;文件合成器將所述數(shù)據(jù)包寫(xiě)入到目標(biāo)文件;文件合成器在滿足截取停止條件時(shí),停止將接收到的數(shù)據(jù)包寫(xiě)入到所述目標(biāo)文件中。本發(fā)明的目的在于提供一種媒體數(shù)據(jù)截取方法、裝置及系統(tǒng),能有效控制輸出文件的大小,精確地實(shí)現(xiàn)截取Trim的功能,提升了用戶體驗(yàn)。
文檔編號(hào)G06F17/30GK102654884SQ20121012575
公開(kāi)日2012年9月5日 申請(qǐng)日期2012年4月26日 優(yōu)先權(quán)日2012年4月26日
發(fā)明者蔡超林 申請(qǐng)人:深圳市萬(wàn)興軟件有限公司