版本記錄
版本號(hào) | 時(shí)間 |
---|---|
V1.0 | 2017.08.10 |
前言
針對(duì)短視頻的上傳翔悠、編輯等功能有很多的SDK,比如騰訊的SDK野芒、七牛的SDK等蓄愁,這里我就說一下我用過的美攝的SDK - 1.8.0,希望對(duì)大家有所幫助狞悲。
服務(wù)對(duì)象
??美攝SDK可以幫助開發(fā)者快速的在APP中實(shí)現(xiàn)視頻制作服務(wù)撮抓,包括視頻、圖片處理摇锋、視頻基礎(chǔ)編輯丹拯、快速包裝渲染等等,開發(fā)者可以根據(jù)自己的創(chuàng)意創(chuàng)建APP荸恕,實(shí)現(xiàn)各種特色功能乖酬,美攝公司會(huì)隨時(shí)根據(jù)手機(jī)系統(tǒng)、手機(jī)硬件融求、使用場景的變化咬像,快速調(diào)整,完善生宛,升級(jí)SDK工具包县昂,保證SDK包的穩(wěn)定性、高效率陷舅、高兼容性倒彰、給開發(fā)者帶來良好的服務(wù)體驗(yàn)。有需要的可以參考美攝SDK的開發(fā)文檔和官網(wǎng)莱睁。
能力與限制
- 支持的系統(tǒng):
-
ios 7.0
以上系統(tǒng) -
Android 4.1
以上系統(tǒng)
-
- 輸入規(guī)范:
- 視頻格式:
MP4待讳、MOV、WMV仰剿、M2V耙箍、MPG
- 音頻格式:
MP3、FLAC酥馍、AAC辩昆、M4A
- 圖片格式:
JPG、PNG
- 視頻編碼:
H264旨袒、WMV汁针、MPEG4
- 音頻編碼:
MP3术辐、AAC、PCM施无、FLAC
- 視頻格式:
- 輸出規(guī)范:
- 視頻格式:
MP4
- 視頻編碼:
H264
- 音頻編碼:
AAC
- 視頻格式:
- 擴(kuò)展包格式(擴(kuò)展包是美攝用來承載擴(kuò)展素材的內(nèi)容包辉词,包括主題、字幕猾骡、濾鏡瑞躺、貼紙等):
- 主題:
.theme
- 字幕:
.captionstyle
- 濾鏡:
.videofx
- 貼紙:
.animatedsticker
- 轉(zhuǎn)場:
.videotransition
產(chǎn)品特點(diǎn)
1. 實(shí)時(shí)特效、高清錄制
SDK支持1080P高清視頻錄制兴想,提供非常豐富的拍攝錄制功能幢哨,在錄制的同時(shí)可以疊加多種特效,并實(shí)時(shí)預(yù)覽嫂便,最大程度滿足不同場景的錄制需求捞镰,具體特點(diǎn)如下:
- 最大錄制1080P視頻,并可設(shè)定720P毙替、480P等多種質(zhì)量
- 支持16:9岸售、1:1等不同的畫幅比例
- 支持多段視頻錄制
- 帶有基礎(chǔ)錄制功能,例如對(duì)焦厂画,鏡頭切換凸丸,曝光補(bǔ)償、閃光燈等
- 自帶美膚功能
- 自帶濾鏡功能袱院,支持?jǐn)U展
2. 支持多軌道屎慢、多段編輯
支持同時(shí)將不同格式的視頻、圖片坑填、進(jìn)行混合多段編輯抛人。
- 視頻支持多軌道(視頻弛姜、圖片)
- 支持多種畫幅16:9脐瑰、1:1
3. 制作特效實(shí)時(shí)預(yù)覽
通過預(yù)覽窗口(LiveWindow)
可以在制作的過程中實(shí)時(shí)預(yù)覽制作效果,而不需進(jìn)行預(yù)處理和打包廷臼,大大提升了制作的體驗(yàn)苍在、降低了制作成本和時(shí)間。
4. 高清視頻輸出
SDK支持多種格式內(nèi)容的輸入荠商,并最高支持到4K輸入寂恬,同時(shí)最高支持1080P視頻輸出,并且開發(fā)者可以根據(jù)需求設(shè)定不同的輸出級(jí)別(1080P莱没、720P初肉、480P等)。
5. 全能的基礎(chǔ)編輯功能
美攝SDK包含市面上最為豐富的基礎(chǔ)編輯功能饰躲,非常簡單的調(diào)用方式牙咏,開發(fā)者們可以根據(jù)自己的需求進(jìn)行靈活組合使用臼隔。基礎(chǔ)功能包括:
- 視頻裁剪妄壶、分割
- 視頻變速
- 視頻、圖片插入
- 視頻、圖片排序
- 視頻斑鼻、圖片刪除
- 圖片時(shí)長設(shè)定
- 圖片畫面裁剪
- 圖片運(yùn)動(dòng)設(shè)定
- 畫面參數(shù)調(diào)整(亮度屈雄、飽和度、對(duì)比度等)
- 畫面旋轉(zhuǎn)等
6. 視頻實(shí)時(shí)美膚處理
SDK中自帶視頻實(shí)時(shí)美膚特效伊磺,可以在拍攝盛正、編輯的過程中直接加入美膚效果,并進(jìn)行實(shí)時(shí)預(yù)覽奢浑,同時(shí)可以調(diào)節(jié)美膚處理的等級(jí)蛮艰,美白參數(shù)等處理。
7. 絢麗的視頻主題
SDK擁有一套強(qiáng)大的主題系統(tǒng)雀彼,每個(gè)主題都包含:片頭尾壤蚜、音樂、畫面運(yùn)動(dòng)徊哑、前景動(dòng)畫袜刷、轉(zhuǎn)場、字幕等莺丑,只需一鍵著蟹,就可以對(duì)視頻進(jìn)行智能處理,實(shí)現(xiàn)電影效果梢莽,具體特征如下:
- 擁有復(fù)雜的畫面處理
- 配套片頭尾萧豆、音樂、轉(zhuǎn)場等
- 可嵌入配套字幕樣式
- 支持3D場景
- 擁有150+已有主題可選
- 提供快速制作服務(wù)
8. 頂級(jí)字幕功能
SDK的字幕系統(tǒng)達(dá)到廣電包裝水準(zhǔn)昏名,不僅是添加一行文字這么簡單涮雷,字幕功能可以實(shí)現(xiàn)一套非常絢麗的字幕包裝效果,同時(shí)具有良好的擴(kuò)展性轻局,具體特征如下:
- 支持動(dòng)畫底圖
- 支持文字運(yùn)動(dòng)洪鸭,逐字運(yùn)動(dòng)
- 文字顏色、描邊可調(diào)
- 支持透明度
- 支持多行字幕
- 支持載入字體
9. 多軌道音頻編輯
SDK支持不限數(shù)量的音頻軌道編輯仑扑,單軌道音頻同時(shí)支持多段音頻導(dǎo)入與編輯览爵,同時(shí)具有多種音頻處理方式,具體如下:
- 多軌道音頻輸入
- 支持多段音頻
- 音頻裁剪
- 多種音頻處理(電音镇饮、娃娃音效果等)
- 音頻轉(zhuǎn)場(淡入淡出等)
- 音量獨(dú)立控制
10. 畫面前景濾鏡
擁有獨(dú)有的前景濾鏡處理方式蜓竹,整個(gè)濾鏡由圖像處理,邊框處理,前景動(dòng)畫效果疊加組成俱济,不僅可以完成簡單的調(diào)色司蔬,還可以實(shí)現(xiàn)更多豐富的畫面效果,同時(shí)還提供前景濾鏡的定制服務(wù)姨蝴,滿足個(gè)性化需求俊啼。
11. 動(dòng)畫貼紙效果
SDK支持在制作過程中,向視頻中加入動(dòng)畫貼紙進(jìn)行修飾左医,同時(shí)可以對(duì)貼紙進(jìn)行屬性設(shè)置授帕,達(dá)到美化視頻畫面的作品,具體如下:
- 支持復(fù)雜運(yùn)動(dòng)效果
- 支持有聲貼紙
- 支持鏡像
- 支持旋轉(zhuǎn)
- 支持大小修改
- 支持貼紙擴(kuò)展
12. 轉(zhuǎn)場過渡效果
SDK支持在片段間添加轉(zhuǎn)場浮梢,保證銜接的過程中達(dá)到平滑跛十、出色的過渡效果,讓視頻間更加流暢秕硝,同時(shí)美攝提供非常多的預(yù)置轉(zhuǎn)場效果芥映,供開發(fā)者們進(jìn)行選擇,同時(shí)可以根據(jù)開發(fā)者的需求远豺,提供定制化轉(zhuǎn)場服務(wù)奈偏。
13. 豐富的素材庫和定制化服務(wù)
SDK同時(shí)會(huì)提供豐富的素材庫供開發(fā)者們選擇使用,并且會(huì)定期更新一些新的內(nèi)容進(jìn)入素材庫中躯护,并會(huì)有一定比例的免費(fèi)內(nèi)容讓開發(fā)者們無償使用惊来,同時(shí)提供個(gè)性化定制內(nèi)容,只需少量花費(fèi)棺滞,專業(yè)團(tuán)隊(duì)為開發(fā)者們定制個(gè)性化素材裁蚁,當(dāng)前素材庫包含:
- 主題樣式:150個(gè)
- 字幕樣式:60個(gè)
- 貼紙:360個(gè)
- 濾鏡:50個(gè)
- 轉(zhuǎn)場:30個(gè)
具體素材庫可以參考美攝官網(wǎng)。
名詞解釋
流媒體上下文
(Streaming Context)
包含時(shí)間線继准、預(yù)覽窗口枉证、采集、資源包管理等相關(guān)信息集合的對(duì)象移必,Context被銷毀之后室谚,SDk視頻制作框架也隨之不復(fù)存在。定位(Seek)
渲染出指定位置的畫面避凝,并更新時(shí)間線的時(shí)間戳舞萄。生成
(Compile)
以指定碼率眨补、幀速率和壓縮格式輸出文件管削。采集
(Capture)
捕獲攝像頭設(shè)備畫面。錄制
(Record)
輸出采集畫面到指定格式文件中撑螺。時(shí)間線
(Timeline)
編輯場景的時(shí)間軸實(shí)體含思,由軌道組成,可以有多個(gè)視頻軌道和音頻軌道,由視頻軌道決定長度含潘。軌道
(Track)
容納片段的實(shí)體饲做,分為視頻軌道(Video Track)和音頻軌道(Audio Track),可隨片段的增加不斷延展遏弱。片段
(Clip)
容納音視頻內(nèi)容的實(shí)體盆均,分為視頻片段(Video Clip)和音頻片段(Audio Clip),視頻片段可以是圖片或者視頻漱逸。采集視頻特效
(Capture Video Fx)
一種應(yīng)用在采集中的視頻特效泪姨。視頻特效
(Video Fx)
一種視頻圖像的特殊效果,可能改變視頻圖像的整體或局部的顏色饰抒、亮度肮砾、透明度等信息,使視頻顯示特殊的效果袋坑。音頻特效
(Audio Fx)
一種音頻的特殊效果仗处,可能改變音頻的聲調(diào)、速率等信息枣宫。視頻轉(zhuǎn)場
(Video Transition)
片段間切換的特效婆誓,從一個(gè)視頻到另一個(gè)視頻的播放銜接過渡效果。添加轉(zhuǎn)場后也颤,片段在轉(zhuǎn)場時(shí)間內(nèi)可能有重疊效果旷档。主題
(Theme)
一系列特效應(yīng)用的集合,包括片頭歇拆、片尾鞋屈、視頻特效、視頻轉(zhuǎn)場故觅、音樂厂庇、字幕樣式等。字幕
(Caption)
視頻上疊加的自定義文字输吏,可以設(shè)置字號(hào)和顏色等樣式权旷。字幕樣式
(Caption Style)
預(yù)定義字幕屬性集合,包括字號(hào)和顏色等贯溅。動(dòng)畫貼紙
(Animated Sticker)
帶有動(dòng)畫效果的貼紙拄氯,疊加在視頻上產(chǎn)生一些特殊效果。預(yù)覽窗口
(Live Window)
實(shí)時(shí)顯示時(shí)間線或者采集圖像的窗口它浅。視頻解析度
(Video Resolution)
視頻的基本信息译柏,包括圖像寬高和像素橫縱比等。音頻解析度
(Audio Resolution)
音頻的基本信息姐霍,包括采樣率和聲道數(shù)等鄙麦。搖攝和掃描
(Pan and Scan)
一種調(diào)整圖像適配的方法典唇,可以橫向剪切和縱向平移。資源包
(Asset Package)
一種需要安裝的特效資源胯府,安裝后可以作為特效使用介衔,包括視頻特效、視頻轉(zhuǎn)場骂因、主題炎咖、字幕樣式、動(dòng)畫貼紙寒波。資源包ID
(Asset Package ID)
資源包的唯一標(biāo)識(shí)塘装,安裝資源包成功后獲得,添加特效時(shí)使用影所。裁剪入點(diǎn)
(Trim In)
裁剪片段的起始點(diǎn)蹦肴。對(duì)于裁剪入點(diǎn),裁剪出點(diǎn)猴娩,入點(diǎn)阴幌,出點(diǎn)的詳細(xì)解釋,請參見裁剪入點(diǎn)與出點(diǎn)(trimIn and trimOut)專題裁剪出點(diǎn)
(Trim Out)
裁剪片段的終止點(diǎn)卷中。入點(diǎn)
(In Point)
片段在時(shí)間線的起始點(diǎn)矛双。出點(diǎn)
(Out Point)
片段在時(shí)間線上的終止點(diǎn)。播放速度
(Speed)
片段播放的速度蟆豫,速度沒有改變的情況下议忽,(出點(diǎn)-入點(diǎn))=(裁剪出點(diǎn)-裁剪入點(diǎn)),如果播放速度為2倍速十减,(出點(diǎn)-入點(diǎn))*2=(裁剪出點(diǎn)-裁剪入點(diǎn))栈幸。碼率
(Bitrate)
每秒傳送的比特?cái)?shù),碼率越高帮辟,視頻質(zhì)量越好速址。采樣率
(Sample Rate)
每秒從連續(xù)信號(hào)中采集的離散信號(hào)個(gè)數(shù)。幀速率
(Frame Rate)
每秒刷新圖像的幀數(shù)由驹,幀速率越高芍锚,視頻的連續(xù)性越好。橫縱比
(Aspect Ratio)
圖像的橫向尺寸與縱向尺寸的比例蔓榄。像素橫縱比
(Pixel Aspect Ratio)
一個(gè)像素點(diǎn)的寬與高的比例并炮。SDK中僅支持1:1。
項(xiàng)目搭建指南
1. 新建工程
(a)選擇File->New->Project來新建工程甥郑。
(b)在工程類型界面選擇適合的工程類型逃魄,點(diǎn)擊“Next”。
(c)輸入工程名壹若,點(diǎn)擊“Next”嗅钻。
(d)輸入工程路徑,點(diǎn)擊”Create“店展。
2. 禁用Bitcode
(a)在工程設(shè)置界面养篓,選擇“Build Settings”。
(b)在搜索框輸入“bit code”赂蕴。
(c)在“Enable Bitcode”選項(xiàng)卡中選擇“No”柳弄。
3. 添加SDK頭文件和庫文件的引用
(a)在工程設(shè)置界面,選擇“Build Settings”概说。
(b)在搜索框輸入“search Paths”碧注。
(c)在“search paths”中輸入SDK的頭文件和庫文件地址。
4. 添加庫文件
(a)在工程設(shè)置界面糖赔,選擇”General“萍丐。
(b)找到“Linked Frameworks and Libraries”。
(c)添加SDK庫文件放典。
(d)添加framework庫文件逝变。
基礎(chǔ)結(jié)構(gòu)與概念
1. 模塊結(jié)構(gòu)
美攝SDK核心模塊包括流媒體上下文、時(shí)間線奋构、字幕壳影、動(dòng)畫貼紙、軌道弥臼、音/視頻片段等宴咧。流媒體上下文是SDK中最基礎(chǔ)的模塊,它負(fù)責(zé)生成径缅、保存并維護(hù)SDK引擎運(yùn)行時(shí)的上下文環(huán)境掺栅。時(shí)間線由流媒體上下文生成,包含字幕纳猪,動(dòng)畫貼紙以及多個(gè)音視頻軌道柿冲,各模塊協(xié)同工作以生成最終的視頻效果。其中每條音/視頻軌道上可以添加若干個(gè)音/視頻片段兆旬,片段上可以添加各種特效假抄,片段之間可以設(shè)置不同的轉(zhuǎn)場效果。
2. 數(shù)據(jù)流
美攝SDK支持兩種媒體輸入方式丽猬,標(biāo)準(zhǔn)媒體文件與攝像頭采集宿饱。
當(dāng)輸入為一個(gè)或多個(gè)媒體文件時(shí),SDK會(huì)首先從文件中提取出對(duì)應(yīng)的音頻與視頻片段脚祟,這些片段可以理解為對(duì)原音頻流與視頻流的裁剪與封裝谬以。以視頻為例,在編輯過程中由桌,用戶可以對(duì)這些視頻片段進(jìn)行任意拼接为黎,放到對(duì)應(yīng)軌道上邮丰,軌道再放到時(shí)間線上。每一個(gè)軌道可以類比成一個(gè)圖層铭乾,SDK引擎對(duì)軌道渲染的順序是自下到上的剪廉,各層軌道之間可以通過設(shè)置透明度等參數(shù)來實(shí)現(xiàn)一些特殊的效果。SDK引擎支持對(duì)時(shí)間線炕檩、軌道與音/視頻片段添加特效年栓,包括音/視頻特效稍途、轉(zhuǎn)場、字幕、動(dòng)畫貼紙以及主題等洲拇,其中主題可以當(dāng)成是上述特效的一個(gè)閉包福荸。SDK默認(rèn)提供若干內(nèi)置的編輯特效拭宁,更多的特效資源包可以在美攝官網(wǎng)下載跳昼。編輯后的視頻可以通過SDK提供的預(yù)覽窗口進(jìn)行預(yù)覽,或者直接打包生成媒體文件敲霍。
當(dāng)使用攝像頭設(shè)備作為輸入時(shí)揭朝,SDK引擎只能對(duì)其添加采集特效與包特效,不能使用轉(zhuǎn)場色冀、字幕潭袱、動(dòng)畫貼紙等其他特效。生成的視頻同樣可以通過SDK提供的預(yù)覽窗口進(jìn)行預(yù)覽锋恬,或者直接打包生成媒體文件屯换。
后記
未完,待續(xù)~~