麻豆精品无码国产在线播放,国产亚洲精品成人AA片新蒲金,国模无码大尺度一区二区三区,神马免费午夜福利剧场

一種音視頻剪輯方法及裝置與流程

文檔序號:12136436閱讀:266來源:國知局
一種音視頻剪輯方法及裝置與流程

本發明涉及音視頻處理技術,尤其涉及一種音視頻剪輯方法及裝置。



背景技術:

音視頻處理中常見的一種處理方式為將多個視頻片段拼接生成新視頻,在視頻片段之間增加濾鏡效果,如淡入淡出效果,提高用戶的觀看體驗。

傳統的視頻剪輯添加濾鏡效果時,一般采用ffmpeg命令,但是采用該命令通常需要對視頻源全部進行二次編碼,使之轉碼成統一的編碼格式再加濾鏡效果進行拼接后生成新視頻。

而在設備CPU(central processing unit,中央處理器)資源受限的情況下,這種對整段視頻進行二次編碼的做法會消耗大量時間,導致很差的用戶體檢。



技術實現要素:

有鑒于此,本發明實施例希望提供一種音視頻剪輯方法,至少解決了現有技術存在的問題。

本發明實施例的技術方案是這樣實現的:

一種音視頻剪輯方法,包括:

獲取待剪輯拼接的兩個音視頻片段,所述兩個音視頻片段的編碼格式相同;

在每一所述音視頻片段中,確定待進行濾鏡處理的圖像群組GOP組,所述GOP組包含至少一個GOP;

分別對各所述音視頻片段中確定的待進行濾鏡處理的GOP組進行解碼、濾鏡處理以及編碼;

將完成編碼的兩個音視頻片段進行拼接,以使得所述兩個音視頻片段在時間軸中連續。

一種音視頻剪輯裝置,包括:

獲取單元,用于獲取待剪輯拼接的兩個音視頻片段,所述兩個音視頻片段的編碼格式相同;

分析單元,用于在每一所述音視頻片段中,確定待進行濾鏡處理的圖像群組GOP組,所述GOP組包含至少一個GOP;

處理單元,用于分別對各所述音視頻片段中確定的待進行濾鏡處理的GOP組進行解碼、濾鏡處理以及編碼;

拼接單元,用于將完成編碼的兩個音視頻片段進行拼接,以使得所述兩個音視頻片段在時間軸中連續。

與現有技術相比,本申請的有益效果為:

在本申請中,在對音視頻剪輯添加濾鏡處理的過程中,僅需要對待剪輯連接的每個音視頻片段中處于濾鏡處理范圍內的幾個GOP中對應的圖像幀做過渡效果,相應的,只需要做過渡效果的圖像幀所在GOP做一次解編碼,無需對整段視頻進行二次編碼,設備CPU的只需對較少的視頻進行二次編碼,降低CPU負載和生成視頻的時間。

附圖說明

為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據提供的附圖獲得其他的附圖。

圖1為本申請提供的一種音視頻剪輯方法實施例1的流程圖;

圖2為本申請提供的一種音視頻剪輯方法實施例2的流程圖;

圖3為本申請提供的一種音視頻剪輯方法實施例2中游戲設置頁面示意圖;

圖4為本申請提供的一種音視頻剪輯方法實施例2中開始游戲頁面示意圖;

圖5為本申請提供的一種音視頻剪輯方法實施例2中游戲結束頁面的一示意圖;

圖6為本申請提供的一種音視頻剪輯方法實施例2中游戲結束頁面的另一示意圖;

圖7為本申請提供的一種音視頻剪輯方法實施例3的流程圖;

圖8為本申請提供的一種音視頻剪輯方法實施例4的流程圖;

圖9為本申請提供的一種音視頻剪輯方法實施例4中視頻流剪輯示意圖;

圖10為本申請提供的一種音視頻剪輯方法實施例5的流程圖;

圖11為本申請提供的一種音視頻剪輯方法實施例6的流程圖;

圖12為本申請提供的一種音視頻剪輯方法實施例6中音視頻片段的一種GOP組示意圖;

圖13為本申請提供的一種音視頻剪輯方法實施例6中音視頻片段的另一種GOP組示意圖;

圖14為本申請提供的一種音視頻剪輯方法實施例7的流程圖;

圖15為本申請提供的一種音視頻剪輯方法實施例7中音視頻片段的GOP組示意圖;

圖16為本申請提供的一種音視頻剪輯方法實施例8的流程圖;

圖17為本申請提供的一種音視頻剪輯方法實施例9的流程圖;

圖18為本申請提供的一種音視頻剪輯方法實施例10的流程圖;

圖19為本申請提供的一種音視頻剪輯裝置實施例1的結構示意圖。

具體實施方式

下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。

對本申請中涉及的專業名稱進行解釋:

視頻剪輯:對視頻源進行非線性編輯的軟件,屬多媒體制作軟件范疇。軟件通過對加入的圖片、背景音樂、特效、場景等素材與視頻進行重混合,對視頻源進行切割、合并,通過二次編碼,生成具有不同表現力的新視頻。

剪輯過渡:在視頻剪輯時,對2個視頻片段之間增加例如淡出淡入的濾鏡效果,使2個視頻片段的銜接不至過于突兀。

GOP(Group of Pictures,圖像群組),一個GOP就是一組連續的圖像,表示I-Frame(幀)與I-Frame之間的圖像排列。

I幀(intra picture,幀內編碼幀),I幀通常是每個GOP的第一個幀,也稱關鍵幀,經過適度地壓縮,作為隨機訪問的參考點,可以當成圖象。I幀可以看成是一個圖像經過壓縮后的產物。

B幀(bi-directional interpolated prediction frame,雙向預測內插編碼幀),既考慮與源圖像序列前面已編碼幀,也顧及源圖像序列后面已編碼幀之間的時間冗余信息來壓縮傳輸數據量的編碼圖像,也叫雙向預測幀。

如圖1所示的為本申請提供的一種音視頻剪輯方法實施例1的流程圖,該方法可以應用于各種電子設備中,該電子設備可以采用臺式機、智能電視、移動終端(手機、筆記本、平板電腦等)、計算機等。該方法可以包括以下步驟:

步驟S101:獲取待剪輯拼接的兩個音視頻片段;

其中,所述兩個音視頻片段的編碼格式相同。

需要說明的是,由于本申請中涉及的音視頻剪輯方法中,只對該音視頻片段中的一部分GOP進行二次編碼以及濾鏡處理,不對其他部分進行二次編碼,為保證兩個音視頻片段能夠采用相同的編碼方式進行解碼編碼,則需要該兩個待剪輯拼接的音視頻片段具有相同的編碼格式。

