標準的な編集シナリオでは、メイントラック、MaxDuration、または自動速度調整を使用して、出力される動画の長さを制御します。
メイントラックの設定
メイントラックの使用タイミング
長さが不明な動画や画像に音声を組み合わせる場合、各クリップに個別に時間パラメーターを設定するのは手間がかかり、ミスも発生しやすくなります。代わりに、いずれかのトラックをメイントラックとして指定してください。サービスは、すべての他のトラックをメイントラックの持続時間に合わせて同期し、メイントラックよりも長いトラックは自動的に切り捨てられます。各クリップの正確な長さを把握することなく、また各アセットにIn、Out、TimelineIn、またはTimelineOutを設定することなく、編集作業を完了できます。
メイントラックの構成方法
タイムラインオブジェクト内の動画トラックまたは音声トラックで、MainTrackをtrueに設定します。最終的な動画の長さは、そのトラックの持続時間と一致します。
メイントラックよりも長いトラックは、すべてメイントラックの持続時間に切り捨てられます。
メイントラックとして指定できるのは 1 つのトラックのみです。複数のトラックで
MainTrack: trueが設定されている場合、最初のトラックが有効になります。-
メイントラックに指定できるのは、動画トラックまたは音声トラックのみです。
説明1 つの動画内でメイントラックとして指定できるトラックは 1 つだけです。複数のトラックがメイントラックとして指定されている場合、最初のトラックが優先されます。
メイントラックに指定できるのは、動画トラックまたは音声トラックのみです。
TimelineOutがタイムラインオブジェクト内で設定されている場合、それが優先され、サービスはメイントラックのロジックを無視します。TimelineInおよびInOutを使用して、タイムライン上でのアセットの配置を行ってください。
例
以下のタイムラインには 2 つのトラックがあります。1 つの動画トラックには合計 20 秒の長さの 4 つのクリップが含まれ、もう 1 つの音声トラックには 15 秒のファイルが 1 つ含まれています。この音声トラックがメイントラックです。
{
"VideoTracks": [{
"VideoTrackClips": [{
"MediaUrl": "https://your-bucket.oss-cn-shanghai.aliyuncs.com/your_video1.mp4",
"Out": 5
}, {
"MediaUrl": "https://your-bucket.oss-cn-shanghai.aliyuncs.com/your_video2.mp4",
"Out": 5
}, {
"MediaUrl": "https://your-bucket.oss-cn-shanghai.aliyuncs.com/your_video3.mp4",
"Out": 5
}, {
"MediaUrl": "https://your-bucket.oss-cn-shanghai.aliyuncs.com/your_video4.mp4",
"Out": 5
}]
}],
"AudioTracks": [{
"MainTrack": true,
"AudioTrackClips": [{
"MediaUrl": "https://your-bucket.oss-cn-shanghai.aliyuncs.com/your_audio.mp3"
}]
}]
}
最終的な動画の長さ:15 秒。動画トラックは 20 秒から音声のメイントラックに合わせて 15 秒に切り捨てられます。
出力長さが音声ファイルのみによって決まるため、時間パラメーターを一切変更せずに異なる動画や画像を入れ替えることができます。このため、メイントラック方式は、音声コンテンツを固定しつつ映像コンテンツを変更するバッチ処理に適しています。
MaxDuration の指定
MaxDuration の使用タイミング
大量の動画、音声、字幕素材があり、多くの固定長クリップを生成したい場合、すべてのアセットに個別に時間パラメーターを設定するのは非現実的です。MaxDurationをOutputMediaConfig内に設定することで、出力長さに上限を設けます。すべてのトラックは自動的にその上限まで切り捨てられ、明示的な表示長さを持たない素材(グローバルイメージやバナーテキストなど)は自動的にMaxDurationに設定されます。
MaxDuration の構成方法
SubmitMediaProducingJob API を呼び出す際、OutputMediaConfig内でMaxDurationを設定して、出力動画の長さを制限します。
MaxDurationの動作方法:
いずれかのトラックの持続時間が
MaxDurationを超える場合、そのトラックはMaxDurationに切り捨てられます。最終的な動画の長さがMaxDurationを超えることはありません。すべてのトラックの持続時間が
MaxDurationより短い場合、出力長さはMaxDurationを設定しない場合と同じになります。
MaxDurationとメイントラックの両方が設定されている場合、MaxDurationが有効になり、メイントラックの設定は無視されます。
例
以下の例は、サンプルのOutputMediaConfigおよびタイムラインの構成を示しています。
OutputMediaConfig:MaxDurationを 15 秒に設定します。
{
"MediaURL": "https://your-bucket.oss-cn-shanghai.aliyuncs.com/your_output.mp4",
"MaxDuration": 15
}
タイムライン:4 つのトラック — 動画トラックが 2 つ、音声トラックが 1 つ、字幕トラックが 1 つ。どのクリップにも時間関連のパラメーターは設定されていません。
動画トラック 1:グローバルイメージとして構成された JPG イメージ。
動画トラック 2:2 つの動画を連続で追加。
音声トラック:1 つの音声ファイル。
-
字幕トラック:バナーテキスト。
{ "VideoTracks": [{ "VideoTrackClips": [{ "Type": "GlobalImage", "MediaUrl": "https://your-bucket.oss-cn-shanghai.aliyuncs.com/your_image1.jpg" }] }, { "VideoTrackClips": [{ "MediaUrl": "https://your-bucket.oss-cn-shanghai.aliyuncs.com/your_video1.mp4" }, { "MediaUrl": "https://your-bucket.oss-cn-shanghai.aliyuncs.com/your_video2.mp4" }] }], "AudioTracks": [{ "AudioTrackClips": [{ "MediaUrl": "https://your-bucket.oss-cn-shanghai.aliyuncs.com/your_audio.mp3" }] }], "SubtitleTracks": [{ "SubtitleTrackClips": [{ "Type": "Text", "Content": "Banner text", "Alignment": "CenterCenter" }] }] }
最終的な動画の長さ:MaxDurationに合わせて 15 秒になります。具体的には以下のとおりです。
グローバルイメージの表示長さは自動的に 15 秒に設定されます。
動画トラック(2 つのクリップ)および音声トラックは、合計または個別の持続時間がその上限を超える場合、15 秒に切り捨てられます。
バナーテキストの表示長さは自動的に 15 秒に設定されます。
自動速度調整
速度調整の使用タイミング
メイントラックが設定されている場合、より長いトラックはデフォルトで切り捨てられます。この切り捨てによりコンテンツの整合性が損なわれる可能性があります。たとえば、ナレーションが文章の途中で途切れてしまうことがあります。逆の問題も発生します。動画が音声のメイントラックよりも短い場合、動画が早く終了し、残りの音声がブラックスクリーン上で再生されることになります。
速度調整は、これらの両方の問題を解決します。切り捨ての代わりに、サービスは自動的にトラックの再生速度を上げたり下げたりして、すべてのコンテンツを保持しつつ、メイントラックと完全に同期させます。
速度調整の構成方法
タイムライン内の動画トラックまたは音声トラックで、TrackShortenModeおよびTrackExpandModeを設定して、メイントラックとの相対的な動作を制御します。現在、両方のパラメーターはAutoSpeedのみをサポートしており、これにより再生速度が自動的に調整されます。
TrackShortenMode: "AutoSpeed"— メイントラックよりも長いトラックの再生速度を自動的に上げます。-
TrackExpandMode: "AutoSpeed"— メイントラックよりも短いトラックの再生速度を自動的に下げます。自動速度調整とトラック間の素材配置は同時に使用できません。速度調整はクリップのタイミングを変更するため、配置精度が損なわれます。
自動速度調整は、ループ再生に設定されたトラックには適用されません。ループモードでは、すでにトラックの全長を自動的に埋めています。
例
例 1:動画トラックがメイントラックです。音声トラックにはTrackShortenMode: "AutoSpeed"が設定されています。音声が動画よりも長い場合、動画が終了するタイミングに合わせて音声の再生速度が自動的に上がります。
{
"VideoTracks": [{
"MainTrack": true,
"VideoTrackClips": [{
"MediaURL": "https://your-bucket.oss-cn-shanghai.aliyuncs.com/your_video1.mp4",
"In": 0,
"Out": 10
}, {
"Type": "Image",
"MediaURL": "https://your-bucket.oss-cn-shanghai.aliyuncs.com/your_image1.jpg",
"Duration": 4
}, {
"MediaURL": "https://your-bucket.oss-cn-shanghai.aliyuncs.com/your_video2.mp4",
"In": 0,
"Out": 5
}]
}],
"AudioTracks": [{
"TrackShortenMode": "AutoSpeed",
"AudioTrackClips": [{
"Content": "Freshippo just opened a store in Huilongguan. It is the grand opening day, and there is quite a crowd at the store. Freshippo offers some great deals on snacks and drinks. Come check it out."
"Type": "AI_TTS",
"Voice": "zhiqing",
"Effects": [{
"Type": "Volume",
"Gain": 1
}, {
"FontSize": 34,
"Y": 0.658,
"Alignment": "TopCenter",
"AdaptMode": "AutoWrap",
"Type": "AI_ASR",
"Font": "FZHei-B01S"
}]
}]
}]
}
例 2:音声トラックがメイントラックです。動画トラックにはTrackShortenModeおよびTrackExpandModeの両方に"AutoSpeed"が設定されています。動画が音声よりも長い場合は再生速度が自動的に上がり、短い場合は再生速度が自動的に下がり、動画が音声と同時に終了するようになります。
{
"VideoTracks": [{
"TrackExpandMode": "AutoSpeed",
"TrackShortenMode": "AutoSpeed",
"VideoTrackClips": [{
"MediaURL": "https://your-bucket.oss-cn-shanghai.aliyuncs.com/your_video1.mp4",
"In": 0,
"Out": 10
},
{
"Type": "Image",
"MediaURL": "https://your-bucket.oss-cn-shanghai.aliyuncs.com/your_image1.jpg",
"Duration": 4
},
{
"MediaURL": "https://your-bucket.oss-cn-shanghai.aliyuncs.com/your_video2.mp4",
"In": 0,
"Out": 5
}
]
}],
"AudioTracks": [{
"MainTrack": true,
"AudioTrackClips": [{
"Content": "Freshippo just opened a store in Huilongguan. It is the grand opening day, and there is quite a crowd at the store. Freshippo offers some great deals on snacks and drinks. Come check it out."
"Type": "AI_TTS",
"Voice": "zhiqing",
"Effects": [{
"Type": "Volume",
"Gain": 1
},
{
"FontSize": 34,
"Y": 0.658,
"Alignment": "TopCenter",
"AdaptMode": "AutoWrap",
"Type": "AI_ASR",
"Font": "FZHei-B01S"
}
]
}]
}]
}