專利名稱:流媒體視頻圖像截取方法及裝置的制作方法
技術領域:
本發明涉及流媒體技術領域,特別是流媒體視頻圖像截取方法及裝置。
背景技術:
隨著計算機技術的飛速發展以及視窗(Windows)操作系統的普及,Windows流媒體技術在因特網中的應用越來越廣泛。在流媒體技術的基礎之上,產生并發展了網絡電視技術。在網絡電視的使用過程中,有許多場景需要獲得網絡電視流媒體視頻的實時圖像,比如廣告推廣、節目預覽、實時監控等,由于Windows媒體播放器(Windows Media Player,WMP)本身并沒有提供此類接口,所以現有的技術采用直接通過抓屏工具或抓屏程序來獲得流媒體視頻的實時圖像。
如圖1所示,現有的技術實現過程如下從流媒體服務器(WMS)獲取流媒體數據,Windows Media Player解碼所有流媒體數據并播放,使用抓屏工具或抓屏程序直接從正在播放的Windows Media Player界面上截取一幅圖像,從而得到流媒體視頻的實時圖像。
但是,上述現有技術必須依賴于Windows Media Player來播放該流媒體,由于Windows Media Player本身需要使用計算機較多的系統資源,因此該方法對系統資源的消耗非常大,占用了許多非必要的系統資源。并且,該方法先要解碼流媒體數據,再播放,然后從播放的圖像中截取一幅圖像,過程比較復雜。另外,由于Windows Media Player本身也不支持多進程,所以無法進行多路同時截取流媒體視頻圖像。
發明內容
有鑒于此,本發明提出了一種流媒體視頻圖像截取方法,用以降低截取流媒體視頻圖像所占用的系統資源。本發明的另一個目的是提出一種流媒體視頻圖像截取裝置。
根據上述目的,本發明提供了一種流媒體視頻圖像截取方法,該方法包括A.對流媒體數據進行解碼,得到一或多幀的原始視頻圖像數據;B.根據每幀原始視頻圖像數據構造對應的圖像文件的數據頭,并生成對應的圖像文件。
步驟A之前進一步包括從流媒體服務器接收流媒體數據的步驟。
該方法進一步包括預先設置圖像文件的格式。在步驟B中,構造所述格式的數據頭,并生成所述格式的圖像文件。
步驟B之后進一步包括保存和/或顯示所述圖像文件的步驟。
該方法進一步包括停止對流媒體數據進行解碼。
本發明還提供了一種流媒體視頻圖像截取裝置,該流媒體視頻圖像截取裝置包括流媒體解碼器,用于對流媒體數據進行解碼得到一或多幀的原始視頻圖像數據;圖像數據處理模塊,用于根據每幀原始視頻圖像數據構造對應的圖像文件的數據頭,并生成對應的圖像文件。
該流媒體視頻圖像截取裝置進一步包括顯示模塊,用于顯示所述圖像文件;和/或,流媒體客戶端,用于從流媒體服務器接收流媒體數據。
所述圖像數據處理模塊包括格式設置模塊,用于設置所述圖像文件的格式;圖像數據處理模塊進一步用于構造所述格式的圖像文件的數據頭,并生成所述格式的圖像文件。
該流媒體視頻圖像截取裝置進一步包括流媒體解碼器控制模塊,用于啟動、停止所述流媒體解碼器對流媒體數據的解碼。
從上述方案中可以看出,由于本發明對流媒體數據進行解碼,得到一或多幀的原始視頻圖像數據,然后直接根據每幀原始視頻圖像數據構造對應的圖像文件的數據頭,并生成對應的圖像文件,因此本發明避免了播放、從播放界面截取圖像等過程,而這些過程通常占用系統的大量資源,從而本發明大大降低了在截取流媒體視頻圖像過程中所占用的系統資源,并且在很大程度上降低了截取流媒體視頻圖像的流程。并且,本發明可以解碼出多幀原始視頻圖像數據,并相應地得到多幅圖像文件,因此本發明可以同時截取多幅圖像。另外,本發明進一步提供了對解碼過程的控制,可以在不需要截取圖像時停止解碼,從而進一步降低了對系統資源的占用。
圖1為現有技術的流程示意圖;圖2為本發明實施例的系統結構示意圖;圖3為本發明方法的流程示意圖。
具體實施例方式
為使本發明的目的、技術方案和優點更加清楚,以下舉實施例對本發明進一步詳細說明。
本發明的核心思想是,對流媒體數據直接進行解碼,通過解碼獲得還原的一幀或多幀原始視頻圖像數據,并構造與每幀原始視頻圖像數據對應的圖像文件的頭數據,然后將圖像文件的頭數據和原始視頻圖像數據一同構成圖像文件,這樣就獲得了需要的視頻圖像,而且不需要解碼所有流媒體數據并播放,大大節省了系統資源。
圖2為本發明實施例的系統結構示意圖。
參照圖2,該系統包括流媒體服務器100、處于客戶端的流媒體視頻圖像截取裝置200。其中流媒體服務器100保存有流媒體數據,并可以根據客戶端的請求向客戶端提供流媒體數據,也可以主動向客戶端提供流媒體數據。
流媒體視頻圖像截取裝置200接收到流媒體數據后,對流媒體數據進行解碼得到一或多幀的原始視頻圖像數據,然后根據每幀原始視頻圖像數據構造對應的圖像文件的數據頭,并生成圖像文件,還可以進一步將所生成圖像文件顯示出來。
繼續參照圖2,所述視頻圖像截取裝置200包括流媒體解碼器20、圖像數據處理模塊30,還可以進一步包括流媒體客戶端模塊10、顯示模塊40。
在圖2中,流媒體客戶端模塊10接收來自流媒體服務器100的流媒體數據,然后把這些流媒體數據傳送給流媒體解碼器20,并且流媒體客戶端模塊10還可以保存這些流媒體數據。
流媒體解碼器20對上述流媒體數據進行解碼,例如使用視窗媒體格式軟件開發包(Windows Media Format SDK)所提供的解碼庫對流媒體數據進行解碼,解碼得到一幀或多幀的原始視頻圖像數據,然后將這些原始視頻圖像數據傳送給圖像數據處理模塊30。一般來說,一幀原始視頻圖像數據就可以得到一幅圖像。
在流媒體視頻圖像截取裝置200中,還可以進一步包括流媒體解碼器控制裝置25,用于控制流媒體解碼器20,例如控制解碼時間間隔,在需要截取圖像時啟動流媒體解碼器20,在不需要截取圖像時,停止流媒體解碼器20,從而可以進一步節省系統資源。
圖像數據處理模塊30根據每幀原始視頻圖像數據構造出預先設定的圖像文件格式的數據頭,然后根據所構造的數據頭與原始視頻圖像數據生成該格式的圖像文件。
下面以常見的位圖(BMP)格式為例說明圖像數據處理模塊30的工作過程。BMP格式文件可分為四個部分位圖文件頭、位圖信息頭、彩色板、圖像數據陣列。其中,位圖文件頭、位圖信息頭和彩色板相當于前面所說的數據頭,圖像數據陣列相當于前面所說的原始視頻圖像數據。在數據頭中包括表示格式為BMP的格式信息、文件大小、從文件開始到圖像數據陣列的偏移量、以像素為單位的位圖寬度以及高度、位圖的位面數、彩色表等等,其中有些數據是固定的,例如格式信息、位圖的位面數等,有些是根據原始視頻圖像數據得出來的,例如位圖寬度、高度都可以從原始視頻圖像數據中獲取。在得到數據頭之后,將數據頭和原始視頻圖像數據結合起來就得到了完整的BMP格式的圖像文件。
當然,圖像數據處理模塊30還可以采用其它格式,例如聯合圖片專家組(JPEG)格式、圖形交換格式(GIF)、標記圖像文件格式(TIFF)等等。
在圖像數據處理模塊30中可以包括格式設置模塊35,用來設置所要生成的圖像文件的格式,例如BMP格式、JPEG格式等。圖像數據處理模塊30根據格式設置模塊35中所設置的圖像文件格式,構造該格式的數據頭,并且生成該格式的圖像文件。
在視頻圖像截取裝置中還可以進一步包括顯示模塊40,該顯示模塊40將圖像數據處理模塊30所生成的圖像文件顯示到客戶端的顯示器上,以便于用戶查看。
圖3是本發明實施例的流程示意圖。參照圖3,本發明實施例的方法包括以下步驟步驟101,流媒體客戶端模塊10接收來自流媒體服務器100的流媒體數據,然后把這些流媒體數據傳送給流媒體解碼器20,并且還可以保存這些流媒體數據。
步驟102,流媒體解碼器20對上述流媒體數據進行解碼,得到一幀或多幀的原始視頻圖像數據,然后將這些原始視頻圖像數據傳送給圖像數據處理模塊30。
步驟103,圖像數據處理模塊30根據每幀原始視頻圖像數據構造出對應的預先設定的圖像文件格式的數據頭,例如BMP格式,然后根據所構造的數據頭和原始視頻圖像數據生成BMP格式的圖像文件。
在步驟103之前,還可以進一步包括通過格式設置模塊35設置所要生成的圖像文件的格式的步驟。那么,在步驟103中,圖像數據處理模塊30根據格式設置模塊35中所設置的圖像文件格式,構造該格式的數據頭,并且生成該格式的圖像文件。
步驟104,顯示模塊40讀取所生成的圖像文件,然后將該圖像文件顯示到客戶端的顯示器上,從而使得客戶可以看到所截取的流媒體視頻圖像。
在上述流程中,還可以進一步包括流媒體解碼器控制模塊23對流媒體解碼器20的控制過程,亦即在需要截取流媒體視頻圖像時,流媒體解碼器控制模塊25啟動該流媒體解碼器20,則流媒體解碼器20對流媒體進行解碼,然后圖像數據處理模塊30生成對應的圖像文件;在不需要截取流媒體視頻圖像時,流媒體解碼器控制模塊25停止所述流媒體解碼器20,則流媒體解碼器20停止對流媒體的解碼,后續的圖像數據處理模塊30也就不生成圖像文件。這樣在需要截取流媒體視頻圖像時,流媒體視頻圖像截取裝置200就不會占用系統資源進行處理,從而可以進一步節省系統的資源。
以上所述僅為本發明的較佳實施例而已,并不用以限制本發明,凡在本發明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發明的保護范圍之內。
權利要求
1.一種流媒體視頻圖像截取方法,其特征在于,該方法包括A.對流媒體數據進行解碼,得到一或多幀的原始視頻圖像數據;B.根據每幀原始視頻圖像數據構造對應的圖像文件的數據頭,并生成對應的圖像文件。
2.根據權利要求1所述的流媒體視頻圖像截取方法,其特征在于,步驟A之前進一步包括從流媒體服務器接收流媒體數據的步驟。
3.根據權利要求1所述的流媒體視頻圖像截取方法,其特征在于,該方法進一步包括預先設置圖像文件的格式;在步驟B中,構造所述格式的數據頭,并生成所述格式的圖像文件。
4.根據權利要求1所述的流媒體視頻圖像截取方法,其特征在于,步驟B之后進一步包括保存和/或顯示所述圖像文件的步驟。
5.根據權利要求1所述的流媒體視頻圖像截取方法,其特征在于,該方法進一步包括停止對流媒體數據進行解碼。
6.一種流媒體視頻圖像截取裝置,其特征在于,該流媒體視頻圖像截取裝置包括流媒體解碼器,用于對流媒體數據進行解碼得到一或多幀的原始視頻圖像數據;圖像數據處理模塊,用于根據每幀原始視頻圖像數據構造對應的圖像文件的數據頭,并生成對應的圖像文件。
7.根據權利要求6所述的流媒體視頻圖像截取裝置,其特征在于,該流媒體視頻圖像截取裝置進一步包括顯示模塊,用于顯示所述圖像文件;和/或,流媒體客戶端,用于從流媒體服務器接收流媒體數據。
8.根據權利要求6所述的流媒體視頻圖像截取裝置,其特征在于,所述圖像數據處理模塊包括格式設置模塊,用于設置所述圖像文件的格式;圖像數據處理模塊進一步用于構造所述格式的圖像文件的數據頭,并生成所述格式的圖像文件。
9.根據權利要求6所述的流媒體視頻圖像截取裝置,其特征在于,該流媒體視頻圖像截取裝置進一步包括流媒體解碼器控制模塊,用于啟動、停止所述流媒體解碼器對流媒體數據的解碼。
全文摘要
本發明公開了一種流媒體視頻圖像截取方法,該方法包括A.對流媒體數據進行解碼,得到一或多幀的原始視頻圖像數據;B.根據每幀原始視頻圖像數據構造對應的圖像文件的數據頭,并生成對應的圖像文件。本發明避免了播放、從播放界面截取圖像等過程,而這些過程通常占用系統的大量資源,從而本發明大大降低了在截取流媒體視頻圖像過程中所占用的系統資源,并且在很大程度上降低了截取流媒體視頻圖像的流程。并且,本發明可以解碼出多幀原始視頻圖像數據,并相應地得到多幅圖像文件,因此本發明可以同時截取多幅圖像。另外,本發明進一步提供了對解碼過程的控制,可以在不需要截取圖像時停止解碼,從而進一步降低了對系統資源的占用。
文檔編號H04N7/26GK101075342SQ20061012707
公開日2007年11月21日 申請日期2006年9月26日 優先權日2006年9月26日
發明者張志東 申請人:騰訊科技(深圳)有限公司