這里,這兩個音視頻片段可以是從一個視頻流中依次獲取得到,也可以為從不同的視頻流中分別獲取得到。

需要說明的是,本實施例中僅是針對兩個需要相鄰拼接的音視頻片段進行的說明,具體實施總,可以為多個音視頻片段依次進行拼接。

步驟S102:在每一所述音視頻片段中,確定待進行濾鏡處理的GOP組;

其中,所述GOP組包含至少一個GOP。

需要說明的是,音視頻片段是由若干個GOP依次排列組成的,本方案中對音視頻片段進行二次編碼過程中采用的最小劃分單位是GOP。

本步驟中,針對每一個音視頻片段確定對需要進行濾鏡處理的GOP組。

由于本申請中,必然需要對進行拼接的音視頻片段進行濾鏡處理,則每個音視頻片段均需要進行濾鏡處理,相應的,每個音視頻片段中必然有至少一個GOP需要進行濾鏡處理。

步驟S103:分別對各所述音視頻片段中確定的待進行濾鏡處理的GOP組進行解碼、濾鏡處理以及編碼;

本實施例中,在確定了待進行濾鏡處理的GOP組后,只需對該音視頻片段中的該GOP組進行相應的解碼、濾鏡處理以及編碼,實現對該音視頻片段相應的部分進行二次編碼以及濾鏡處理的過程。

在本步驟中,當該音視頻片段在拼接時位于較前位置時,則對該音視頻片段的末尾位置進行濾鏡處理;當該音視頻片段在拼接時位于較后位置時,則對該音視頻片段的開始位置進行濾鏡處理。

步驟S104:將完成編碼的兩個音視頻片段進行拼接,以使得所述兩個音視頻片段在時間軸中連續。

具體的,按照預先設定的先后順序,將該完成編碼的兩個音視頻片段進行拼接,使其處于同一時間軸中,使得在該時間軸中,兩個音視頻片段連續。

綜上,本實施例提供的一種音視頻剪輯方法中,包括:獲取待剪輯拼接的兩個音視頻片段,所述兩個音視頻片段的編碼格式相同;在每一所述音視頻片段中,確定待進行濾鏡處理的圖像群組GOP組,所述GOP組包含至少一個GOP;分別對各所述音視頻片段中確定的待進行濾鏡處理的GOP組進行解碼、濾鏡處理以及編碼;將完成編碼的兩個音視頻片段進行拼接,以使得所述兩個音視頻片段在時間軸中連續。在該方法中,在對音視頻剪輯添加濾鏡處理的過程中,僅需要對待剪輯連接的每個音視頻片段中處于濾鏡處理范圍內的幾個圖像群組GOP中對應的圖像幀做過渡效果,相應的,只需要做過渡效果的圖像幀所在GOP做一次解編碼,無需對整段視頻進行二次編碼,設備CPU的只需對較少的視頻進行二次編碼,降低CPU負載和生成視頻的時間。

其中,該兩個音視頻片段屬于同一視頻流,能夠從同一視頻流中依次獲取得到。

如圖2所示的為本申請提供的一種音視頻剪輯方法實施例2的流程圖,該方法可以包括以下步驟:

步驟S201:依據接收的與所述視頻流對應的剪輯時戳,以GOP為單位從所述視頻流中選擇與所述剪輯時戳匹配的位置;

其中,該剪輯時戳可以為電子設備的系統中自動生成,也可為用戶通過輸入裝置輸入該電子設備中得到。

具體實施中,在接收到該剪輯時戳后,從該視頻流中選擇相應的剪切位置。

具體的,該剪輯時戳包含兩個音視頻片段的起止點分別對應的時戳,則當從該視頻流中剪輯音視頻片段,至少需要四個時戳,即剪輯兩個音視頻片段。

在本實施例中,由于對音視頻片段進行二次編碼過程中采用的最小劃分單位是GOP,則相應的,從視頻流中剪切音視頻片段時,也是以該GOP為單位進行確定剪切位置以實現剪切的過程。

需要說明的是,由于該剪輯時戳具體可以對應該視頻流中的具體某個時間點,該時間點可以對應一幀圖像,而GOP中包含有多幀圖像,則該剪輯時戳可以對應的為某一GOP的起始一幀(即I幀),也可以對應該GOP的其他幀。

步驟S202:以所述位置為剪切位置,從所述視頻流中獲取所述兩個音視頻片段;

在確定了剪切位置后,從在視頻流中基于該剪切位置進行剪切,相應的獲取得到該兩個音視頻片段。

需要說明的是,具體實施中,可以為依據剪輯時戳在視頻流的時間軸的先后順序,依次從視頻流中進行剪切,并在剪切后,直接對該剪切位置處是否屬于待進行濾鏡處理的GOP組進行判斷,執行步驟的步驟S203-204,然后,對視頻流進行下一剪切位置的剪切,循環執行步驟S203-204。

如下圖3-6所示的為,本實施例的具體使用場景示意圖,以游戲《王者榮耀》為例進行說明,該場景中,用于《王者榮耀》的游戲錄制功能,并將錄制的視頻用于生成王者時刻視頻。

其中,圖3所示的為游戲設置頁面示意圖,在游戲的錄像設置頁面301中打開王者時刻開關302,該圖3中,王者時刻開關302處于“開”的狀態時,在游戲開始后,開始對該《王者榮耀》的游戲過程進行錄制。

其中,圖4所示的為開始游戲頁面示意圖,用戶可以通過開始游戲頁面401從中選擇“對戰模式”、“冒險模式”和“排位賽”等對局模式,如圖4中所示,選中的“排位賽”402對局模式,開始游戲。

其中,圖5所示的為游戲結束頁面的一示意圖,該游戲結束頁面501中生成對話框502,該對話框中顯示“是否生成王者時刻視頻?”以及相應的選項“放棄”和“生成”,用戶通過選擇“生成”選項,確定生成王者時刻,以將用戶在游戲過程中的擊殺片段進行合并剪輯成一個新視頻,并在片段的交接處加入淡入淡出濾鏡效果。

其中,圖6所示的為游戲結束頁面的另一示意圖,該游戲結束頁面601中生成提示框602,該提示框中顯示選項“分享我的精彩視頻”以及右上角關閉提示框的“×”,還有本次視頻的具體長度為01:06、具體內容為“【王者榮耀】王者峽谷MVP后羿雙…”,用戶通過點擊該提示框中的“分享我的精彩視頻”實現分享過程。

步驟S203:在每一所述音視頻片段中,確定待進行濾鏡處理的GOP組;

步驟S204:分別對各所述音視頻片段中確定的待進行濾鏡處理的GOP組進行解碼、濾鏡處理以及編碼;

步驟S205:將完成編碼的兩個音視頻片段進行拼接,以使得所述兩個音視頻片段在時間軸中連續。

