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