專利名稱::一種gif生成方法、系統(tǒng)及媒體播放器的制作方法
技術領域:
:本發(fā)明屬于數據處理領域,尤其涉及一種GIF生成方法、系統(tǒng)及媒體播放器。
背景技術:
:目前,使用媒體播放器觀看視頻成為用戶普遍的學習和休閑娛樂方式,在視頻觀看過程中,用戶希望將視頻中的簡短畫面保存下來,或者與其他用戶分享。主流的媒體播放器軟件一般都支持視頻截圖功能,將播放的一幀截取成一個JPG或BMP文件,其不足這樣操作是只能保存單張的圖片,不能保存一個視頻片段。圖像互換4各式(GraphicsInterchangeFormat,GIF)的一個特點是在一個GIF文件中可以存多幅彩色圖像,如果將存于一個文件中的多幅圖像逐幅讀出并顯示到屏幕上,就可構成一種最簡單的動畫。目前,幾乎所有相關軟件都支持GIF,公共領域有大量的軟件在使用GIF圖像文件。在將視頻數據轉換為GIF文件時,常見的做法是在々某體播放器中將感興趣的視頻片段一幀幀截圖下來,保存成若干張獨立的圖片,然后使用特定的GIF文件制作工具將這些圖片制作成GIF。這種做法要求用戶獨立安裝特定的GIF文件制作工具,并且會使用GIF文件制作工具,操作流程繁瑣,給用戶帶來很大不便。
發(fā)明內容本發(fā)明實施例的目的在于提供一種GIF生成方法,旨在解決現有技術在將視頻數據轉換成GIF時,用戶需要安裝特定的GIF文件制作工具,操作流程繁瑣,給用戶帶來很大不便的問題。本發(fā)明實施例是這樣實現的,一種GIF生成方法,所述方法包括下述步驟接收用戶設定的GIF生成參數;收到用戶的GIF生成指令后,停止媒體文件的播放,根據用戶設定的GIF生成參數將媒體文件的視頻幀截取成單一圖像;根據用戶設定的GIF生成參數,將所述單一圖像進行編碼,生成目標GIF文件;將所述目標GIF文件輸出保存。本發(fā)明實施例的另一目的在于提供一種GIF生成系統(tǒng),所述系統(tǒng)包括GIF參數控制沖莫塊,用于接收用戶設定的GIF生成參數;視頻幀抽取模塊,用于收到用戶的GIF生成指令后,停止媒體文件的播放,根據用戶設定的GIF生成參數將媒體文件的視頻幀截取成單一圖像;GIF編碼模塊,用于根據用戶設定的GIF生成參數,將所述單一圖像進行編碼,生成目標GIF文件;以及GIF文件保存模塊,用于將所述目標GIF文件輸出保存。本發(fā)明實施例的另一目的在于提供一種媒體播放器,包括視頻后處理單元;用于對解碼后的視頻數據進行視頻處理,所述纟某體播放器還包括有一GIF生成子系統(tǒng),用于根據用戶設定的GIF生成參數,從所述視頻后處理單元圖像處理后的視頻數據中截取生成目標GIF文件。本發(fā)明實施例可以在々某體播放過程中根據用戶設定的GIF生成參數截取媒體文件的視頻內容生成目標GIF文件,用戶不需要安裝和學習使用專門的GIF文件制作工具,操作流程筒單,方便用戶使用。圖1是本發(fā)明實施例提供的GIF生成方法的實現流程圖2是本發(fā)明的一個實施例提供的GIF生成方法的具體實現流程圖;圖3是本發(fā)明實施例提供的GIF生成UI界面示意圖4是本發(fā)明實施例提供的媒體播放器的結構圖5是本發(fā)明實施例提供的GIF生成子系統(tǒng)的結構圖。具體實施例方式為了使本發(fā)明的目的、技術方案及優(yōu)點更加清楚明白,以下結合附圖及實施例,對本發(fā)明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。本發(fā)明實施例在媒體文件播放過程中根據用戶設定的GIF生成參數截取視頻內容,生成目標GIF文件,方便用戶使用。圖1示出了本發(fā)明實施例4是供的GIF生成方法的實現流程,詳述如下在步驟S101中,4妄收用戶設定的GIF生成參數。為了使得用戶得到滿意的GIF文件,在目標GIF文件生成過程中允許用戶對相關的GIF生成參數進行設置,作為本發(fā)明的一個實施例,可以提供如下GIF生成參數供用戶設定1.視頻截取起點定義選擇希望截取的視頻起點幀。2.截取長度定義截取的視頻長度,將視頻截取起點之后一段的視頻截取成GIF,截取的視頻長度的終點為視頻截取終點。3.幀間隔定義多長時間抽取碎見頻中的一幀,幀間隔不同,抽取的視頻幀的數量也將不同。4.GIF播放速度定義生成的目標GIF文件的播放速度。作為本發(fā)明的一個實施例,還可以允許用戶在GIF生成參數中設定圖像處理參數,對生成目標GIF文件的圖像進行處理,例如1.GIF分辨率定義生成的GIF的長寬,例如320x240、200x150等多種常見的分辨率。2.圖像質量定義生成的GIF的圖像質量,圖像質量不同,生成的GIF文件大小也不同。另外,為了便于用戶標識生成的目標GIF文件,還可以允許用戶設定指紋圖參數,指紋圖為在目標GIF文件中疊加的可以標識一定含義的圖片,例如軟件標識等。指紋圖是可選的,可以以流式網絡圖形格式(PortableNetworkGraphicFormat,PNG)文件的形式存在??紤]到用戶體驗、操作習慣以及軟件傳播等因素,在本發(fā)明實施例中,可以將某些GIF生成參數配置成允許用戶設定,將某些GIF生成參數配置成不允許用戶設定,在設定方式上也可以不同。其中,^L頻截耳又起點、截取長度、幀間隔、GIF分辨率和圖像質量需要在目標GIF文件生成前設定,GIF播放速度可以在GIF生成后,在預覽插-放過程中再次進行設定。在步驟S102中,收到用戶的GIF生成指令后,停止々某體文件的播放,才艮據用戶設定的GIF生成參數將媒體文件的視頻幀截取成單一圖像。在步驟S103中,如果用戶設定了圖像處理參數,例如GIF分辨率、圖像質量等,則根據用戶設定的圖像處理參數,對截取的單一圖像進行圖像處理,例如改變GIF分辨率、提高圖像質量等。在步驟S104中,如果用戶設定了指紋圖,將用戶設定的指紋圖疊加到每個單一圖像中。在步驟S105中,根據用戶設定的GIF生成參數,將單一圖像進行編碼,生成目標GIF文件。在步驟S106中,將目標GIF文件輸出保存。圖2示出了本發(fā)明的一個實施例提供的GIF生成方法的具體實現流程,詳述如下在步驟S201中,接收用戶輸入的GIF截取指令。如圖3所示,用戶可以在4某體播放器的用戶界面(UserInterface,UI)上選取GIF截取功能鍵輸入GIF截取指令。在步驟S202中,媒體播放器暫停當前視頻的播放,獲取用戶設定的視頻截取起點、截取長度、幀間隔、GIF分辨率等GIF生成參數。用戶可以在媒體播放器彈出的設定界面中對GIF生成參數進行設定,并可以瀏覽設定后的效果。在步驟S203中,根據用戶設定的幀間隔,截取視頻數據中的一幀圖像,保存在內存中,截取完成后內存中將保存有若干幀單一圖像。在步驟S204中,如果用戶設定了圖像處理參數,則對截取的單一圖像,按照用戶設定的GIF生成參數進行圖像處理,包括變換圖像大小、改變圖像質量等。在步驟S205中,判斷用戶是否設定加載指紋圖,是則執(zhí)行步驟S206,否則執(zhí)行步驟S207。在步驟S206中,加載指紋圖,將指紋圖疊加到上述截取的每一幀單一圖像中。在步驟S207中,根據系統(tǒng)默認的GIF播放速度參數,將多個單一圖像進行編碼,生成目標GIF文件。在步驟S208中,將生成的目標GIF文件加載到內存中。如果用戶需要預覽所截取的GIF的效果,則執(zhí)行步驟S209,對內存中的目標GIF文件進行解析并播放。用戶在預覽生成的目標GIF文件的播放效果時可以調整播放速度,在步驟S210中,判斷用戶是否調整播放速度,是則執(zhí)行步驟S211,否則執(zhí)行步驟S"2。在步驟S211中,根據用戶調整后的GIF播放速度參數調整內存中目標GIF文件的播放速度,返回執(zhí)行步驟S209。在步驟S212中,判斷用戶是否調整視頻截取起點、截取長度、GIF分辨率等GIF生成參數,是則按照用戶調整后的GIF生成參數返回執(zhí)行步驟S2(B,否則執(zhí)行步驟S213。在步驟S213中,接收用戶的目標GIF文件保存指令,將最終的播放速度回寫至原來已生成的目標GIF文件中。作為本發(fā)明的一個實施例,目標GIF文件生成后,可以自動將目標GIF文件復制到剪貼板,用戶可以利用該目標GIF文件進行各種操作,例如直接將目標GIF文件粘貼到即時通信系統(tǒng)的聊天窗口進行傳播,也可以向用戶提供一個快捷鍵,直接將生成的GIF加入到即時通信系統(tǒng)的聊天表情中。圖4示出了本發(fā)明實施例提供的々某體播放器的結構,為了便于說明,僅示出了與本發(fā)明實施例相關的部分。文件解析單元41解析輸入的媒體文件的格式,判斷媒體文件的編碼格式。音視頻分離及解碼單元42將媒體文件的音視頻數據分離出來,根據文件解析單元41獲取的媒體文件的編碼格式對音視頻數據進行相應的解碼處理。視頻后處理單元43對解碼后的視頻數據進行圖像的旋轉、加亮等視頻處理。音頻后處理單元44對解碼后的音頻數據進行去噪、均衡等音頻處理。渲染單元45將經過音視頻后處理的音視頻數據進行渲染處理后輸出到聲卡、顯卡等設備中播放。在本發(fā)明實施例中,截承^見頻數據生成目標GIF文件主要在媒體播放的視頻解碼之后、渲染輸出之前完成,因此可以在媒體播放器中集成GIF生成功能。作為本發(fā)明的一個實施例,可以在視頻后處理單元43中集成GIF生成子系統(tǒng)431,根據用戶設定的GIF生成參數,截取視頻數據,生成目標GIF文件。當然,GIF生成子系統(tǒng)431也可以不集成在視頻后處理單元43中,而作為i某體播放器中的一個獨立功能單元。為了方便用戶瀏覽生成的目標GIF文件,可以在媒體播放器中增加GIF播放單元46,用來解析和播放生成的目標GIF文件。當然,GIF播放單元^也可以不集成在i某體播放器中,例如采用獨立的目標GIF文件播放工具進行瀏覽。圖5示出了本發(fā)明實施例提供的GIF生成子系統(tǒng)的結構,為了便于說明,僅示出了與本發(fā)明實施例相關的部分。GIF參數控制模塊51從用戶界面上接收用戶設定的GIF生成參數,包括視頻截取起點、截取長度、幀間隔和播放速度,還可以包括圖像處理參數或者指10紋圖。這些GIF生成參數影響到生成的目標GIF文件。在媒體文件播放過程中,當視頻幀抽取模塊52收到用戶的GIF生成指令后,停止媒體文件的播放,根據用戶選定的截取視頻內容的起點、終點、幀間隔等GIF生成參數,將其中的視頻幀截取成單一圖像。在本發(fā)明實施例中,如果用戶設定了GIF分辨率、圖像質量等圖像處理參數,單一圖像處理模塊53按照用戶設定的圖像處理參數,對每個單一圖像進行處理,包括改變GIF分辨率、圖像質量等。作為本發(fā)明的一個實施例,如果用戶需要對目標GIF文件中疊加指紋圖,指紋圖疊加模塊54將用戶輸入或事先設定的指紋圖疊加到每個單一圖像中。GIF編碼模塊55根據用戶設定的相關GIF生成參數,將截取的單一圖像進行編碼,生成目標GIF文件。目標GIF文件保存模塊56將生成的目標GIF文件輸出保存。本發(fā)明實施例可以在媒體播放過程中根據用戶設定的GIF生成參數截取媒體文件的視頻內容生成目標GIF文件,用戶不需要安裝和學習使用專門的GIF文件制作工具,操作流程簡單,方便用戶使用。用戶還可以方便的預覽生成的目標GIF文件,才艮據預覽情況調整目標GIF文件。另外,用戶還可以將目標GIF文件粘貼到即時通信系統(tǒng)的聊天窗口進行傳纟番,或者將目標GIF文件加入到即時通信系統(tǒng)的聊天表情中,以增強用戶的通信樂趣。以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內所作的任何修改、等同替換和改進等,均應包含在本發(fā)明的保護范圍之內。權利要求1、一種GIF生成方法,其特征在于,所述方法包括下述步驟接收用戶設定的GIF生成參數;收到用戶的GIF生成指令后,停止媒體文件的播放,根據用戶設定的GIF生成參數將媒體文件的視頻幀截取成單一圖像;根據用戶設定的GIF生成參數,將所述單一圖像進行編碼,生成目標GIF文件;將所述目標GIF文件輸出保存。2、如權利要求1所述的方法,其特征在于,所述GIF生成參數包括視頻截取起點、截耳又長度、幀間隔和播放速度。3、如權利要求2所述的方法,其特征在于,所述GIF生成參數還包括圖像處理參數。4、如權利要求3所述的方法,其特征在于,在將所述單一圖像進行編碼,生成目標GIF文件之前,所述方法進一步包括下述步驟根據用戶設定的圖像處理參數,對所述單一圖像進行圖像處理。5、如權利要求2所述的方法,其特征在于,所述GIF生成參數還包括指紋圖。6、如權利要求5所述的方法,其特征在于,在將所述單一圖像進行編碼,生成目標GIF文件之前,所述方法進一步包括下述步驟將用戶設定的指紋圖疊加到每個單一圖像中。7、一種GIF生成系統(tǒng),其特征在于,所述系統(tǒng)包括GIF參數控制模塊,用于接收用戶設定的GIF生成參數;視頻幀抽取模塊,用于收到用戶的GIF生成指令后,停止媒體文件的播放,根據用戶設定的GIF生成參數將媒體文件的視頻幀截取成單一圖像;GIF編碼模塊,用于根據用戶設定的GIF生成參數,將所述單一圖像進行編碼,生成目標GIF文件;以及GIF文件保存模塊,用于將所述目標GIF文件輸出保存。8、如權利要求7所述的系統(tǒng),其特征在于,所述GIF生成參數包括視頻截取起點、截取長度、幀間隔和播放速度。9、如權利要求8所述的系統(tǒng),其特征在于,所述GIF生成參數還包括圖像處理參數,或者指紋圖。10、如權利要求9所述的系統(tǒng),其特征在于,所述系統(tǒng)還包括圖像處理模塊,用于根據用戶設定的圖像處理參數,對所述單一圖像進行圖像處理。11、如權利要求9所述的系統(tǒng),其特征在于,所述系統(tǒng)還包括指紋圖加載模塊,用于將用戶設定的指紋圖疊加到每個單一圖像中。12、一種々某體播放器,包括視頻后處理單元,用于對解碼后的視頻數據進行視頻處理,其特征在于,所述媒體播放器還包括有一GIF生成子系統(tǒng),用于根據用戶設定的GIF生成參數,從所述視頻后處理單元圖像處理后的視頻數據中截取生成目標GIF文件。13、如權利要求12所述的媒體播放器,其特征在于,所述GIF生成子系統(tǒng)集成在所述視頻后處理單元中,或者為所述媒體播放器的一個獨立功能單元。14、如權利要求12或13所述的媒體播放器,其特征在于,所述GIF生成子系統(tǒng)包括GIF參數控制模塊,用于接收用戶設定的GIF生成參數;視頻幀抽取模塊,用于收到用戶的GIF生成指令后,停止媒體文件的播放,根據用戶設定的GIF生成參數將媒體文件的視頻幀截取成單一圖像;GIF編碼模塊,用于根據用戶設定的GIF生成參數,將所述單一圖像進行編碼,生成目標GIF文件;以及GIF文件保存^t塊,用于將所述目標GIF文件輸出保存。15、如權利要求12或13所述的媒體播放器,其特征在于,所述GIF生成子系統(tǒng)還包括圖像處理模塊,用于根據用戶設定的圖像處理參數,對所述單一圖像進行圖像處理。16、如權利要求12或13所述的媒體播放器,其特征在于,所述GIF生成子系統(tǒng)還包括指紋圖加載模塊,用于將用戶設定的指紋圖疊加到每個單一圖像中。17、如權利要求12或13所述的媒體播放器,其特征在于,所述媒體播放器還包括一GIF播放單元,用于解析和播放所述目標GIF文件。全文摘要本發(fā)明適用于數據處理領域,提供了一種GIF生成方法、系統(tǒng)及媒體播放器,所述方法包括下述步驟接收用戶設定的GIF生成參數;收到用戶的GIF生成指令后,停止媒體文件的播放,根據用戶設定的GIF生成參數將媒體文件的視頻幀截取成單一圖像;根據用戶設定的GIF生成參數,將所述單一圖像進行編碼,生成目標GIF文件;將所述目標GIF文件輸出保存。本發(fā)明實施例可以在媒體播放過程中根據用戶設定的GIF生成參數截取媒體文件的視頻內容生成目標GIF文件,用戶不需要安裝和學習使用專門的GIF文件制作工具,操作流程簡單,方便用戶使用。文檔編號G06T11/60GK101510313SQ200910105988公開日2009年8月19日申請日期2009年3月13日優(yōu)先權日2009年3月13日發(fā)明者健何,吳運聲,慧李申請人:騰訊科技(深圳)有限公司