其中,步驟S203-205與實施例1中的步驟S102-104一致,本實施例中不再贅述。

綜上,本實施例提供的一種音視頻剪輯方法中,該兩個音視頻片段屬于同一視頻流,所述獲取待剪輯拼接的兩個音視頻片段,包括:依據接收的與所述視頻流對應的剪輯時戳,以GOP為單位從所述視頻流中選擇與所述剪輯時戳匹配的位置;以所述位置為剪切位置,從所述視頻流中獲取所述兩個音視頻片段。采用該方法,通過基于以GOP為單位結合接收的剪輯時戳,從視頻流中剪切與該剪輯時戳匹配的位置,保證了從視頻流中剪切的音視頻片段的開始和結束位置均是完整的GOP。

其中,該兩個音視頻片段屬于不同視頻流,分別從該不同視頻流中獲取得到。

如圖7所示的為本申請提供的一種音視頻剪輯方法實施例3的流程圖,該方法可以包括以下步驟:

步驟S701:依據接收的與第一視頻流對應的剪輯時戳,以GOP為單位從第一視頻流中選擇與第一視頻流對應的剪輯時戳匹配的位置作為剪切位置,從所述第一視頻流中獲取第一音視頻片段;

其中,該剪輯時戳可以為電子設備的系統中自動生成,也可為用戶通過輸入裝置輸入該電子設備中得到。

具體實施中,在接收到該剪輯時戳后,分別從兩個視頻流中選擇相應的剪切位置。

具體的,該剪輯時戳包含其待剪切的第一音視頻片段的起止點分別對應的時戳,則當從該第一視頻流中剪輯音視頻片段,至少需要兩個時戳,即該第一音視頻片段的開始時戳和結束時戳。

步驟S702:依據接收的與第二視頻流對應的剪輯時戳,以GOP為單位從第二視頻流中選擇與第二視頻流對應的剪輯時戳匹配的位置作為剪切位置,從所述第二視頻流中獲取第二音視頻片段;

相應的,該剪輯時戳可以為電子設備的系統中自動生成,也可為用戶通過輸入裝置輸入該電子設備中得到。

具體的,該剪輯時戳包含其待剪切的第二音視頻片段的起止點分別對應的時戳,則當從該第二視頻流中剪輯音視頻片段,至少需要兩個時戳,即該第二音視頻片段的開始時戳和結束時戳。

在本實施例中,由于對音視頻片段進行二次編碼過程中采用的最小劃分單位是GOP,則相應的,從視頻流中剪切音視頻片段時,也是以該GOP為單位進行確定剪切位置以實現剪切的過程。

具體使用場景中,該第一視頻流可以為某一局對戰中錄制的視頻,第二視頻流可以為另一局對戰中錄制的視頻。

步驟S703:在每一所述音視頻片段中,確定待進行濾鏡處理的GOP組;

步驟S704:分別對各所述音視頻片段中確定的待進行濾鏡處理的GOP組進行解碼、濾鏡處理以及編碼;

步驟S705:將完成編碼的兩個音視頻片段進行拼接,以使得所述兩個音視頻片段在時間軸中連續。

其中,步驟S703-705與實施例1中的步驟S102-104一致,本實施例中不再贅述。

綜上,本實施例提供的一種音視頻剪輯方法中,該兩個音視頻片段屬于不同視頻流,則獲取待剪輯拼接的兩個音視頻片段,包括:依據接收的與第一視頻流對應的剪輯時戳,以GOP為單位從第一視頻流中選擇與第一視頻流對應的剪輯時戳匹配的位置作為剪切位置,從所述第一視頻流中獲取第一音視頻片段;依據接收的與第二視頻流對應的剪輯時戳,以GOP為單位從第二視頻流中選擇與第二視頻流對應的剪輯時戳匹配的位置作為剪切位置,從所述第二視頻流中獲取第二音視頻片段。采用該方法,通過基于以GOP為單位結合接收的剪輯時戳,分別從兩個視頻流中剪切與該剪輯時戳匹配的位置,保證了從不同的視頻流中剪切的兩個音視頻片段的開始和結束位置均是完整的GOP。

如圖8所示的為本申請提供的一種音視頻剪輯方法實施例4的流程圖,該方法可以包括以下步驟:

步驟S801:依次讀取所述視頻流中的圖像幀,在所述視頻流中選擇與所述剪輯時戳中的起始時戳相應的第一圖像幀,在所述視頻流中選擇與所述剪輯時戳中的結束時戳相應的第二圖像幀;

具體的,視頻流中包含一幀一幀連續的圖像幀,依次對該圖像幀進行讀取,而每一圖像幀有其對應的時間戳。

相應的,依據該剪輯時戳中的起始時戳,在該視頻流中確定與該起始時戳對應的第一圖像幀,該第一圖像幀為剪切的音視頻片段起始位置對應的圖像幀;

相應的,依據該剪輯時戳中的結束時戳,在該視頻流中確定與該結束時戳對應的第二圖像幀,該第二圖像幀為剪切的音視頻片段結束位置對應的圖像幀。

步驟S802:將所述第一圖像幀所屬的GOP作為所述音視頻片段剪輯對應的起始GOP、將所述第二圖像幀所屬的GOP作為所述音視頻片段剪輯對應的結束GOP;

需要說明的是,GOP是由一幀I幀、多幀P幀(Predicted Frame,前向預測幀)以及B幀組成,由于I幀中包含的為一幀圖像的全部信息,而P幀則是對于前一幀圖像的變量,則對GOP進行解碼時,必須為從GOP的第一幀I幀開始進行解碼。

因此,將該第一圖像幀所屬的GOP為剪輯開始的起始GOP,將該第二圖像幀所屬的GOP作為剪輯結束的結束GOP。

如圖9所示的,是視頻流剪輯示意圖,圖中從視頻流901中剪切兩個音視頻片段902和903,其中,第一音視頻片段902的長度為T1,其對應的剪輯時戳為t0和t1,第二音視頻片段903的長度為T2,其對應的剪輯時戳為t2和t3。其中,該剪輯時戳t0對應的為I幀,則該I幀對應的GOP作為該第一音視頻片段的起始GOP,該剪輯時戳t1對應的為P幀,則該P幀對應的GOP作為該第一音視頻片段的結束GOP;其中,該剪輯時戳t2對應的為P幀,則該P幀對應的GOP作為該第二音視頻片段的起始GOP,該剪輯時戳t3對應的為P幀,則該P幀對應的GOP作為該第二音視頻片段的結束GOP,以使得最終實現剪輯的時戳是與GOP對齊的。

需要說明的是,具體實施中,該剪輯時戳對應的GOP中I幀和P幀方式并不限定于此,具體實施中,還可以為其他組合方式,本申請中不做限制。

