中,得到目標(biāo)視頻文件;
[0077]預(yù)定順序可以包括以下三種順序中的任意一種:
[0078]靜態(tài)圖片對(duì)應(yīng)的至少一個(gè)圖像幀數(shù)據(jù)在前,本次拍攝的至少一個(gè)幀數(shù)據(jù)在后的順序;或,
[0079]本次拍攝的至少一個(gè)幀數(shù)據(jù)在前,靜態(tài)圖片素材對(duì)應(yīng)的至少一個(gè)圖像幀數(shù)據(jù)在后的順序;或,
[0080]本次拍攝的至少一個(gè)幀數(shù)據(jù)中的一部分在前,靜態(tài)圖片對(duì)應(yīng)的至少一個(gè)圖像幀數(shù)據(jù)在中間,本次拍攝的至少一個(gè)幀數(shù)據(jù)中的另一部分在后的順序。
[0081]如圖2D所示,本實(shí)施例以第一種順序?yàn)槔M(jìn)行說(shuō)明:
[0082]一、移動(dòng)終端將得到的靜態(tài)圖片對(duì)應(yīng)的至少一個(gè)圖像幀數(shù)據(jù)按照預(yù)定格式編碼入視頻文件。本步驟可以包括:
[0083]1、移動(dòng)終端根據(jù)預(yù)定格式設(shè)置視頻流編碼器、視頻流編碼參數(shù)、音頻流編碼器和音頻流編碼參數(shù);
[0084]視頻流編碼參數(shù)包括視頻格式、圖像幀數(shù)據(jù)的寬、圖像幀數(shù)據(jù)的高等;
[0085]音頻流編碼參數(shù)包括碼率,聲道數(shù),是否是立體聲等。
[0086]2、根據(jù)與預(yù)定格式對(duì)應(yīng)的視頻流編碼器和視頻流編碼參數(shù)將靜態(tài)圖片對(duì)應(yīng)的圖像幀數(shù)據(jù)編碼入視頻文件。
[0087]上述過(guò)程也可以使用開源免費(fèi)跨平臺(tái)的視頻和音頻流方案ffmpeg實(shí)現(xiàn)。
[0088]二、將本次拍攝的至少一個(gè)幀數(shù)據(jù)按照預(yù)定格式編碼入視頻文件中。
[0089]也即,移動(dòng)終端根據(jù)與預(yù)定格式對(duì)應(yīng)的視頻流編碼器和視頻流編碼參數(shù)將本次拍攝的圖像幀數(shù)據(jù)編碼入視頻文件;根據(jù)與預(yù)定格式對(duì)應(yīng)的音頻流編碼器和音頻流編碼參數(shù)將本次拍攝的音頻幀數(shù)據(jù)編碼入視頻文件中,得到目標(biāo)視頻文件。
[0090]第二種順序的示意圖如圖2E所示,第三種順序的示意圖如圖2F所示。
[0091]綜上所述,本實(shí)施例提供的視頻拍攝方法,通過(guò)將多媒體素材處理為本次拍攝的目標(biāo)視頻文件中的一部分視頻內(nèi)容;解決了目前的視頻拍攝方法的整個(gè)拍攝過(guò)程無(wú)法真正終斷的問(wèn)題;達(dá)到了可以基于其它多媒體素材,比如,當(dāng)前用戶或者其它用戶在其它時(shí)間段已經(jīng)拍攝完畢的視頻文件進(jìn)行續(xù)拍,來(lái)完成本次拍攝的效果。
[0092]需要補(bǔ)充說(shuō)明的是,步驟203只要在編碼之前執(zhí)行即可,具體執(zhí)行順序不加以具體限定。比如,采用第一種順序拍攝時(shí),步驟203可以在步驟205中將靜態(tài)圖片對(duì)應(yīng)的至少一個(gè)幀數(shù)據(jù)編碼入視頻文件之后執(zhí)行;又比如,采用第二種順序拍攝時(shí),步驟203可以在步驟201之前執(zhí)行;再比如,采用第三種順序拍攝時(shí),步驟203可以在步驟201之前執(zhí)行一次,在步驟205中將靜態(tài)圖片對(duì)應(yīng)的至少一個(gè)幀數(shù)據(jù)編碼入視頻文件之后,再次執(zhí)行一次。
[0093]需要補(bǔ)充說(shuō)明的是,在步驟205之前,若靜態(tài)圖片對(duì)應(yīng)的圖像幀數(shù)據(jù)為RGB(RedGreen Blue,紅綠藍(lán))格式而本次拍攝的圖像幀數(shù)據(jù)為YUV (Luma Chroma,亮度色度)格式,則移動(dòng)終端可以將本次拍攝得到的圖像幀數(shù)據(jù)從YUV格式轉(zhuǎn)換為RGB格式,不僅使得圖像幀數(shù)據(jù)的格式一致,而且還可以基于RGB格式的圖像幀數(shù)據(jù)在續(xù)拍過(guò)程中添加濾鏡或者特效。
[0094]需要補(bǔ)充說(shuō)明的是,在步驟205之前,若靜態(tài)圖片對(duì)應(yīng)的圖像幀數(shù)據(jù)與本次拍攝的圖像幀數(shù)據(jù)的角度不同,則移動(dòng)終端將本次拍攝的圖像幀數(shù)據(jù)進(jìn)行旋轉(zhuǎn),使解碼得到的圖像幀數(shù)據(jù)與本次拍攝的圖像幀數(shù)據(jù)的角度相同。從而使得續(xù)拍得到的目標(biāo)視頻文件中的圖像幀數(shù)據(jù)的角度一致。比如,將靜態(tài)圖片對(duì)應(yīng)豎向的圖像幀數(shù)據(jù),而本次拍攝的是橫拍得到的圖像幀數(shù)據(jù),則可以將本次拍攝的圖像幀數(shù)據(jù)旋轉(zhuǎn)90度,由橫向的圖像幀數(shù)據(jù)轉(zhuǎn)換為豎向的圖像幀數(shù)據(jù)。
[0095]請(qǐng)參考圖3A,其示出了本發(fā)明另一個(gè)實(shí)施例提供的視頻拍攝方法的方法流程圖。本實(shí)施例以該視頻拍攝方法應(yīng)用于移動(dòng)終端中來(lái)舉例說(shuō)明,該移動(dòng)終端可以是安裝有社交類應(yīng)用或者短視頻分享應(yīng)用的移動(dòng)終端,該方法包括:
[0096]步驟301,獲取多媒體素材,多媒體素材包括圖片或視頻文件;
[0097]本實(shí)施例以多媒體素材為動(dòng)態(tài)圖片為例,動(dòng)態(tài)圖片一般是由多張靜態(tài)圖片幀組合而成的,這種圖片將組合而成的各幀按一定的速度進(jìn)行播放,而形成動(dòng)態(tài)的圖片效果。
[0098]與靜態(tài)圖片類似的,動(dòng)態(tài)圖片的獲取方法也包括以下四種:
[0099]I)從本地存儲(chǔ)器中獲?。?br>[0100]移動(dòng)終端在接收到用戶的操作指令后,獲取本地存儲(chǔ)器中指定位置的動(dòng)態(tài)圖片。
[0101]2)從網(wǎng)絡(luò)存儲(chǔ)器中獲?。?br>[0102]移動(dòng)終端在接收到用戶的操作指令后,獲取用戶對(duì)應(yīng)的網(wǎng)絡(luò)存儲(chǔ)器中指定位置的動(dòng)態(tài)圖片。網(wǎng)絡(luò)存儲(chǔ)器可以是各種位于云端的網(wǎng)盤。
[0103]3)從社交類應(yīng)用的好友所分享的文件中獲?。?br>[0104]作為一種新穎的獲取方式,如果移動(dòng)終端為安裝有社交類應(yīng)用的終端,則移動(dòng)終端可以從社交類應(yīng)用中的好友所分享的文件中獲取動(dòng)態(tài)圖片。
[0105]4)從短視頻分享應(yīng)用中由他人或平臺(tái)所分享的文件中獲取動(dòng)態(tài)圖片。
[0106]作為另一種新穎的獲取方式,如果移動(dòng)終端為安裝有短視頻分享應(yīng)用的終端,則移動(dòng)終端可以從短視頻分享應(yīng)用中由他人或平臺(tái)所分享的文件中獲取動(dòng)態(tài)圖片。
[0107]比如,如圖3B所示,移動(dòng)終端為安裝有短視頻分享應(yīng)用的終端,用戶可以通過(guò)點(diǎn)擊“動(dòng)態(tài)圖片”按鈕32來(lái)觸發(fā)移動(dòng)終端顯示彈出框34,然后用戶可以在彈出框34中選擇一種獲取動(dòng)態(tài)圖片的方式來(lái)獲取素材文件。
[0108]步驟302,對(duì)動(dòng)態(tài)圖片進(jìn)行拆分處理,得到動(dòng)態(tài)圖片所包括的至少一個(gè)圖像幀數(shù)據(jù);
[0109]本實(shí)施例以GIF格式的動(dòng)態(tài)圖片為例,GIF(Graphics Interchange Format)的原義是“圖像互換格式”,GIF文件的數(shù)據(jù)是一種基于LZW算法的連續(xù)色調(diào)的無(wú)損壓縮格式,移動(dòng)終端可以直接提取出包含在GIF格式圖片內(nèi)的多張靜態(tài)圖片幀。
[0110]在得到GIF圖片的各個(gè)幀的靜態(tài)圖片之后之后,可以將這些靜態(tài)圖片變化處理后作為將要添加進(jìn)視頻文件的圖像幀數(shù)據(jù),這里所說(shuō)的變化處理可以包括:平移變化;和/或,縮放變化;和/或,旋轉(zhuǎn)變化;和/或,消隱變化。
[0111]步驟303,獲取本次拍攝的至少一個(gè)幀數(shù)據(jù);
[0112]移動(dòng)終端可以通過(guò)內(nèi)置攝像頭或外接攝像頭獲取本次拍攝的至少一個(gè)幀數(shù)據(jù)。在不拍攝聲音時(shí),幀數(shù)據(jù)只包括圖像幀數(shù)據(jù);在同時(shí)拍攝聲音和圖像時(shí),幀數(shù)據(jù)即包括圖像幀數(shù)據(jù),還包括音頻幀數(shù)據(jù)。
[0113]比如,移動(dòng)終端為內(nèi)置有攝像頭的手機(jī),則移動(dòng)終端可以通過(guò)內(nèi)置的攝像頭獲取本次拍攝的一個(gè)個(gè)幀數(shù)據(jù)。
[0114]比如,移動(dòng)終端為沒(méi)有內(nèi)置攝像頭的平板電腦,則移動(dòng)終端可以通過(guò)外接攝像頭獲取本次拍攝的一個(gè)個(gè)幀數(shù)據(jù)。
[0115]步驟304,為本次拍攝新建一個(gè)空的視頻文件;
[0116]移動(dòng)終端可以為本次拍攝新建一個(gè)空的視頻文件,這個(gè)空的視頻文件相當(dāng)于一個(gè)“容器”,用于存儲(chǔ)圖像幀數(shù)據(jù)和音頻幀數(shù)據(jù)。
[0117]以MP4格式為例,這個(gè)空的視頻文件可以只有一個(gè)視頻頭文件,主要記錄視頻的一些基本信息:視頻的寬高、時(shí)長(zhǎng)、碼率、編碼格式、幀列表、音頻的采樣率、音頻的聲道數(shù)坐寸ο
[0118]步驟305,將多媒體素材對(duì)應(yīng)的至少一個(gè)幀數(shù)據(jù)和本次拍攝的至少一個(gè)幀數(shù)據(jù)按照預(yù)定順序編碼入視頻文件中,得到目標(biāo)視頻文件;
[0119]預(yù)定順序可以包括以下三種順序中的任意一種:動(dòng)態(tài)圖片對(duì)應(yīng)的至少一個(gè)幀數(shù)據(jù)在前,本次拍攝的至少一個(gè)幀數(shù)據(jù)在后的順序;或,
[0120]本次拍攝的至少一個(gè)幀數(shù)據(jù)在前,動(dòng)態(tài)圖片對(duì)應(yīng)的至少一個(gè)幀數(shù)據(jù)在后的順序;或,
[0121]本次拍攝的至少一個(gè)幀數(shù)據(jù)中的一部分在前,動(dòng)態(tài)圖片對(duì)應(yīng)的至少一個(gè)幀數(shù)據(jù)在中間,本次拍攝的至少一個(gè)幀數(shù)據(jù)中的另一部分在后的順序。
[0122]如圖3C所示,本實(shí)施例以第一種順序?yàn)槔M(jìn)行說(shuō)明:
[0123]一、移動(dòng)終端將得到的動(dòng)態(tài)圖片對(duì)應(yīng)的至少一個(gè)圖像幀數(shù)據(jù)按照預(yù)定格式編碼入視頻文件。本步驟可以包括:
[0124]1、移動(dòng)終端根據(jù)預(yù)定格式設(shè)置視頻流編碼器、視頻流編碼參數(shù)、音頻流編碼器和音頻流編碼參數(shù);
[0125]視頻流編碼參數(shù)包括視頻格式、圖像幀數(shù)據(jù)的寬、圖像幀數(shù)據(jù)的高等;
[0126]音頻流編碼參數(shù)包括碼率,聲道數(shù),是否是立體聲等。
[0127]2、根據(jù)與預(yù)定格式對(duì)應(yīng)的視頻流編碼器和視頻流編碼參數(shù)將動(dòng)態(tài)圖片對(duì)應(yīng)的圖像幀數(shù)據(jù)編碼入視頻文件。
[0128]上述過(guò)程也可以使用開源免費(fèi)跨平臺(tái)的視頻和音頻流方案ffmpeg實(shí)現(xiàn)。
[0129]二、將本次拍攝的至少一個(gè)幀數(shù)據(jù)按照預(yù)定格式編碼入視頻文件中。
[0130]也即,移動(dòng)終端根據(jù)與預(yù)定格式對(duì)應(yīng)的視頻流編碼器和視頻流編碼參數(shù)將本次拍攝的圖像幀數(shù)據(jù)編碼入視頻文件;如果本次拍攝包含音頻幀數(shù)據(jù),則根據(jù)與預(yù)定格式對(duì)應(yīng)的音頻流編碼器和音頻流編碼參數(shù)將本次拍攝的音頻幀數(shù)據(jù)編碼入視頻文件中,得到目標(biāo)視頻文件。
[0131]類似的,第二種順序的示意圖如圖3D所示,第三種順序的示意圖如圖3E所示。
[0132]綜上所述,本實(shí)施例提供的視頻拍攝方法,通過(guò)將多媒體素材處理為本次拍攝的目標(biāo)視頻文件中的一部分視頻內(nèi)容;解決了目前的視頻拍攝方法的整個(gè)拍攝過(guò)程無(wú)法真正終斷的問(wèn)題;達(dá)到了可以基于其它多媒體素材,比如,當(dāng)前用戶或者其它用戶在其它時(shí)間段已經(jīng)拍攝完畢的視頻文件進(jìn)行續(xù)拍,來(lái)完成本次拍攝的效果。
[0133]需要補(bǔ)充說(shuō)明的是,步驟303只要在編碼之前進(jìn)行執(zhí)行即可,具體執(zhí)行順序不加以具體限定。比如,采用第一種順序拍攝時(shí),步驟303可以在步驟305中將動(dòng)態(tài)圖片對(duì)應(yīng)的至少一個(gè)幀數(shù)據(jù)編碼入視頻文件之后執(zhí)行;又比如,采用第二種順序拍攝時(shí),步驟303可以在步驟301之前執(zhí)行;再比如,采用第三種順序拍攝時(shí),步驟303可以在步驟301之前執(zhí)行一次,在步驟305中將動(dòng)態(tài)圖片對(duì)應(yīng)的至少一個(gè)幀數(shù)據(jù)編碼入視頻文件之后,再次執(zhí)行一次。
[0134]需要補(bǔ)充說(shuō)明的是,在步驟305之前,若動(dòng)態(tài)圖片對(duì)應(yīng)的圖像幀數(shù)據(jù)為RGB (RedGreen Blue,紅綠藍(lán))格式而本次拍攝的圖像幀數(shù)據(jù)為YUV (Luma Chroma,亮度色度)格式,則移動(dòng)終端可以將本次拍攝得到的圖像幀數(shù)據(jù)從YUV格式轉(zhuǎn)換為RGB格式,不僅使得圖像幀數(shù)據(jù)的格式一致,而且還可以基于RGB格式的圖像幀數(shù)據(jù)在續(xù)拍過(guò)程中添加濾鏡或者特效。
[0135]需要補(bǔ)充說(shuō)明的是,在步驟305之前,若動(dòng)態(tài)圖片對(duì)應(yīng)的圖像幀數(shù)據(jù)與本次拍攝的圖像幀數(shù)據(jù)的角度不同,則移動(dòng)終端將本次拍攝的圖像幀數(shù)據(jù)進(jìn)行旋轉(zhuǎn),使解碼得到的圖像幀數(shù)據(jù)與本次拍攝的圖像幀數(shù)據(jù)的角度相同。從而使得續(xù)拍得到的目標(biāo)視頻文件中的圖像幀數(shù)據(jù)的角度一致。比如,動(dòng)態(tài)圖片對(duì)應(yīng)豎向的圖像幀數(shù)據(jù),而本次拍攝的是橫拍得到的圖像幀數(shù)據(jù),則可以將本次拍攝的圖像幀數(shù)據(jù)旋轉(zhuǎn)90度,由橫向的圖像幀數(shù)據(jù)轉(zhuǎn)換為豎向的圖像幀數(shù)據(jù)。
[0136]請(qǐng)參考圖4A,其示出了本發(fā)明另一個(gè)實(shí)施例提供的視頻拍攝方法的方法流程圖。本實(shí)施例以該視頻拍攝方法應(yīng)用于移動(dòng)終端中來(lái)舉例說(shuō)明,該移動(dòng)終端可以是安裝有社交類應(yīng)用或者短視頻分享應(yīng)用的移動(dòng)終端,該方法包括:
[0137]步驟401,獲取多媒體素材,多媒體素材包括圖片或視頻文件;
[0138]本實(shí)施例以多媒體素材為視頻文件為例,視頻文件的獲取方法包括以下四種:
[0139]I)從本地存儲(chǔ)器中獲?。?br>[0140]移動(dòng)終端在接收到用戶的操作指令后,獲取本地存儲(chǔ)器中指定位置的視頻文件。
[0141]2)從網(wǎng)絡(luò)存儲(chǔ)器中獲取;
[0142]移動(dòng)終端在接收到用戶的操作指令后,獲取用戶對(duì)應(yīng)的網(wǎng)絡(luò)存儲(chǔ)器中指定位置的視頻文件。網(wǎng)絡(luò)存儲(chǔ)器可以是各種位于云端的網(wǎng)盤。
[0143]3)從社交類應(yīng)用的好友所分享的文件中獲取;
[0144]作為一種新穎的獲取方式,如果移動(dòng)終端為安裝有社交類應(yīng)用的終端,則移動(dòng)終端可以從社交類應(yīng)用中的好友所分享的文件中獲取視頻文件。
[0145]4)從短