專利名稱:實現(xiàn)多媒體信號流實時回放的方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及多媒體播放技術(shù),特別涉及一種實現(xiàn)多媒體信號流實時回放 的方法、 一種實現(xiàn)多媒體信號流實時回放的系統(tǒng)。
背景技術(shù):
現(xiàn)有PC Camera具有一攝像頭,用于實現(xiàn)視頻釆集。PC Camera通過通 用串行總線(USB)接口 、串口、并口等接口與PC機相連,并將采集到的 視頻信號輸出給PC機,通過運行于PC機操作系統(tǒng)中的設(shè)備驅(qū)動程序傳輸 至對應(yīng)的應(yīng)用程序,例如QQ、 MSN等,最終由應(yīng)用程序進行視頻信號的播 放。
通常情況下,不同PC Camera對應(yīng)的設(shè)備驅(qū)動程序是由其設(shè)計生產(chǎn)商提 供的。設(shè)備驅(qū)動程序隸屬于PC Camera并位于操作系統(tǒng)的內(nèi)核驅(qū)動層(Kernel Level),在操作系統(tǒng)中完全代表了 PC Camera。不同PC Camera對應(yīng)的應(yīng)用 程序也可以是由其設(shè)計生產(chǎn)商提供的,且位于操作系統(tǒng)的應(yīng)用程序?qū)?(Application Level),運行應(yīng)用程序?qū)崿F(xiàn)視頻信號的播放則是根據(jù)微軟 (Microsoft)提供的直接顯示(Directshow)構(gòu)架來實現(xiàn)的。
但是,目前的所有PC Camera的設(shè)備驅(qū)動都是實時傳輸采集到的視頻信 號。這樣,在基于PC Camera實時聊天和實時監(jiān)控時,如果用戶稍有疏忽就 有可能錯過重要的視頻片斷。同理,基于相同的原理,通過各種音頻傳感器 實現(xiàn)音頻信號的實時播放,也存在該問題。
可見,現(xiàn)有技術(shù)只能夠?qū)崿F(xiàn)多媒體信號流,即音頻信號和視頻信號的實 時播放,在用戶稍有疏忽錯過音視頻片斷后無法再現(xiàn)。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明提供了一種實現(xiàn)多媒體信號流實時回放的方法、 一種 實現(xiàn)多媒體信號流實時回放的系統(tǒng),能夠?qū)崿F(xiàn)多媒體信號流的實時回放。
本發(fā)明提供的 一 種實現(xiàn)多媒體信號流實時回放的方法,包括
設(shè)備驅(qū)動程序?qū)⒔邮盏降拇シ哦嗝襟w信號流輸出給應(yīng)用程序進行播
放時,還將待播放多媒體信號流緩存至預(yù)設(shè)內(nèi)存空間;
根據(jù)接收到的回放控制信號,設(shè)備驅(qū)動程序屏蔽其接收的所述待播放多
媒體信號流,并將緩存在所述內(nèi)存空間中的多媒體信號流輸出給應(yīng)用程序播放。
所述接收待播放多媒體信號流之前,該方法進一步包括所述設(shè)備驅(qū)動 程序根據(jù)預(yù)先設(shè)置的實時回放長度和媒體信號格式申請對應(yīng)大小的內(nèi)存空間。
所述將待播放多媒體信號流緩存至預(yù)設(shè)內(nèi)存空間包括 設(shè)備驅(qū)動程序?qū)⒁曨l信號緩存至預(yù)設(shè)存儲指針所指向的所述內(nèi)存空間 中的對應(yīng)位置。
所述將待播放多媒體信號流緩存至預(yù)設(shè)內(nèi)存空間之前,該方法進一 步包
括
判斷所述內(nèi)存空間是否已滿,如果是,則先將存儲指針指向內(nèi)存空間中 的起始位置,然后執(zhí)行所述將視頻信號緩存至預(yù)設(shè)存儲指針所指向的所述內(nèi) 存空間中的對應(yīng)位置。
所述將待播放多媒體信號流緩存至預(yù)設(shè)內(nèi)存空間之后,該方法進一步包
括
根據(jù)輸入的存儲控制信號,設(shè)備驅(qū)動程序?qū)⒕彺嬖谒鰞?nèi)存空間的多媒 體信號流轉(zhuǎn)換為預(yù)設(shè)格式的多媒體文件,并存儲至硬盤空間。
所述設(shè)備驅(qū)動程序為個人計算機PC攝像機Camera驅(qū)動程序,所述多
媒體信號流為視頻信號。 所述設(shè)備驅(qū)動程序為音頻傳感器驅(qū)動程序,所述多媒體信號流為音頻信 本發(fā)明提供的另 一種實現(xiàn)多媒體信號流實時回放的方法,在設(shè)備驅(qū)動程
序與應(yīng)用程序之間設(shè)置過濾Filter驅(qū)動程序,該方法包括
設(shè)備驅(qū)動程序?qū)⒔邮盏降拇シ哦嗝襟w信號流,通過所述Filter驅(qū)動程 序輸出給應(yīng)用程序播放,并由所述Filter驅(qū)動程序?qū)⒃摱嗝襟w信號流緩存至 預(yù)設(shè)內(nèi)存空間;
根據(jù)回放控制模塊輸入的回放控制信號,所述Filter驅(qū)動程序屏蔽來自 所述設(shè)備驅(qū)動程序的待播放多媒體信號流,并將緩存在所述內(nèi)存空間中的多 媒體信號流輸出給應(yīng)用程序播放。
設(shè)備驅(qū)動程序接收待播放多媒體信號流之前,該方法進一步包括所述 過濾驅(qū)動程根據(jù)預(yù)先設(shè)置的實時回放長度和媒體信號格式申請對應(yīng)大小的 內(nèi)存空間。
所述將多媒體信號流緩存至所述內(nèi)存空間包括
Filter驅(qū)動程序?qū)⒁曨l信號緩存至預(yù)設(shè)存儲指針所指向的內(nèi)存空間中的 對應(yīng)位置。
所述將該視頻信號流緩存至內(nèi)存空間之前,該方法進一步包括 判斷所述內(nèi)存空間是否已滿,如果是,則先將存儲指針指向內(nèi)存空間中
的起始位置,然后執(zhí)行所述將視頻信號緩存至預(yù)設(shè)存儲指針所指向的內(nèi)存空
間中的對應(yīng)位置。
所述將該多媒體信號流緩存至所述內(nèi)存空間之后,該方法進一步包括 根據(jù)輸入的存儲控制信號,F(xiàn)ilter驅(qū)動程序?qū)⒕彺嬷了鰞?nèi)存空間的多 媒體信號流轉(zhuǎn)換為預(yù)設(shè)格式的多媒體文件,并存儲至硬盤空間。
所述設(shè)備驅(qū)動程序為個人計算機PC攝像機Camera驅(qū)動程序,所述多 媒體信號流為視頻信號。
所述設(shè)備驅(qū)動程序為音頻傳感器驅(qū)動程序,所述多媒體信號流為音頻信
本發(fā)明提供的一種實現(xiàn)多媒體信號流實時回放的系統(tǒng),該系統(tǒng)包括接 口模塊、設(shè)備驅(qū)動程序和應(yīng)用程序,其中,
所述接口模塊,用于接收外部輸入的多媒體信號流;
所述設(shè)備驅(qū)動程序,用于將所述接口模塊接收到的多媒體信號流輸出至 所述應(yīng)用程序;
所述應(yīng)用程序,用于播放接收到的多媒體信號流;
該系統(tǒng)還包括內(nèi)存和回放控制模塊,其中,
所述設(shè)備驅(qū)動程序進一 步將所述接口模塊接收到的多媒體信號緩存至
所述內(nèi)存中的預(yù)設(shè)內(nèi)存空間;
所述回放控制模塊,用于向所述設(shè)備驅(qū)動程序輸出回放控制信號;
所述設(shè)備驅(qū)動程序根據(jù)所述回放控制信號,屏蔽來自所述接口模塊的多
媒體信號流,并將緩存在所述內(nèi)存空間中的多媒體信號流輸出給應(yīng)用程序播放。
系統(tǒng)初始化時,所述設(shè)備驅(qū)動程序根據(jù)預(yù)先設(shè)置的實時回》文長度和々某體 信號格式申請對應(yīng)大小的內(nèi)存空間。 該系統(tǒng)進一步包括硬盤,
所述回放控制模塊進一步向所述設(shè)備驅(qū)動程序輸出存儲控制信號; 所述設(shè)備驅(qū)動程序根據(jù)所述存儲控制信號,將緩存在所述內(nèi)存空間的中 多媒體信號流轉(zhuǎn)換為多媒體文件,并存儲至所述硬盤。
所述設(shè)備驅(qū)動程序為個人計算機PC攝像機Camera驅(qū)動程序,所述多 媒體信號流為視頻信號。
所述設(shè)備驅(qū)動程序為音頻傳感器驅(qū)動程序,所述多媒體信號流為音頻信號。
本發(fā)明提供的另 一種實現(xiàn)多媒體信號流實時回放的系統(tǒng),該系統(tǒng)包括 接口模塊、設(shè)備驅(qū)動程序和應(yīng)用程序,其中,
所述接口模塊,用于接收外部輸入的多媒體信號流; 該系統(tǒng)還包括內(nèi)存、回放控制模塊和過濾Filter驅(qū)動程序,其中,
所述設(shè)備驅(qū)動程序,用于將所述接口模塊接收到的多媒體信號流通過所
述Filter驅(qū)動程序輸出至所述應(yīng)用程序;
所述應(yīng)用程序,用于播放接收到的多媒體信號流;
所述Filter驅(qū)動程序,用于將來自所述設(shè)備驅(qū)動程序的多媒體信號復(fù)制
并緩存至所述內(nèi)存中的預(yù)設(shè)內(nèi)存空間;
所述回放控制模塊,用于向所述Filter驅(qū)動程序輸出回放控制信號; 所述Filter驅(qū)動程序根據(jù)所述回放控制信號,屏蔽來自所述設(shè)備驅(qū)動程
序的多媒體信號流,并將緩存在所述內(nèi)存空間中的多媒體信號流輸出給應(yīng)用
程序播放。
系統(tǒng)初始化時,所述Filter驅(qū)動程序根據(jù)預(yù)先設(shè)置的實時回放長度和々某 體信號格式申請對應(yīng)大小的內(nèi)存空間。 該系統(tǒng)進一步包括硬盤,
所述回放控制模塊進一 步向所述Filter驅(qū)動程序輸出存儲控制信號; 所述Filter驅(qū)動程序根據(jù)所述存儲控制信號,將緩存在所述內(nèi)存空間的 中多媒體信號流轉(zhuǎn)換為多媒體文件,并存儲至所述硬盤。
所述設(shè)備驅(qū)動程序為個人計算機PC攝4象機Camera驅(qū)動程序,所述多 媒體信號流為視頻信號。
所述設(shè)備驅(qū)動程序為音頻傳感器驅(qū)動程序,所述多媒體信號流為音頻信
由上述技術(shù)方案可見,本發(fā)明由驅(qū)動程序?qū)⒍嗝襟w信號流緩存至預(yù)設(shè)的 內(nèi)存空間中,并能夠根據(jù)回放控制信號將緩存的多媒體信號流傳輸至應(yīng)用程 序進行實時回放。因此,在視頻會議、實時監(jiān)控等應(yīng)用領(lǐng)域中,不會由于用 戶的疏忽所導(dǎo)致的重要片斷丟失而無法再現(xiàn)。而且,本發(fā)明中是由驅(qū)動程序 來驅(qū)動多媒體信號流的回放,無需對現(xiàn)有應(yīng)用程序進行改進,具有較高的通 用性且易于推廣。
進 一 步地,驅(qū)動多媒體信號流的回放可以由設(shè)備驅(qū)動程序和通用的 Filter驅(qū)動程序來實現(xiàn),如果由Filter驅(qū)動程序來實現(xiàn),則更加無需改進已有
的設(shè)備驅(qū)動程序,從而更進一步地提高了通用性。
圖1為本發(fā)明實施例一中實現(xiàn)多媒體信號流實時回放的方法的示例性 流程圖。
圖2為本發(fā)明實施例一中實現(xiàn)多媒體信號流實時回放的系統(tǒng)結(jié)構(gòu)示意圖。
圖3為本發(fā)明實施例一中設(shè)備驅(qū)動程序的工作流程示意圖。 圖4為本發(fā)明實施例 一 中回放控制模塊的工作流程示意圖。 圖5為本發(fā)明實施例二中實現(xiàn)多媒體信號流實時回放的方法的示例性 流程圖。
圖6為本發(fā)明實施例二中實現(xiàn)多媒體信號流實時回放的系統(tǒng)結(jié)構(gòu)示意圖。
圖7為本發(fā)明實施例二中過濾驅(qū)動程序的工作流程示意圖。 圖8為本發(fā)明實施例二中回放控制模塊的工作流程示意圖。
具體實施例方式
為使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下參照附圖并舉 實施例,對本發(fā)明進一步詳細說明。
本發(fā)明預(yù)先設(shè)置 一 定大小的內(nèi)存空間,本發(fā)明將該內(nèi)存空間稱為回放實 現(xiàn)模塊,由該模塊緩存由例如USB接口等接口模塊接收自外部多媒體設(shè)備 的多媒體信號流。本發(fā)明在操作系統(tǒng)的應(yīng)用程序?qū)舆€設(shè)置了回放控制模塊, 在回放控制模塊的控制下,回放實現(xiàn)模塊中緩存的多媒體信號流能夠輸出至 應(yīng)用程序進行播放,從而能夠?qū)崿F(xiàn)多媒體信號流的實時回放。
其中,回放實現(xiàn)模塊可以是由設(shè)備驅(qū)動程序在系統(tǒng)初始化時,根據(jù)預(yù)先
設(shè)置的實時回放長度和媒體信號格式申請對應(yīng)大小的內(nèi)存空間,該內(nèi)存空間
即可作為回放實現(xiàn)模塊,且由設(shè)備驅(qū)動程序根據(jù)回放控制模塊的控制信號對
由內(nèi)存空間,即對回放實現(xiàn)模塊進行管理;由于設(shè)備驅(qū)動程序是由例如PC Camera等多媒體設(shè)備的設(shè)計生產(chǎn)商提供的,僅僅對應(yīng)特定的多媒體設(shè)備, 因此,為了提高本發(fā)明技術(shù)方案的通用性,也可以在設(shè)備驅(qū)動程序與應(yīng)用程 序之間設(shè)置一通用的過濾(Filter)驅(qū)動程序,并由Filter驅(qū)動程序根據(jù)回放 控制模塊的控制信號對由內(nèi)存空間,即對回放實現(xiàn)模塊進行管理,這樣,無 論設(shè)備驅(qū)動程序針對何種多媒體設(shè)備,F(xiàn)ilter驅(qū)動程序均能夠?qū)崿F(xiàn)對多媒體 信號流的緩存從而實現(xiàn)多媒體信號流的實時回放。
下面,結(jié)合具體實施例并以媒體信號為視頻信號、設(shè)備驅(qū)動程序為PC Camera驅(qū)動程序為例,對本發(fā)明中的技術(shù)方案進行詳細說明。 實施例一
本實施例對PC Camera驅(qū)動程序進行功能拓展,由PC Camera驅(qū)動程 序驅(qū)動視頻信號流的實時回放,這樣任何使用該PC Camera驅(qū)動程序?qū)?yīng)的 PC Camera的應(yīng)用程序都可以實現(xiàn)視頻信號流的實時回放。
圖1為本發(fā)明中實現(xiàn)多媒體信號流實時回放的方法的示例性流程圖。如 圖1所示,該方法包括
步驟100,設(shè)置回放實現(xiàn)模塊。
本步驟中,可以是由PC Camera驅(qū)動程序在系統(tǒng)初始化時,根據(jù)預(yù)先設(shè) 置的實時回放長度和視頻信號格式申請對應(yīng)大小的內(nèi)存空間,該內(nèi)存空間即 可作為回放實現(xiàn)模塊。
步驟101, PC Camera驅(qū)動程序?qū)⒔涌谀K接收到的視頻信號流輸出給 應(yīng)用程序播放時,將該視頻信號流緩存至回放實現(xiàn)模塊。
其中,接口模塊接收到的視頻信號流可稱為待播放視頻信號流。
在執(zhí)行本步驟之前,PC Camera驅(qū)動程序先判斷應(yīng)用程序的視頻播放功 能是否已開啟,如果已開啟,則執(zhí)行本步驟,否則,等待視頻播放功能的開 啟。
本步驟中,PC Camera驅(qū)動程序是根據(jù)預(yù)設(shè)的存儲指針,將視頻信號緩 存至回放實現(xiàn)模塊中存儲指針所指向位置的。在將該視頻信號流復(fù)制并緩存 至回放實現(xiàn)模塊之前,可以先判斷回放實現(xiàn)模塊是否已滿,如果是,則先將 存儲指針指向回放實現(xiàn)模塊中的起始位置,然后將視頻信號流從該起始位置 進行緩存,替換已緩存在回放實現(xiàn)模塊中的視頻信號流。
步驟102,根據(jù)回放控制模塊輸入的回放控制信號,PC Camera驅(qū)動程
序屏蔽來自接口模塊的視頻信號流,并將緩存在回放實現(xiàn)模塊中的視頻信號 流輸出給應(yīng)用程序播放,實現(xiàn)視頻流的回力丈。
本步驟中,在應(yīng)用程序開始播放之后,可實時或周期性地判斷視頻流回 放是否結(jié)束,如果是,則返回步驟101。
至此,本流程結(jié)束。
實際應(yīng)用中,PC Camera驅(qū)動程序還根據(jù)回放控制模塊輸入的存儲控制 信號,將緩存至回放實現(xiàn)模塊的視頻信號流轉(zhuǎn)換為預(yù)設(shè)格式的視頻文件,并 存儲至對應(yīng)的硬盤空間,以實現(xiàn)視頻文件的錄制。
圖2為本發(fā)明實施例一中實現(xiàn)多媒體信號流實時回放的系統(tǒng)結(jié)構(gòu)示意 圖。如圖2所示,該系統(tǒng)包括接口模塊、PC Camera驅(qū)動程序、應(yīng)用程序, 該系統(tǒng)還包括位于系統(tǒng)內(nèi)核驅(qū)動層的回i文實現(xiàn)模塊、以及位于應(yīng)用程序?qū)?的回放控制模塊。
接口模塊,位于系統(tǒng)的內(nèi)核驅(qū)動層,用于接收外部PC Camera輸入的視
頻信號流。實際應(yīng)用中,接口模塊可以基于USB協(xié)議接收外部視頻信號流。 PC Camera驅(qū)動程序,位于系統(tǒng)的內(nèi)核驅(qū)動層,用于將接口才莫塊接收到
的視頻信號流輸出至應(yīng)用程序。同時,PC Camera驅(qū)動程序還將接口模塊接
收到的多媒體信號復(fù)制并緩存至所述回放實現(xiàn)模塊
應(yīng)用程序,位于系統(tǒng)的應(yīng)用程序?qū)?,用于播放接收到的視頻信號流。
回放控制模塊,用于向PC Camera驅(qū)動程序輸出回放控制信號。
此時,PC Camera驅(qū)動程序根據(jù)接收到的回放控制信號,屏蔽來自接口
模塊的多媒體信號流,并將緩存在回放實現(xiàn)模塊中的視頻信號流輸出給應(yīng)用
程序4番放,,人而實現(xiàn)實時回力文。
上述系統(tǒng)中,在系統(tǒng)初始化時,由PC Camera驅(qū)動程序根據(jù)預(yù)先設(shè)置的
實時回放長度和媒體信號格式申請對應(yīng)大小的內(nèi)存空間,該內(nèi)存空間即可作 為回放實現(xiàn)模塊。
如圖2所示的系統(tǒng)還可以包括硬盤(圖中未示出)。這種情況下,回放 控制模塊可根據(jù)用戶的指示,即用戶希望錄制視頻文件時,向PC Camera 驅(qū)動程序輸出存儲控制信號。PC Camera驅(qū)動程序根據(jù)接收到的存儲控制信 號,將緩存在所述回放實現(xiàn)模塊的中視頻信號流轉(zhuǎn)換為對應(yīng)格式的視頻文件 并存儲至硬盤,從而實現(xiàn)視頻文件的錄制。
下面,分別針對本實施例中PC Camera驅(qū)動程序和回放控制模塊的具體 工作流程,對本實施例中的技術(shù)方案進行進一步說明。
圖3為本發(fā)明實施例 一 中PC Camera驅(qū)動程序的工作流程示意圖。如圖 3所示,本實施例中PC Camera驅(qū)動程序的工作流程可包括
步驟300,在系統(tǒng)初始化時,根據(jù)預(yù)先設(shè)置的實時回放長度和視頻信號 格式申請對應(yīng)大小的內(nèi)存空間,該內(nèi)存空間即可作為回放實現(xiàn)模塊。
步驟301,判斷應(yīng)用程序的視頻播放功能是否已開啟,如果已開啟,則 執(zhí)行步驟302,否則,等待視頻播放功能的開啟。
步驟302,根據(jù)預(yù)設(shè)的存儲指針,將來自接口模塊的視頻信號流緩存至 回放實現(xiàn)模塊中存儲指針所指向的對應(yīng)位置。
步驟303,判斷回放實現(xiàn)模塊是否已滿,如果是,則執(zhí)行步驟304;否 則,執(zhí)行步驟305。
步驟304,將存儲指針指向回放實現(xiàn)模塊中的起始位置,然后返回步驟 302,將視頻信號流從該起始位置進行緩存,替換已緩存在回放實現(xiàn)模塊中 的視頻信號流。
步驟305,判斷是否接收到回放控制信號,如果是,則執(zhí)行步驟306, 否則,返回步驟302
步驟306,根據(jù)回放控制模塊輸入的回放控制信號,屏蔽來自接口模塊 的視頻信號流,并將緩存在回放實現(xiàn)模塊中的視頻信號流輸出給應(yīng)用程序播 》丈,實現(xiàn)^見頻流的回^L。
步驟307,判斷當前實時回放是否完畢,如果是,則執(zhí)行步驟308,否
則,繼續(xù)執(zhí)行本步驟。
步驟308,判斷回放控制模塊是否結(jié)束回放控制,即回放控制模塊是否 繼續(xù)輸出回放控制信號,如果結(jié)束,則返回步驟301,否則,繼續(xù)執(zhí)行本步驟。
至此,本流程結(jié)束。
圖4為本發(fā)明實施例 一 中回放控制模塊的工作流程示意圖。如圖4所示, 本實施例中回放控制模塊的工作流程包括
步驟400,系統(tǒng)初始化時,回放控制才莫塊啟動,接收用戶輸入的回放時 間長度和和視頻信號格式,并輸出給PC Camera驅(qū)動程序,以便PC Camera 驅(qū)動程序能夠獲知回放時間長度和和視頻信號才各式從而申請對應(yīng)大小的內(nèi) 存空間,該內(nèi)存空間即可作為回放實現(xiàn)模塊。
步驟401,判斷應(yīng)用程序的視頻播放功能是否已開啟,如果已開啟,則 執(zhí)行步驟402,否則,等待視頻播放功能的開啟。
步驟402,根據(jù)用戶的操作判斷是否需要輸出回放控制信號,如果需要, 則執(zhí)行步驟403,否則,繼續(xù)執(zhí)行本步驟。
步驟403,將回放控制信號輸出至PC Camera驅(qū)動程序。
至此,本流程結(jié)束。
以上是對本實施例中技術(shù)方案的詳細說明。在本實施例中,多媒體信號 流也可以為音頻信號流,對應(yīng)地,設(shè)備驅(qū)動程序則應(yīng)為音頻傳感器驅(qū)動程序。
由上述技術(shù)方案可見,本實施例由PC Camera驅(qū)動程序?qū)⒍嗝襟w信號流 緩存至預(yù)設(shè)的回放實現(xiàn)模塊中,并能夠根據(jù)回放控制信號將緩存的多媒體信 號流傳輸至應(yīng)用程序進行實時回放。因此,在坤見頻會議、實時監(jiān)控等應(yīng)用領(lǐng) 域中,不會由于用戶的疏忽所導(dǎo)致的重要片斷丟失而無法再現(xiàn)。 實施例二
本實施例提供一通用的Filter驅(qū)動程序,該Filter驅(qū)動程序設(shè)置于PC Camera驅(qū)動程序與應(yīng)用程序之間。由Filter驅(qū)動程序驅(qū)動視頻信號流的實時 回放。這樣,基于任何PC Camera驅(qū)動程序、任何PC Camera的視頻流播放, 均能夠?qū)崿F(xiàn)視頻信號流的實時回放。
圖5為本發(fā)明實施例二中實現(xiàn)多+某體信號流實時回放的方法的示例性 流程圖。如圖5所示,該方法包括
步驟500,在PC Camera驅(qū)動程序與應(yīng)用程序之間設(shè)置Filter驅(qū)動程序, 并設(shè)置回放實現(xiàn)模塊。
本步驟中,可以是由Filter驅(qū)動程序在系統(tǒng)初始化時,根據(jù)預(yù)先設(shè)置的 實時回放長度和視頻信號格式申請對應(yīng)大小的內(nèi)存空間,該內(nèi)存空間即可作 為回放實現(xiàn)模塊。
步驟501, PC Camera驅(qū)動程序?qū)⒔涌谀K接收到的視頻信號流通過 Filter驅(qū)動程序輸出給應(yīng)用程序播放,并由Filter驅(qū)動程序?qū)⒃撘曨l信號流復(fù) 制并緩存至回放實現(xiàn)模塊。
其中,接口模塊接收到的視頻信號流可稱為待播放視頻信號流。
在執(zhí)行本步驟之前,PC Camera驅(qū)動程序和Filter驅(qū)動程序可以先判斷 應(yīng)用程序的視頻播放功能是否已開啟,如杲已開啟,則分別執(zhí)行本步驟中的 對應(yīng)處理過程,否則,等待視頻播放功能的開啟。
本步驟中,F(xiàn)ilter驅(qū)動程序是根據(jù)預(yù)設(shè)的存儲指針,將視頻信號緩存至 回放實現(xiàn)模塊中存儲指針所指向位置的。在將該視頻信號流復(fù)制并緩存至回 放實現(xiàn)模塊之前,可以先判斷回放實現(xiàn)模塊是否已滿,如果是,則先將存儲 指針指向回放實現(xiàn)模塊中的起始位置,然后將視頻信號流從該起始位置進行 緩存,替換已緩存在回放實現(xiàn)模塊中的視頻信號流。
步驟502,根據(jù)回放控制模塊輸入的回放控制信號,F(xiàn)ilter驅(qū)動程序屏 蔽來自PC Camera驅(qū)動程序的視頻信號流,并將緩存在回放實現(xiàn)模塊中的視 頻信號流輸出給應(yīng)用程序播放,實現(xiàn)視頻流的回放。
本步驟中,在應(yīng)用程序開始播放之后,可實時或周期性地判斷視頻流回 放是否結(jié)束,如果是,則返回步驟IOI。
至此,本流程結(jié)束。
實際應(yīng)用中,F(xiàn)ilter驅(qū)動程序還根據(jù)回放控制模塊輸入的存儲控制信號, 將緩存至回放實現(xiàn)模塊的視頻信號流轉(zhuǎn)換為預(yù)設(shè)格式的視頻文件,并存儲至 對應(yīng)的硬盤空間,以實現(xiàn)視頻文件的錄制。
圖6為本發(fā)明實施例二中實現(xiàn)多媒體信號流實時回放的系統(tǒng)結(jié)構(gòu)示意 圖。如圖6所示,該系統(tǒng)包括接口模塊、PC Camera驅(qū)動程序、應(yīng)用程序, 該系統(tǒng)還包括位于系統(tǒng)內(nèi)核驅(qū)動層的Filter驅(qū)動程序、位于系統(tǒng)內(nèi)核驅(qū)動 層的回放實現(xiàn)模塊、以及位于應(yīng)用程序?qū)拥幕胤趴刂颇K。
接口模塊,位于系統(tǒng)的內(nèi)核驅(qū)動層,用于接收外部PC Camera輸入的視 頻信號流。實際應(yīng)用中,接口模塊可以基于USB協(xié)議接收外部視頻信號流。
PC Camera驅(qū)動程序,用于將接口模塊接收到的視頻信號流通過Filter 驅(qū)動程序輸出至應(yīng)用程序。
Filter驅(qū)動程序,用于將來自PC Camera驅(qū)動程序的視頻信號流復(fù)制并 緩存至回放實現(xiàn)模塊。
應(yīng)用程序,用于播放接收到的視頻信號流。
回放控制模塊,用于根據(jù)用戶的指示,即用戶需要實時回放視頻信號流 時,向Filter驅(qū)動程序輸出回放控制信號。
此時,F(xiàn)ilter驅(qū)動程序根據(jù)接收到的回放控制信號,屏蔽來自PC Camera 驅(qū)動程序的視頻信號流,并將緩存在回放實現(xiàn)模塊中的視頻信號流輸出給應(yīng) 用程序插i文,從而實現(xiàn)實時回力文。
上述系統(tǒng)中,在系統(tǒng)初始化時,由Filter驅(qū)動程序根據(jù)預(yù)先設(shè)置的實時 回放長度和媒體信號格式申請對應(yīng)大小的內(nèi)存空間,該內(nèi)存空間即可作為回 放實現(xiàn)模塊。
如圖6所示的系統(tǒng)進一步包括硬盤(圖中未示出)。這種情況下,回放 控制模塊可根據(jù)用戶的指示,即用戶希望錄制視頻文件時,向Filter驅(qū)動程 序輸出存儲控制信號。Filter驅(qū)動程序根據(jù)接收到的存儲控制信號,將緩存 在回放實現(xiàn)模塊的中視頻信號流轉(zhuǎn)換為對應(yīng)格式的視頻文件并存儲至硬盤, 從而實現(xiàn)視頻文件的錄制。
下面,分別針對本實施例中Filter驅(qū)動程序和回放控制模塊的具體工作 流程,對本實施例中的技術(shù)方案進行進一步說明。
圖7為本發(fā)明實施例二中過濾驅(qū)動程序的工作流程示意圖。如圖7所示, 本實施例中Filter驅(qū)動程序的工作流程可包括
步驟700,在系統(tǒng)初始化時,根據(jù)預(yù)先設(shè)置的實時回放長度和視頻信號 格式申請對應(yīng)大小的內(nèi)存空間,該內(nèi)存空間即可作為回放實現(xiàn)模塊。
步驟7(H,判斷應(yīng)用程序的視頻播放功能是否已開啟,如果已開啟,則 執(zhí)行步驟702,否則,等待視頻播放功能的開啟。
步驟702,根據(jù)預(yù)設(shè)的存儲指針,將來自PC Camera驅(qū)動程序的視頻信 號緩存至回放實現(xiàn)模塊中存儲指針所指向的對應(yīng)位置。
步驟703,判斷回放實現(xiàn)模塊是否已滿,如果是,則執(zhí)行步驟704;否 則,繼續(xù)執(zhí)行步驟705。
步驟704,將存儲指針指向回放實現(xiàn)模塊中的起始位置,然后返回步驟 702,將視頻信號流從該起始位置進行緩存,替換已緩存在回放實現(xiàn)模塊中 的視頻信號流。
步驟705,判斷是否接收到回放控制信號,如果是,則執(zhí)行步驟706, 否則,返回步驟702。
步驟706,根據(jù)回放控制模塊輸入的回放控制信號,屏蔽來自PC Camera 驅(qū)動程序的視頻信號流,并將緩存在回放實現(xiàn)模塊中的視頻信號流輸出給應(yīng) 用程序播it,實現(xiàn)4見頻流的回方欠。
步驟707,判斷當前實時回放是否完畢,如果是,則執(zhí)行步驟708,否 則,繼續(xù)執(zhí)行本步驟。
步驟708,判斷回放控制模塊是否結(jié)束回放控制,即回放控制模塊是否 繼續(xù)輸出回放控制信號,如果結(jié)束,則返回步驟701,否則,繼續(xù)執(zhí)行本步 驟。
至此,本流程結(jié)束。
圖8為本發(fā)明實施例二中回放控制模塊的工作流程示意圖。如圖8所示,
本實施例中回放控制模塊的工作流程包括
步驟800,系統(tǒng)初始化時,回放控制模塊啟動,接收用戶輸入的回放時 間長度和和視頻信號格式,并輸出給Filter驅(qū)動程序,以便Filter驅(qū)動程序 能夠獲知回放時間長度和和視頻信號格式從而申請對應(yīng)大小的內(nèi)存空間,該 內(nèi)存空間即可作為回放實現(xiàn)模塊。
步驟801,判斷應(yīng)用程序的視頻播放功能是否已開啟,如果已開啟,則 執(zhí)行步驟802,否則,等待視頻播放功能的開啟。
步驟802,根據(jù)用戶的操作判斷是否需要輸出回放控制信號,如果需要, 則執(zhí)行步驟803,否則,繼續(xù)執(zhí)行本步驟。
步驟803,將回放控制信號輸出至Filter驅(qū)動程序。
至此,本流程結(jié)束。
以上是對本實施例中技術(shù)方案的詳細說明。在本實施例中,多媒體信號 流也可以為音頻信號流,對應(yīng)地,設(shè)備驅(qū)動程序則應(yīng)為音頻傳感器驅(qū)動程序。
由上述技術(shù)方案可見,本實施例由通用的Filter驅(qū)動程序?qū)⒍嗝襟w信號 流緩存至預(yù)設(shè)的回放實現(xiàn)模塊中,并能夠根據(jù)回放控制信號將緩存的多媒體 信號流傳輸至應(yīng)用程序進行實時回放。因此,在視頻會議、實時監(jiān)控等應(yīng)用 領(lǐng)域中,不會由于用戶的疏忽所導(dǎo)致的重要片斷丟失而無法再現(xiàn)。而且,本 實施例中是由通用的Filter驅(qū)動程序來驅(qū)動多媒體信號流的回放,因而無需 改進已有的設(shè)備驅(qū)動程序,從而更進一 步地提高了通用性無需對現(xiàn)有應(yīng)用程 序進行改進,具有較高的通用性且易于推廣。
以上所述僅為本發(fā)明的較佳實施例而已,并非用于限定本發(fā)明的保護范 圍。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換以及改進等, 均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。
權(quán)利要求
1、一種實現(xiàn)多媒體信號流實時回放的方法,其特征在于,該方法包括設(shè)備驅(qū)動程序?qū)⒔邮盏降拇シ哦嗝襟w信號流輸出給應(yīng)用程序進行播放時,還將待播放多媒體信號流緩存至預(yù)設(shè)內(nèi)存空間;根據(jù)接收到的回放控制信號,設(shè)備驅(qū)動程序屏蔽其接收的所述待播放多媒體信號流,并將緩存在所述內(nèi)存空間中的多媒體信號流輸出給應(yīng)用程序播放。
2、 如權(quán)利要求1所述的方法,其特征在于,所述接收待播放多媒體信 號流之前,該方法進一步包括所述設(shè)備驅(qū)動程序根據(jù)預(yù)先設(shè)置的實時回放 長度和媒體信號格式申請對應(yīng)大小的內(nèi)存空間。
3、 如權(quán)利要求1或2所述的方法,其特征在于,所述將待播放多媒體 信號流緩存至預(yù)設(shè)內(nèi)存空間包括設(shè)備驅(qū)動程序?qū)⒁曨l信號緩存至預(yù)設(shè)存儲指針所指向的所述內(nèi)存空間 中的對應(yīng)位置。
4、 如權(quán)利要求3所述的方法,其特征在于,所述將待播放多媒體信號 流緩存至預(yù)設(shè)內(nèi)存空間之前,該方法進一 步包括判斷所述內(nèi)存空間是否已滿,如果是,則先將存儲指針指向內(nèi)存空間中 的起始位置,然后執(zhí)行所述將視頻信號緩存至預(yù)設(shè)存儲指針所指向的所述內(nèi) 存空間中的對應(yīng)位置。
5、 如權(quán)利要求1或2所述的方法,其特征在于,所述將待播放多媒體 信號流緩存至預(yù)設(shè)內(nèi)存空間之后,該方法進一步包括根據(jù)輸入的存儲控制信號,設(shè)備驅(qū)動程序?qū)⒕彺嬖谒鰞?nèi)存空間的多媒 體信號流轉(zhuǎn)換為預(yù)設(shè)格式的多媒體文件,并存儲至硬盤空間。
6、 如權(quán)利要求1或2所述的方法,其特征在于,所述設(shè)備驅(qū)動程序為 個人計算機PC攝像機Camera驅(qū)動程序,所述多媒體信號流為視頻信號。
7、 如權(quán)利要求1或2所述的方法,其特征在于,所述設(shè)備驅(qū)動程序為 音頻傳感器驅(qū)動程序,所述多媒體信號流為音頻信號。
8、 一種實現(xiàn)多媒體信號流實時回放的方法,其特征在于,在設(shè)備驅(qū)動程序與應(yīng)用程序之間設(shè)置過濾Filter驅(qū)動程序,該方法包括設(shè)備驅(qū)動程序?qū)⒔邮盏降拇シ哦嗝襟w信號流,通過所述Filter驅(qū)動程 序輸出給應(yīng)用程序播放,并由所述Filter驅(qū)動程序?qū)⒃摱嗝襟w信號流緩存至 預(yù)"i殳內(nèi)存空間;根據(jù)回放控制模塊輸入的回放控制信號,所述Filter驅(qū)動程序屏蔽來自所述設(shè)備驅(qū)動程序的待播放多媒體信號流,并將緩存在所述內(nèi)存空間中的多 媒體信號流輸出給應(yīng)用程序播放。
9、 如權(quán)利要求8所述的方法,其特征在于,設(shè)備驅(qū)動程序接收待播放 多媒體信號流之前,該方法進一步包括所述過濾驅(qū)動程根據(jù)預(yù)先設(shè)置的實 時回放長度和媒體信號格式申請對應(yīng)大小的內(nèi)存空間。
10、 如權(quán)利要求8或9所述的方法,其特征在于,所述將多媒體信號流 緩存至所述內(nèi)存空間包括Filter驅(qū)動程序?qū)⒁曨l信號緩存至預(yù)設(shè)存儲指針所指向的內(nèi)存空間中的 對應(yīng)位置。
11、 如權(quán)利要求10所述的方法,其特征在于,所述將該視頻信號流緩 存至內(nèi)存空間之前,該方法進一步包括判斷所述內(nèi)存空間是否已滿,如果是,則先將存儲指針指向內(nèi)存空間中 的起始位置,然后執(zhí)行所述將視頻信號緩存至預(yù)設(shè)存儲指針所指向的內(nèi)存空 間中的對應(yīng)位置。
12、 如權(quán)利要求8或9所述的方法,其特征在于,所述將該多媒體信號 流緩存至所述內(nèi)存空間之后,該方法進一步包括根據(jù)輸入的存儲控制信號,F(xiàn)ilter驅(qū)動程序?qū)⒕彺嬷了鰞?nèi)存空間的多 媒體信號流轉(zhuǎn)換為預(yù)設(shè)格式的多媒體文件,并存儲至硬盤空間。
13、 如權(quán)利要求8或9所述的方法,其特征在于,所述設(shè)備驅(qū)動程序為 個人計算機PC攝像機Camera驅(qū)動程序,所述多媒體信號流為視頻信號。
14、 如權(quán)利要求8或9所述的方法,其特征在于,所述設(shè)備驅(qū)動程序為 音頻傳感器驅(qū)動程序,所述多媒體信號流為音頻信號。
15、 一種實現(xiàn)多媒體信號流實時回放的系統(tǒng),該系統(tǒng)包括接口模塊、 設(shè)備驅(qū)動程序和應(yīng)用程序,其中,所述接口模塊,用于接收外部輸入的多媒體信號流; 所述設(shè)備驅(qū)動程序,用于將所述接口模塊接收到的多媒體信號流輸出至所述應(yīng)用程序;所述應(yīng)用程序,用于播放接收到的多媒體信號流;其特征在于,該系統(tǒng)還包括內(nèi)存和回放控制模塊,其中,所述設(shè)備驅(qū)動程序進一 步將所述接口模塊接收到的多媒體信號緩存至所述內(nèi)存中的預(yù)設(shè)內(nèi)存空間;所述回放控制模塊,用于向所述設(shè)備驅(qū)動程序輸出回放控制信號;所述設(shè)備驅(qū)動程序根據(jù)所述回放控制信號,屏蔽來自所述接口模塊的多媒體信號流,并將緩存在所述內(nèi)存空間中的多媒體信號流輸出給應(yīng)用程序播放。
16、 如權(quán)利要求15所述的系統(tǒng),其特征在于,系統(tǒng)初始化時,所述設(shè) 備驅(qū)動程序根據(jù)預(yù)先設(shè)置的實時回放長度和媒體信號格式申請對應(yīng)大小的內(nèi)存空間。
17、 如權(quán)利要求15或16所述的系統(tǒng),其特征在于,該系統(tǒng)進一步包括 硬盤,所述回放控制模塊進一 步向所述設(shè)備驅(qū)動程序輸出存儲控制信號; 所述設(shè)備驅(qū)動程序根據(jù)所述存儲控制信號,將緩存在所述內(nèi)存空間的中 多媒體信號流轉(zhuǎn)換為多媒體文件,并存儲至所述硬盤。
18、 如權(quán)利要求15或16所述的系統(tǒng),其特征在于,所述設(shè)備驅(qū)動程序 為個人計算機PC攝像機Camera驅(qū)動程序,所述多媒體信號流為視頻信號。
19、 如權(quán)利要求15或16所述的系統(tǒng),其特征在于,所述設(shè)備驅(qū)動程序 為音頻傳感器驅(qū)動程序,所述多媒體信號流為音頻信號。
20、 一種實現(xiàn)多媒體信號流實時回放的系統(tǒng),該系統(tǒng)包括接口模塊、 i殳備驅(qū)動程序和應(yīng)用程序,其中,所述接口模塊,用于接收外部輸入的多媒體信號流; 其特征在于,該系統(tǒng)還包括內(nèi)存、回放控制模塊和過濾Filter驅(qū)動程 序,其中,所述設(shè)備驅(qū)動程序,用于將所述接口模塊接收到的多媒體信號流通過所 述Filter驅(qū)動程序輸出至所述應(yīng)用程序;所述應(yīng)用程序,用于播放接收到的多媒體信號流;所述Filter驅(qū)動程序,用于將來自所述設(shè)備驅(qū)動程序的多媒體信號復(fù)制并緩存至所述內(nèi)存中的預(yù)設(shè)內(nèi)存空間;所述回放控制模塊,用于向所述Filter驅(qū)動程序輸出回放控制信號; 所述Filter驅(qū)動程序根據(jù)所述回放控制信號,屏蔽來自所述設(shè)備驅(qū)動程序的多媒體信號流,并將緩存在所述內(nèi)存空間中的多媒體信號流輸出給應(yīng)用程序播放。
21、 如權(quán)利要求20所述的系統(tǒng),其特征在于,系統(tǒng)初始化時,所述Filter 驅(qū)動程序根據(jù)預(yù)先設(shè)置的實時回放長度和媒體信號格式申請對應(yīng)大小的內(nèi) 存空間。
22、 如權(quán)利要求20或21所述的系統(tǒng),其特征在于,該系統(tǒng)進一步包括 硬盤,所述回放控制模塊進一 步向所述Filter驅(qū)動程序輸出存儲控制信號; 所述Filter驅(qū)動程序根據(jù)所述存儲控制信號,將緩存在所述內(nèi)存空間的 中多媒體信號流轉(zhuǎn)換為多媒體文件,并存儲至所述硬盤。
23、 如權(quán)利要求20或21所述的系統(tǒng),其特征在于,所述設(shè)備驅(qū)動程序 為個人計算機PC攝像機Camera驅(qū)動程序,所述多媒體信號流為視頻信號。
24、 如權(quán)利要求20或21所述的系統(tǒng),其特征在于,所述設(shè)備驅(qū)動程序 為音頻傳感器驅(qū)動程序,所述多媒體信號流為音頻信號。
全文摘要
本發(fā)明公開了一種實現(xiàn)多媒體信號流實時回放的方法和一種實現(xiàn)多媒體信號流實時回放的系統(tǒng)。本發(fā)明由驅(qū)動程序?qū)⒍嗝襟w信號流緩存至預(yù)設(shè)的回放實現(xiàn)模塊中,并能夠根據(jù)回放控制信號將緩存的多媒體信號流傳輸至應(yīng)用程序進行實時回放。因此,在視頻會議、實時監(jiān)控等應(yīng)用領(lǐng)域中,不會由于用戶的疏忽所導(dǎo)致的重要片斷丟失而無法再現(xiàn)。而且,本發(fā)明中是由驅(qū)動程序來驅(qū)動多媒體信號流的回放,無需對現(xiàn)有應(yīng)用程序進行改進,具有較高的通用性且易于推廣。進一步地,驅(qū)動多媒體信號流的回放可以由設(shè)備驅(qū)動程序和通用的Filter驅(qū)動程序來實現(xiàn),如果由Filter驅(qū)動程序來實現(xiàn),則更加無需改進已有的設(shè)備驅(qū)動程序,從而更進一步地提高了通用性。
文檔編號H04N7/14GK101179689SQ20071017932
公開日2008年5月14日 申請日期2007年12月12日 優(yōu)先權(quán)日2007年12月12日
發(fā)明者曹玉弟 申請人:北京中星微電子有限公司