步驟S803:以所述位置為剪切位置,從所述視頻流中獲取所述兩個音視頻片段;

步驟S804:在每一所述音視頻片段中,確定待進行濾鏡處理的圖像群組GOP組;

步驟S805:分別對各所述音視頻片段中確定的待進行濾鏡處理的GOP組進行解碼、濾鏡處理以及編碼;

步驟S806:將完成編碼的兩個音視頻片段進行拼接,以使得所述兩個音視頻片段在時間軸中連續。

其中,步驟S803-806與實施例2中的步驟S202-205一致,本實施例中不再贅述。

綜上,本實施例提供的一種音視頻剪輯方法中,該依據接收的剪輯時戳,以GOP為單位從所述視頻流中選擇與所述剪輯時戳匹配的位置,包括:依次讀取所述視頻流中的圖像幀,在所述視頻流中選擇與所述剪輯時戳中的起始時戳相應的第一圖像幀,在所述視頻流中選擇與所述剪輯時戳中的結束時戳相應的第二圖像幀;將所述第一圖像幀所屬的GOP作為所述音視頻片段剪輯對應的起始GOP、將所述第二圖像幀所屬的GOP作為所述音視頻片段剪輯對應的結束GOP。采用該方法,通過選擇剪輯時戳對應的圖像幀所屬的GOP,并將該GOP作為剪輯對應的起GOP始或者結束GOP,保證了音視頻片段的開始和結束均將該剪輯時戳包含在內,且音視頻片段的開始和結束位置均是完整的GOP。

如圖10所示的為本申請提供的一種音視頻剪輯方法實施例5的流程圖,該方法可以包括以下步驟:

步驟S1001:依據接收的與所述視頻流對應的剪輯時戳,以GOP為單位從所述視頻流中選擇與所述剪輯時戳匹配的位置;

步驟S1002:以所述位置為剪切位置,從所述視頻流中獲取所述兩個音視頻片段;

其中,步驟S1001-1002與實施例2中的步驟S201-202一致,本實施例中不再贅述。

步驟S1003:依據預設的濾鏡時長以及一個GOP時長,分析得到每一所述音視頻片段中不小于所述濾鏡時長所需GOP的個數;

其中,該濾鏡時長一般為剪輯用戶自行設定,如2S、5S等,具體數值可以根據實際情況進行設置。

其中,該GOP時長預先可知,則將該濾鏡時長與一個該GOP的時長進行比對,得出該濾鏡時長所需的GOP個數。

具體的,GOP個數=濾鏡時長/一個GOP時長。

需要說明的是,當計算得到的GOP個數為非整數時,進一位取整數值。

需要說明的是,本實施例中涉及的濾鏡時長,是指該一個音視頻片段中對應的濾鏡時長,例如,該音視頻片段中涉及的淡入的時長或者淡出的時長。

具體實施中,該濾鏡時長為片段交接處的整體淡入淡出時長時,則該GOP個數與濾鏡時長的一半對應,即其對應的淡入/淡出所屬的音視頻片段中對應的濾鏡時長。

例如,當濾鏡時長為5S,一個GOP時長為3秒,則需要的GOP個數至少為2個;當濾鏡時長為2S,一個GOP時長為3秒,則需要的GOP個數至少為1個。

例如,視頻的GOP時長為3s,幀率為15FPS,即一個GOP包含45幀圖像,淡出淡入過渡時長為2s(即淡出1秒,淡入1秒),添加過渡效果就是對在前音視頻片段解碼后的最后15幀做淡出濾鏡,即最后一個GOP進行解碼和編碼處理,,對在后音視頻片段解碼后的開頭15幀做淡入濾鏡,即對第一個GOP進行解碼和編碼處理。

具體實施中,為降低對音視頻片段解碼、編碼的數據處理量,一般采用濾鏡時長所需GOP的個數的最小值。

步驟S1004:在每一所述音視頻片段的交接處,選擇所述個數的GOP組成GOP組;

其中,在音視頻片段進行拼接對應的交接處,確定相應的進行拼接所需的解碼、編碼以及濾鏡處理對應的GOP組。

具體的,該GOP組中包含有上述步驟S1003中確定的個數的GOP。

需要說明的是,該GOP組中的GOP按照視頻流的時間軸連續排列。

步驟S1005:分別對各所述音視頻片段中確定的待進行濾鏡處理的GOP組進行解碼、濾鏡處理以及編碼;

步驟S1006:將完成編碼的兩個音視頻片段進行拼接,以使得所述兩個音視頻片段在時間軸中連續。

其中,步驟S1005-1006與實施例2中的步驟S204-205一致,本實施例中不再贅述。

綜上,本實施例提供的一種音視頻剪輯方法中,該在每一所述音視頻片段中,確定待進行濾鏡處理的圖像群組GOP組,包括:依據預設的濾鏡時長以及一個GOP時長,分析得到每一所述音視頻片段中不小于所述濾鏡時長所需GOP的個數;在每一所述音視頻片段的交接處,選擇所述個數的GOP組成GOP組。采用該方法,依據預設濾鏡時長以及一個GOP的時長,確定該濾鏡所需的GOP個數,并在音視頻片段的交接處選擇相應個數的GOP組成的GOP組,以使得在后續僅針對該GOP組進行編碼解碼以及相應的濾鏡處理,降低CPU負載和生成視頻的時間。

其中,該待拼接的音視頻片段在時間軸中的排序在前時,在對該音視頻片段中末尾處的相應圖像幀進行濾鏡處理。

如圖11所示的為本申請提供的一種音視頻剪輯方法實施例6的流程圖,該方法可以包括以下步驟:

步驟S1101:依據接收的與所述視頻流對應的剪輯時戳,以GOP為單位從所述視頻流中選擇與所述剪輯時戳匹配的位置;

步驟S1102:以所述位置為剪切位置,從所述視頻流中獲取所述兩個音視頻片段;

步驟S1103:依據預設的濾鏡時長以及一個GOP時長,分析得到每一所述音視頻片段中不小于所述濾鏡時長所需GOP的個數;

其中,步驟S1101-1103與實施例5中的步驟S1001-1003一致,本實施例中不再贅述。

步驟S1104:按照所述視頻流的時間軸順序,依次讀取所述音視頻片段的圖像幀;

步驟S1105:判斷當前幀的時戳是否大于所述音視頻片段的結束時戳與所述個數的GOP時間總長度之差,得到第一判斷結果;

步驟S1106:判斷所述當前幀是否為其所屬的GOP的關鍵幀,得到第二判斷結果;

步驟S1107:基于所述第一判斷結果表征當前幀的時戳大于所述音視頻片段的結束時戳與所述個數的GOP時間總長度之差,且所述第二判斷結果表征當前幀為關鍵幀,則確定所述當前幀所屬的GOP為所述交接處的起始GOP;

