視頻/圖片混剪
本文為您介紹如何修改SubmitMediaProducingJob的Timeline參數(shù)來(lái)完成視頻/圖片混剪。
使用說(shuō)明
智能生產(chǎn)制作支持直播流、點(diǎn)播和OSS素材文件的剪輯合成、特效渲染、模板生產(chǎn)等功能,更多詳情請(qǐng)參見(jiàn)智能生產(chǎn)制作概述。
將一個(gè)或多個(gè)視頻、音頻、圖片、字幕素材合成為成品,可以通過(guò)不同的Timeline參數(shù)配置提交剪輯,然后調(diào)用SubmitMediaProducingJob - 提交剪輯合成作業(yè)來(lái)完成合成。
時(shí)間線是將素材按照視頻創(chuàng)意進(jìn)行編排和特效設(shè)計(jì)的產(chǎn)物,時(shí)間線主要包含軌道、素材、效果3種對(duì)象,詳情請(qǐng)參見(jiàn)Timeline配置說(shuō)明。
如果您想通過(guò)調(diào)用SDK進(jìn)行音視頻剪輯,請(qǐng)參見(jiàn)安裝IMS服務(wù)端SDK的準(zhǔn)備工作。
設(shè)置成片視頻寬高
調(diào)用接口SubmitMediaProducingJob提交剪輯合成任務(wù)時(shí),通過(guò)設(shè)置參數(shù)OutputMediaConfig中的Width、Height字段來(lái)定義成片分辨率。
String outputMediaUrl = "https://your-bucket.oss-cn-shanghai.aliyuncs.com/target_video.mp4";
String outputMediaConfig = "{\"MediaURL\":\"" + outputMediaUrl + "\",\"Width\":720,\"Height\":1280}";
SubmitMediaProducingJobRequest request = new SubmitMediaProducingJobRequest();
request.setTimeline("<your-timeline>");
request.setOutputMediaConfig(outputMediaConfig);
SubmitMediaProducingJobResponse response = iceClient.submitMediaProducingJob(request);
視頻橫轉(zhuǎn)豎-補(bǔ)充上下黑邊
若Timeline中的素材為橫屏視頻,而提交剪輯合成任務(wù)時(shí)設(shè)置的成片分辨率為豎屏,則系統(tǒng)會(huì)根據(jù)素材和成片的寬高進(jìn)行等比縮放,并將素材居中顯示。
成片效果 | Timeline示例 |
|
視頻橫轉(zhuǎn)豎-補(bǔ)充上下模糊區(qū)域
Radius(模糊半徑)取值范圍為[0.01, 1],具體參考Effect Type:Background 背景設(shè)置。
成片效果 | Timeline示例 |
|
視頻橫轉(zhuǎn)豎-三分屏效果
AdaptMode=Cover參數(shù)表示素材按照其長(zhǎng)寬比進(jìn)行縮放,并填充滿(mǎn)整個(gè)目標(biāo)區(qū)域。其他值可參考VideoTrackClip。
成片效果 | Timeline示例 |
|
視頻橫轉(zhuǎn)豎-設(shè)置背景顏色
成片效果 | Timeline示例 |
|
視頻截取
In=3、Out=8 表示截取視頻的第3秒到第8秒的區(qū)間。
成片效果 | Timeline示例 |
|
多段視頻截取合并
在Clip中,可以不設(shè)置TimelineIn和TimelineOut,系統(tǒng)將默認(rèn)對(duì)素材進(jìn)行前后拼接。
當(dāng)MaxOut=5時(shí),表示最多截取到Out為5秒的位置。具體操作為:
如果素材時(shí)長(zhǎng)超過(guò)5秒,則截取前5秒;
如果素材時(shí)長(zhǎng)不足5秒,則截取到素材結(jié)尾。
成片效果 | Timeline示例 |
|
視頻圖片混剪
Type的默認(rèn)值為Video。如果要使用圖片素材,則需要添加Type=Image。
成片效果 | Timeline示例 |
|
添加水印/貼紙/GIF貼紙
GIF格式的圖片剪輯需要傳遞動(dòng)態(tài)幀數(shù)(DyncFrames),即為GIF素材的幀數(shù)。
成片效果 | Timeline示例 |
|
縮放配置
AdaptMode的取值包括:Contain、Cover、Fill,更多詳細(xì)信息,請(qǐng)參閱VideoTrackClip。
成片效果 | Timeline示例 |
|
視頻畫(huà)中畫(huà)
在VideoTracks中,數(shù)組后面的軌道層級(jí)較高,會(huì)覆蓋數(shù)組前面的軌道。
成片效果 | Timeline示例 |
|
水平翻轉(zhuǎn)、垂直翻轉(zhuǎn)
成片效果 | Timeline示例 |
|
視頻裁剪
成片效果 | Timeline示例 |
|
音視頻變速
在AudioTrackClips中,也可以使用Speed參數(shù)實(shí)現(xiàn)音視頻變速。
成片效果 | Timeline示例 |
|
素材旋轉(zhuǎn)
成片效果 | Timeline示例 |
|
圓形、矩形、線性、鏡面遮罩
成片效果 | Timeline示例 |
|
參數(shù)說(shuō)明
圓形(橢圓)
type = mask_circle
參數(shù)
類(lèi)型
取值范圍
默認(rèn)值
說(shuō)明
x
float
[0.0, 素材寬]
0.5
遮罩圓心在素材內(nèi)相比素材左上角的X坐標(biāo)。
[0.0, 1.0]時(shí)表示相對(duì)素材寬的坐標(biāo)。
大于1.0時(shí),表示絕對(duì)像素值。
y
float
[0.0, 素材高]
0.5
遮罩圓心在素材內(nèi)相比素材左上角的Y坐標(biāo)。
[0.0, 1.0]時(shí)表示相對(duì)素材高的坐標(biāo)。
大于1.0時(shí),表示絕對(duì)像素值。
width
float
[0.0, 素材寬]
0.8
遮罩橢圓的寬度,相比素材的寬度。
[0.0, 1.0]時(shí)表示相對(duì)素材寬的寬度。
大于1.0時(shí),表示絕對(duì)像素值。
height
float
[0.0, 素材高]
0.8
遮罩橢圓的高度,相比素材的高度。
[0.0, 1.0]時(shí)表示相對(duì)素材高的高度。
大于1.0時(shí),表示絕對(duì)像素值。
antialias
float
[0.0, 1.0]
0.1
遮罩橢圓的抗鋸齒參數(shù)。值越大,邊緣羽化程度越高。
angle
float
[-9999.0, 9999.0]
0.0
旋轉(zhuǎn)角度。
矩形
type = mask_rec
參數(shù)
類(lèi)型
取值范圍
默認(rèn)值
說(shuō)明
x
float
[0.0, 素材寬]
0.5
遮罩矩形中心在視頻素材內(nèi)相比素材左上角的X坐標(biāo)。
[0.0, 1.0]時(shí)表示相對(duì)素材寬的坐標(biāo)。
大于1.0時(shí),表示絕對(duì)像素值。
y
float
[0.0, 素材高]
0.5
遮罩矩形中心在視頻素材內(nèi)相比素材左上角的Y坐標(biāo)。
[0.0, 1.0]時(shí)表示相對(duì)素材高的坐標(biāo)。
大于1.0時(shí),表示絕對(duì)像素值。
width
float
[0.0, 素材寬]
0.8
遮罩矩形的寬度。
[0.0, 1.0]時(shí)表示相對(duì)素材寬的寬度。
大于1.0時(shí),表示絕對(duì)像素值。
height
float
[0.0, 素材高]
0.8
遮罩矩形的高度。
[0.0, 1.0]時(shí)表示相對(duì)素材高的高度。
大于1.0時(shí),表示絕對(duì)像素值。
antialias
float
[0.0, 1.0]
0.1
遮罩矩形的抗鋸齒參數(shù),值越大,邊緣羽化程度越高。
radius
float
[0.0, 素材寬或高的較大值]
0.1
遮罩矩形圓角半徑。
[0.0, 1.0]時(shí)表示相對(duì)素材寬或高的較大值的半徑大小。
大于1.0時(shí),表示絕對(duì)像素值。
angle
float
[-9999.0, 9999.0]
0.0
旋轉(zhuǎn)角度。
線性
type = mask_linear
參數(shù)
類(lèi)型
取值范圍
默認(rèn)值
說(shuō)明
x
float
[0.0, 素材寬]
0.5
線性遮罩中心基準(zhǔn)點(diǎn)在素材內(nèi)相比素材左上角的X坐標(biāo)。
[0.0, 1.0]時(shí)表示相對(duì)素材寬的坐標(biāo)。
大于1.0時(shí),表示絕對(duì)像素值。
y
float
[0.0, 素材高]
0.5
線性遮罩中心基準(zhǔn)點(diǎn)在視頻素材內(nèi)相比視頻左上角的Y坐標(biāo)。
[0.0, 1.0]時(shí)表示相對(duì)素材高的坐標(biāo)。
大于1.0時(shí),表示絕對(duì)像素值。
antialias
float
[0.0, 1.0]
0.1
線性遮罩的抗鋸齒參數(shù),值越大,邊緣羽化程度越高。
angle
float
[-9999.0, 9999.0]
0.0
旋轉(zhuǎn)角度。
鏡面
type = mask_minor
參數(shù)
類(lèi)型
取值范圍
默認(rèn)值
說(shuō)明
x
float
[0.0, 素材寬]
0.5
鏡面遮罩中心基準(zhǔn)點(diǎn)在素材內(nèi)相比素材左上角的X坐標(biāo)。
[0.0, 1.0]時(shí)表示相對(duì)素材寬的坐標(biāo)。
大于1.0時(shí),表示絕對(duì)像素值。
y
float
[0.0, 素材高]
0.5
鏡面遮罩中心基準(zhǔn)點(diǎn)在素材內(nèi)相比素材左上角的Y坐標(biāo)。
[0.0, 1.0]時(shí)表示相對(duì)素材高的坐標(biāo)。
大于1.0時(shí),表示絕對(duì)像素值。
antialias
float
[0.0, 1.0]
0.1
鏡面遮罩的抗鋸齒參數(shù),值越大,邊緣羽化程度越高。
angle
float
[-9999.0, 9999.0]
0.0
旋轉(zhuǎn)角度。