具體的,對該音視頻片段中的圖像幀依次進行讀取,每個圖像幀對應一個時戳,當讀取到的當前幀的時戳與該音視頻片段的結束時戳之間的差剛好大于該GOP組的總長度時,并且該當前幀為其所屬的GOP的關鍵幀,即I幀時,則可以確定當前幀開始的GOP為該音視頻片段的GOP組。

具體實施中,為保證為提高剪輯的精度,還可以采用當前幀的時間戳>GOP組的時間長度-1確定相應的起始GOP。

需要說明的是,具體實施中,可以在剪切視頻流得到音視頻片段過程中,直接對其剪切點對應的性質進行分析,如其剪切點也是拼接的交接處時,則直接對其進行濾鏡處理對應的GOP組進行分析,以減少因為剪切下音視頻片段后,再重復讀取圖像幀導致的時間浪費。

步驟S1108:在所述音視頻片段中從所述起始GOP開始獲取所述個數的GOP,得到所述GOP組;

其中,確定了GOP組的起始GOP后,從該起始GOP開始獲取該個數的GOP,即到達該音視頻片段的結束位置的GOP,該獲取的幾個GOP組成了GOP組。

如圖12所示的為音視頻片段的一種GOP組示意圖,其中,該音視頻片段為在前的音視頻片段,則需要對其靠近結束位置的GOP組1201進行解碼編碼處理,在該圖12中,該GOP組為一個GOP。

如圖13所示的為音視頻片段的另一種GOP組示意圖,其中,該音視頻片段為在前的音視頻片段,則需要對其靠近結束位置的GOP組1301進行解碼編碼處理,在該圖13中,該GOP組為2個GOP。

步驟S1109:分別對各所述音視頻片段中確定的待進行濾鏡處理的GOP組進行解碼、濾鏡處理以及編碼;

步驟S1110:將完成編碼的兩個音視頻片段進行拼接,以使得所述兩個音視頻片段在時間軸中連續。

其中,步驟S1109-1110與實施例5中的步驟1005-1006一致,本實施例中不再贅述。

綜上,本實施例提供的一種音視頻剪輯方法中,當所述音視頻片段在時間軸的排序在前時,則在所述音視頻片段的交接處,選擇所述個數的GOP組成GOP組,包括:按照所述視頻流的時間軸順序,依次讀取所述音視頻片段的圖像幀,判斷當前幀的時戳是否大于所述音視頻片段的結束時戳與所述個數的GOP時間總長度之差,得到第一判斷結果;判斷所述當前幀是否為其所屬的GOP的關鍵幀,得到第二判斷結果;基于所述第一判斷結果表征當前幀的時戳大于所述音視頻片段的結束時戳與所述個數的GOP時間總長度之差,且所述第二判斷結果表征當前幀為關鍵幀,則確定所述當前幀所屬的GOP為所述交接處的起始GOP;在所述音視頻片段中從所述起始GOP開始獲取所述個數的GOP,得到所述GOP組。采用該方法,對排序在前的音視頻片段的末尾位置的GOP組進行分析確定,得到其進行解碼編碼以及濾鏡處理對應的GOP,準確定位GOP組,降低CPU負載和生成視頻的時間。

其中,該待拼接的音視頻片段在時間軸中的排序在后時,在對該音視頻片段中開始處的相應圖像幀進行濾鏡處理。

如圖14所示的為本申請提供的一種音視頻剪輯方法實施例7的流程圖,該方法可以包括以下步驟:

步驟S1401:依據接收的與所述視頻流對應的剪輯時戳,以GOP為單位從所述視頻流中選擇與所述剪輯時戳匹配的位置;

步驟S1402:以所述位置為剪切位置,從所述視頻流中獲取所述兩個音視頻片段;

步驟S1403:依據預設的濾鏡時長以及一個GOP時長,分析得到每一所述音視頻片段中不小于所述濾鏡時長所需GOP的個數;

其中,步驟S1001-1002與實施例5中的步驟S1001-1003一致,本實施例中不再贅述。

步驟S1404:按照所述視頻流的時間軸順序,從所述音視頻片段的起始位置開始,選擇所述個數的GOP組成GOP組;

需要說明的是,由于前述步驟中,對視頻流進行剪輯得到音視頻片段時,是以GOP為單位進行剪切的,則相應該音視頻片段的第一幀必然為I幀,即,其起始的為一個完整的GOP。

具體實施中,當該音視頻片段的排序在后時,則其交接處在該音視頻片段的起始位置,相應的,對該音視頻片段起始位置開始的幾個GOP組組成的GOP組進行獲取。

如圖15所示的為音視頻片段的GOP組示意圖,其中音視頻片段為在后的音視頻片段,則需要對其開始位置的GOP組1501進行解碼編碼處理,在該圖15中,該GOP組為1個GOP。

需要說明的是,具體實施中,該GOP組可以為多個GOP,本實施例中不做限制。

需要說明的是,具體實施中,也可以在剪切視頻流得到音視頻片段過程中,直接對其剪切點對應的性質進行分析,如其剪切點也是拼接的交接處時,則直接對其進行濾鏡處理對應的GOP組進行分析,以減少因為剪切下音視頻片段后,再重復讀取圖像幀導致的時間浪費。

步驟S1405:分別對各所述音視頻片段中確定的待進行濾鏡處理的GOP組進行解碼、濾鏡處理以及編碼;

步驟S1406:將完成編碼的兩個音視頻片段進行拼接,以使得所述兩個音視頻片段在時間軸中連續。

其中,步驟S1405-1406與實施例5中的步驟S1005-1006一致,本實施例中不再贅述。

綜上,本實施例提供的一種音視頻剪輯方法中,所述音視頻片段在時間軸的排序在后時,則所述在所述音視頻片段的交接處,選擇所述個數的GOP組成GOP組,包括:按照所述視頻流的時間軸順序,從所述音視頻片段的起始位置開始,選擇所述個數的GOP組成GOP組。采用該方法,對排序在后的音視頻片段的開始位置的GOP組進行分析確定,得到其進行解碼編碼以及濾鏡處理對應的GOP,準確定位GOP組,降低CPU負載和生成視頻的時間。

如圖16所示的為本申請提供的一種音視頻剪輯方法實施例8的流程圖,該方法可以包括以下步驟:

步驟S1601:依據接收的與所述視頻流對應的剪輯時戳,以GOP為單位從所述視頻流中選擇與所述剪輯時戳匹配的位置;

步驟S1602:以所述位置為剪切位置,從所述視頻流中獲取所述兩個音視頻片段;

步驟S1603:依據預設的濾鏡時長以及一個GOP時長,分析得到每一所述音視頻片段中不小于所述濾鏡時長所需GOP的個數;

步驟S1604:按照所述視頻流的時間軸順序,依次讀取所述音視頻片段的圖像幀;

步驟S1605:判斷當前幀的時戳是否大于所述音視頻片段的結束時戳與所述個數的GOP時間總長度之差,得到第一判斷結果;

步驟S1606:判斷所述當前幀是否為其所屬的GOP的關鍵幀,得到第二判斷結果;

步驟S1607:基于所述第一判斷結果表征當前幀的時戳大于所述音視頻片段的結束時戳與所述個數的GOP時間總長度之差,且所述第二判斷結果表征當前幀為關鍵幀,則確定所述當前幀所屬的GOP為所述交接處的起始GOP;

步驟S1608:在所述音視頻片段中從所述起始GOP開始獲取所述個數的GOP,得到所述GOP組;

其中,步驟S1601-1608與實施例6中的步驟S1101-1108一致,本實施例中不再贅述。

步驟S1609:按照所述視頻流的時間軸順序,依次對所述音視頻片段的所述GOP組進行解碼,得到第一解碼數據;

具體的,按照該視頻流的時間軸順序,對該音視頻片段中的GOP組進行解碼,將GOP組中的各個幀均解碼為具有完整圖像信息的圖像幀信息。

其中,該第一解碼數據中該GOP組中所有幀均具有完整圖像信息。

步驟S1610:在依次讀取所述音視頻片段的圖像幀過程中,依據預設的濾鏡時長,判斷得到所述音視頻片段的所述GOP組中的當前幀為過渡幀,對所述第一解碼數據中從當前幀開始的剩余幀進行淡出濾鏡處理;

具體的,依據預設的濾鏡時長,確定該GOP組的某一幀為過渡幀,則從該過渡幀開始至該音視頻片段結束的一幀均屬于淡出濾鏡處理范圍。

相應的,在依次讀取所述音視頻片段的圖像幀過程中,對該音視頻片段中的GOP組進行解碼時,判斷其讀取的每一幀是否為過渡幀,并在判斷得到當前讀取的當前幀為過渡幀時,開始進行淡出濾鏡處理,至該音視頻片段結束的最后一幀。

步驟S1611:將經過淡出濾鏡處理的所述GOP組進行編碼,將得到的第一編碼數據寫入所述音視頻片段對應的視頻包中;

其中,在對音視頻片段的GOP組完成淡出濾鏡處理后,對該GOP組進行編碼,使其編碼形式與該音視頻片段中的其他GOP的編碼方式一致,并將編碼得到的第一編碼數據寫入該音視頻片段對應的視頻包中,完成對該音視頻片段的淡出濾鏡處理。

具體的,其中,該步驟S1611中,所述將得到的第一編碼數據寫入所述音視頻片段對應的視頻包中,具體包括:依據預設的時戳數據對應關系,確定編碼得到第一編碼數據對應的時戳;按照時戳順序,將所述第一編碼數據寫入所述視頻包中。

需要說明的是,由于在對音視頻數據進行解碼和編碼過程中存在緩存的情況,還有一些編碼格式存在B幀,導致輸入幀和輸出幀之間的pts(Presentation Time Stamp,顯示時間戳)和順序都是不一致,則本申請中相應的提供了一種時戳數據對應關系,相應的,基于時戳,確定輸入幀與輸出幀之間的對應關系,即輸入幀經過處理后,得到輸出幀,基于該時戳,確定該輸出幀與該輸入幀對應,進而將該輸出幀寫入該輸入幀在該視頻包中的相應位置處,保證每個數據包二次編碼前后數據和時戳保持一致。

具體實施中,該可以通過介質對的方式進行存儲,其中,鍵表示時戳,值表示數據。

具體實施中,由于該剪切以及解碼編碼的過程是在讀取該視頻流的過程中實現的,則相應的,在讀取到需要進行剪切的音視頻片段時,執行對該視頻流的剪切,并針對剪切位置是否為交接處進行判斷,進而在確定為交接處后,直接對該交接處的GOP組進行判斷,并從該GOP組的起始GOP開始進行解碼以及相應的進行濾鏡處理的圖像幀進行濾鏡處理,在完成濾鏡處理后,對該GOP組相應的進行編碼,并寫入相應的視頻包中,完成對一個音視頻片段的處理,并繼續對該視頻流進行讀取,進行后續的音視頻片段的剪切以及解碼、濾鏡處理和編碼的過程。

步驟S1612:將完成編碼的兩個音視頻片段進行拼接,以使得所述兩個音視頻片段在時間軸中連續。

其中,步驟S1612與實施例6中的步驟1110一致,本實施例中不再贅述。

具體實施中,在完成第一解碼數據后,還要依據所述第一編碼數據,更新所述視頻包的參數信息。

其中,該參數信息可以包括size(視頻數據包的大小)信息等。

綜上,本實施例提供的一種音視頻剪輯方法中,該對音視頻片段中確定的待進行濾鏡處理的GOP組進行解碼、濾鏡處理以及編碼,包括:按照所述視頻流的時間軸順序,依次對所述音視頻片段的所述GOP組進行解碼,得到第一解碼數據;在依次讀取所述音視頻片段的圖像幀過程中,依據預設的濾鏡時長,判斷得到所述音視頻片段的所述GOP組中的當前幀為過渡幀,對所述第一解碼數據中從當前幀開始的剩余幀進行淡出濾鏡處理;將經過淡出濾鏡處理的所述GOP組進行編碼,將得到的第一編碼數據寫入所述音視頻片段對應的視頻包中。采用該方法,在確定的GOP組進行解碼,并選擇過渡幀開始的淡出濾鏡處理,將經過淡出濾鏡處理的GOP祖進行編碼得到編碼數據并寫入音視頻片段對應的視頻包中,完成解碼、濾鏡處理以及編碼過程,且只需要做過渡效果的圖像幀所在GOP組做解編碼,無需對整段視頻進行二次編碼,設備CPU的只需對較少的視頻進行二次編碼,降低CPU負載和生成視頻的時間。

如圖17所示的為本申請提供的一種音視頻剪輯方法實施例9的流程圖,該方法可以包括以下步驟:

步驟S1701:依據接收的與所述視頻流對應的剪輯時戳,以GOP為單位從所述視頻流中選擇與所述剪輯時戳匹配的位置;

步驟S1702:以所述位置為剪切位置,從所述視頻流中獲取所述兩個音視頻片段;

步驟S1703:依據預設的濾鏡時長以及一個GOP時長,分析得到每一所述音視頻片段中不小于所述濾鏡時長所需GOP的個數;

步驟S1704:按照所述視頻流的時間軸順序,從所述音視頻片段的起始位置開始,選擇所述個數的GOP組成GOP組;

其中,步驟S1701-1701與實施例7中的步驟S1401-1404一致,本實施例中不再贅述。

步驟S1705:按照所述視頻流的時間軸順序,依次對所述音視頻片段的所述GOP組進行解碼,得到第二解碼數據;

體的,按照該視頻流的時間軸順序,對該音視頻片段中的GOP組進行解碼,將GOP組中的各個幀均解碼為具有完整圖像信息的圖像幀信息。

其中,該第二解碼數據中該GOP組中所有幀均具有完整圖像信息。

步驟S1706:在依次讀取所述音視頻片段的圖像幀過程中,從所述音視頻片段第一幀開始至與預設的濾鏡時長對應時戳的圖像幀結束,對所述第二解碼數據進行淡入濾鏡處理;

其中,該音視頻片段為淡入濾鏡處理,則從該音視頻片段的第一幀開始進行濾鏡處理,并且該濾鏡時長對應的時戳的圖像幀為結束,完成對該第二解碼數據的淡入濾鏡處理。

步驟S1707:將經過淡入濾鏡處理的所述GOP組進行編碼,將得到的第二編碼數據寫入所述音視頻片段對應的視頻包中;

其中,在對音視頻片段的GOP組完成淡入濾鏡處理后,對該GOP組進行編碼,使其編碼形式與該音視頻片段中的其他GOP的編碼方式一致,并將編碼得到的第二編碼數據寫入該音視頻片段對應的視頻包中,完成對該音視頻片段的淡入濾鏡處理。

具體的,其中,該步驟S1707中,所述將得到的第二編碼數據寫入所述音視頻片段對應的視頻包中,具體的過程可以參考前述實施例8中的將第一編碼數據寫入音視頻片段對應的視頻包的相應內容。

與實施例8中類似的,還要根據該第二編碼數據更新視頻包的參數信息。

步驟S1708:將完成編碼的兩個音視頻片段進行拼接,以使得所述兩個音視頻片段在時間軸中連續。

其中,步驟S1708與實施例7中的步驟S1406一致,本實施例中不再贅述。

綜上,本實施例提供的一種音視頻剪輯方法中,所述音視頻片段在時間軸的排序在后時,則對音視頻片段中確定的待進行濾鏡處理的GOP組進行解碼、濾鏡處理以及編碼,包括:按照所述視頻流的時間軸順序,依次對所述音視頻片段的所述GOP組進行解碼,得到第二解碼數據;在依次讀取所述音視頻片段的圖像幀過程中,從所述音視頻片段第一幀開始至與預設的濾鏡時長對應時戳的圖像幀結束,對所述第二解碼數據進行淡入濾鏡處理;將經過淡入濾鏡處理的所述GOP組進行編碼,將得到的第二編碼數據寫入所述音視頻片段對應的視頻包中。采用該方法,在確定的GOP組進行解碼,并從音視頻片段的第一幀至與預設的濾鏡時長對應時戳的圖像幀結束進行淡入濾鏡處理,將經過淡入濾鏡處理的GOP祖進行編碼得到編碼數據并寫入音視頻片段對應的視頻包中,完成解碼、濾鏡處理以及編碼過程,且只需要做過渡效果的圖像幀所在GOP組做解編碼,無需對整段視頻進行二次編碼,設備CPU的只需對較少的視頻進行二次編碼,降低CPU負載和生成視頻的時間。

如圖18所示的為本申請提供的一種音視頻剪輯方法實施例10的流程圖,該方法可以包括以下步驟:

步驟S1801:分析運行平臺的類型;

其中,該運行平臺的類型可以包括:android(安卓)、iOS(蘋果移動設備操作系統)以及其他。

具體實施中,該其他平臺采用Windows(微軟視窗)系統、Linux等。

本實施例中,針對不同的運行平臺設置不同的硬件編解碼器參數,以實現針對不同運行平臺的接口設置相應的參數。

步驟S1802:根據平臺類型配置相應的硬件編解碼器參數;

具體的,該硬件編解碼器包括:MediaCodec、ffmpeg、VideoToolBox等。

具體的,該Android采用MediaCodec(次選ffmpeg),該iOS采用CodecEngine,其他類型采用ffmpeg。

需要說明的是,由于硬件編解碼器在android/iOS平臺存在系統版本和芯片兼容性問題,例如MediaCodec要求系統在android4.1+,VideoToolbox要求系統在iOS 8.0+,必須在硬件編解碼器配置失敗后,重新配置通用編解碼器ffmpeg。

具體的,編解碼器的設置,充分考慮到跨平臺的性能以及兼容性,抽象出編解碼器的接口:CodecEngine。考慮到移動平臺的功耗,性能開銷,CodecEngine在Android/iOS平臺上實現了各自系統上硬件編解碼接口,window/Linux等平臺實現基于ffmpeg+x264的通用編解碼接口。

具體實施中,該配置硬件編解碼器參數的具體過程為:解析源媒體文件,保存音視頻流格式信息,根據音視頻流格式設置編解碼器,創建輸出文件,并寫入媒體頭信息。

步驟S1803:獲取待剪輯拼接的兩個音視頻片段;

步驟S1804:在每一所述音視頻片段中,確定待進行濾鏡處理的圖像群組GOP組;

步驟S1805:分別對各所述音視頻片段中確定的待進行濾鏡處理的GOP組進行解碼、濾鏡處理以及編碼;

步驟S1806:將完成編碼的兩個音視頻片段進行拼接,以使得所述兩個音視頻片段在時間軸中連續。

其中,步驟S1803-1806與實施例1中的步驟S101-104一致,本實施例中不再贅述。

綜上,本實施例提供的一種音視頻剪輯方法中,在獲取待剪輯連接的兩個音視頻片段之前還包括:分析運行平臺的類型;根據平臺類型配置相應的硬件編解碼器參數。采用該方法,通過對平臺配置相應的硬件編解碼器參數,以使得解碼編碼都采用平臺的硬件編解碼器,最大程度的降低CPU負載和生成視頻的時間。

上述本發明提供的實施例中詳細描述了一種音視頻剪輯方法,對于本發明的音視頻剪輯方法可采用多種形式的裝置實現,因此本發明還提供了一種應用該音視頻剪輯方法的裝置,下面給出具體的實施例進行詳細說明。

如圖19所示的為本申請提供的一種音視頻剪輯裝置實施例1的結構示意圖,該電子設備可以采用臺式機、智能電視、移動終端(手機、筆記本、平板電腦等)、計算機等。該電子設備可以包括以下結構:獲取單元1901、分析單元1902、處理單元1903和拼接單元1904;

其中,該獲取單元1901,用于獲取待剪輯拼接的兩個音視頻片段,所述兩個音視頻片段的編碼格式相同;

其中,該分析單元1902,用于在每一所述音視頻片段中,確定待進行濾鏡處理的圖像群組GOP組,所述GOP組包含至少一個GOP;

其中,該處理單元1903,用于分別對各所述音視頻片段中確定的待進行濾鏡處理的GOP組進行解碼、濾鏡處理以及編碼;

其中,該拼接單元1904,用于將完成編碼的兩個音視頻片段進行拼接,以使得所述兩個音視頻片段在時間軸中連續。

優選的,所述兩個音視頻片段屬于同一視頻流,所述獲取單元用于:

依據接收的與所述視頻流對應的剪輯時戳,以GOP為單位從所述視頻流中選擇與所述剪輯時戳匹配的位置;

以所述位置為剪切位置,從所述視頻流中獲取所述兩個音視頻片段。

優選的,所述兩個音視頻片段屬于不同視頻流,所述獲取單元用于:

依據接收的與第一視頻流對應的剪輯時戳,以GOP為單位從第一視頻流中選擇與第一視頻流對應的剪輯時戳匹配的位置作為剪切位置,從所述第一視頻流中獲取第一音視頻片段;

依據接收的與第二視頻流對應的剪輯時戳,以GOP為單位從第二視頻流中選擇與第二視頻流對應的剪輯時戳匹配的位置作為剪切位置,從所述第二視頻流中獲取第二音視頻片段。

優選的,所述獲取單元具體用于:

依次讀取所述視頻流中的圖像幀,在所述視頻流中選擇與所述剪輯時戳中的起始時戳相應的第一圖像幀,在所述視頻流中選擇與所述剪輯時戳中的結束時戳相應的第二圖像幀;

將所述第一圖像幀所屬的GOP作為所述音視頻片段剪輯對應的起始GOP、將所述第二圖像幀所屬的GOP作為所述音視頻片段剪輯對應的結束GOP。

優選的,所述獲取單元具體用于:

依據預設的濾鏡時長以及一個GOP時長,分析得到每一所述音視頻片段中不小于所述濾鏡時長所需GOP的個數;

在每一所述音視頻片段的交接處,選擇所述個數的GOP組成GOP組。

優選的,所述音視頻片段在時間軸的排序在前時,所述分析單元用于:

按照所述視頻流的時間軸順序,依次讀取所述音視頻片段的圖像幀,判斷當前幀的時戳是否大于所述音視頻片段的結束時戳與所述個數的GOP時間總長度之差,得到第一判斷結果;判斷所述當前幀是否為其所屬的GOP的關鍵幀,得到第二判斷結果;

基于所述第一判斷結果表征當前幀的時戳大于所述音視頻片段的結束時戳與所述個數的GOP時間總長度之差,且所述第二判斷結果表征當前幀為關鍵幀,則確定所述當前幀所屬的GOP為所述交接處的起始GOP;

在所述音視頻片段中從所述起始GOP開始獲取所述個數的GOP,得到所述GOP組。

優選的,所述分析單元具體用于:按照所述視頻流的時間軸順序,依次對所述音視頻片段的所述GOP組進行解碼,得到第一解碼數據;

在依次讀取所述音視頻片段的圖像幀過程中,依據預設的濾鏡時長,判斷得到所述音視頻片段的所述GOP組中的當前幀為過渡幀,對所述第一解碼數據中從當前幀開始的剩余幀進行淡出濾鏡處理;

將經過淡出濾鏡處理的所述GOP組進行編碼,將得到的第一編碼數據寫入所述音視頻片段對應的視頻包中。

優選的,還包括:更新單元,用于依據所述第一編碼數據,更新所述視頻包的參數信息。

優選的,所述處理單元,用于:

依據預設的時戳數據對應關系,確定編碼得到第一編碼數據對應的時戳;

按照時戳順序,將所述第一編碼數據寫入所述視頻包中。

優選的,所述音視頻片段在時間軸的排序在后時,所述分析單元用于:

按照所述視頻流的時間軸順序,從所述音視頻片段的起始位置開始,選擇所述個數的GOP組成GOP組。

優選的,所述處理單元,用于

按照所述視頻流的時間軸順序,依次對所述音視頻片段的所述GOP組進行解碼,得到第二解碼數據;

在依次讀取所述音視頻片段的圖像幀過程中,從所述音視頻片段第一幀開始至與預設的濾鏡時長對應時戳的圖像幀結束,對所述第二解碼數據進行淡入濾鏡處理;

將經過淡入濾鏡處理的所述GOP組進行編碼,將得到的第二編碼數據寫入所述音視頻片段對應的視頻包中。

優選的,還包括:配置單元,用于:

分析運行平臺的類型;

根據平臺類型配置相應的硬件編解碼器參數。

綜上,本實施例提供的一種音視頻剪輯裝置中,在對音視頻剪輯添加濾鏡處理的過程中,僅需要對待剪輯連接的每個音視頻片段中處于濾鏡處理范圍內的幾個圖像群組GOP中對應的圖像幀做過渡效果,相應的,只需要做過渡效果的圖像幀所在GOP做一次解編碼,無需對整段視頻進行二次編碼,設備CPU的只需對較少的視頻進行二次編碼,降低CPU負載和生成視頻的時間。

需要說明的是,本說明書中的各個實施例均采用遞進的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似的部分互相參見即可。對于裝置類實施例而言,由于其與方法實施例基本相似,所以描述的比較簡單,相關之處參見方法實施例的部分說明即可。

最后,還需要說明的是,在本文中,諸如第一和第二等之類的關系術語僅僅用來將一個實體或者操作與另一個實體或操作區分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關系或者順序。而且,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設備中還存在另外的相同要素。

以上對本申請所提供的一種音視頻剪輯方法及裝置進行了詳細介紹,本文中應用了具體個例對本申請的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助理解本申請的方法及其核心思想;同時,對于本領域的一般技術人員,依據本申請的思想,在具體實施方式及應用范圍上均會有改變之處,綜上所述,本說明書內容不應理解為對本申請的限制。

當前第1頁1 2 3 
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
主站蜘蛛池模板: 曲靖市| 靖安县| 武川县| 望奎县| 汉源县| 庐江县| 分宜县| 揭阳市| 千阳县| 万宁市| 衡阳市| 武乡县| 独山县| 潢川县| 吕梁市| 宜宾市| 安乡县| 沙河市| 达州市| 台北市| 韩城市| 孙吴县| 尼木县| 吉安市| 灵山县| 出国| 东安县| 高陵县| 翁牛特旗| 浦城县| 彭山县| 阿勒泰市| 济源市| 咸阳市| 长阳| 永吉县| 隆安县| 黔江区| 临泽县| 大洼县| 济源市|