このトピックでは、タイムラインでのトラック間のマテリアル配置方法について説明します。
I. 背景情報
通常のタイムラインを使用してマテリアルを編集する場合、複数のトラックの音声マテリアルとビデオマテリアルを同時に再生して終了させるには、各マテリアルの TimelineIn パラメーターと TimelineOut パラメーターを指定し、異なるマテリアルの長さが同じであることを確認する必要があります。このトピックでは、より便利なマテリアル配置方法について説明します。タイムライン上の各マテリアルの開始時間または終了時間を指定する必要はありません。配置パラメーター(次のセクションを参照)を設定するだけで、異なるトラック間で音声とビデオ、音声と音声、ビデオと音声、ビデオとビデオを配置できます。
II. 詳細な紹介
2.1. タイムラインプロトコルの紹介
ClipId パラメーターと ReferenceClipId パラメーターを使用して、マテリアル間の配置関係を指定できます。
{
"VideoTracks": [
{
"VideoTrackClips": [
{
"In": 0,
"Out": 5,
"MediaURL": "https://your-bucket.oss-cn-shanghai.aliyuncs.com/head.mp4"
},
{
"ReferenceClipId": "audio_1",
"MediaURL": "https://your-bucket.oss-cn-shanghai.aliyuncs.com/video1.mp4"
},
{
"MediaURL": "https://your-bucket.oss-cn-shanghai.aliyuncs.com/end.mp4",
"In": 0,
"Out": 5
}
]
}
],
"AudioTracks": [
{
"AudioTrackClips": [
{
"TimelineIn": 5,
"ClipId": "audio_1",
"MediaId": "7980d8f************e6f7e5696301",
"In": 0,
"Out": 10
}
]
}
]
}上記の例では、ビデオトラックの2番目のマテリアルの長さ、開始時間、および終了時間は、オーディオトラックの最初のマテリアルに基づいて自動的に設定されます。
制限事項:
ClipId パラメーターと ReferenceClipId パラメーターは、オーディオトラックまたはビデオトラックでのみサポートされており、エフェクトトラックと画像トラックではサポートされていません。
マテリアルの配置は、マテリアルが異なるトラックにある場合にのみ有効になります。そうでない場合、タイムラインは無効になり、ビデオの制作は失敗します。
クリップに TimelineIn、TimelineOut、および ReferenceClipId パラメーターが設定されている場合、マテリアルの配置は有効にならず、TimelineIn パラメーターと TimelineOut パラメーターが優先されます。
配置中にクリップの長さが足りない場合は、クリップの速度が低下して長さが長くなります。たとえば、長さが 10 秒のクリップ A を長さが 20 秒のクリップ B に配置すると、クリップ A は 0.5 倍の速度で再生されます。このようにして、クリップ A は 20 秒間再生されます。
配置中にクリップの長さが長すぎる場合は、クリップは自動的に切り詰められます。たとえば、長さが 20 秒のクリップ A を長さが 10 秒のクリップ B に配置すると、クリップ A の最初の 10 秒が保持されます。
2.2 一般的なシナリオ
次のセクションでは、トラック間のマテリアル配置が必要ないくつかの一般的なシナリオについて説明します。
2.2.1. 簡単な音声とビデオの配置
音声をビデオに配置する
{
"VideoTracks": [
{
"VideoTrackClips": [
{
"MediaId": "e6f7e57980************d8f696301",
"In": 0,
"Out": 4
},
{
"ClipId":"video_1",
"MediaId": "e6f7e57980************d8f696301",
"In": 2,
"Out": 10
}
]
}
],
"AudioTracks": [
{
"AudioTrackClips": [
{
"ReferenceClipId": "video_1",
"MediaId": "7980d8f************e6f7e5696301",
"Effects": [
{
"Type": "Volume",
"Gain": "0.2"
}
]
}
]
}
]
}ビデオを音声に配置する
{
"VideoTracks": [
{
"VideoTrackClips": [
{
"MediaId": "e6f7e57980************d8f696301",
"In": 0,
"Out": 5
},
{
"ReferenceClipId":"audio_1",
"MediaId": "e6f7e57980************d8f696301"
}
]
}
],
"AudioTracks": [
{
"AudioTrackClips": [
{
"TimelineIn": 5,
"ClipId": "audio_1",
"MediaId": "7980d8f************e6f7e5696301"
}
]
}
]
}2.2.2. ビデオを音声に配置する: ビデオトラックにはトランジションが含まれ、オーディオトラックには複数のスピーチが含まれています。ビデオは各スピーチの長さに基づいて再生されます
次のタイムラインを例として使用します。
オーディオトラックには、AI_TTS によって生成された 3 つのマテリアル(スピーチ)が含まれています。
ビデオトラックには 5 つのマテリアルが含まれています。2 番目のビデオと 3 番目のビデオの間、および 3 番目のビデオと 4 番目のビデオの間に 2 秒のトランジションが存在します。
ビデオトラックの 2 番目、3 番目、および 4 番目のビデオマテリアルは、オーディオトラックの 3 つのスピーチに配置されます。スピーチはトランジションの中間点で開始および終了します。
{
"VideoTracks": [{
"VideoTrackClips": [{
"Out": 5,
"MediaId": "e6f7e57980************d8f696301"
},{
"ReferenceClipId":"speech_1",
"MediaId": "e6f7e57980************d8f696301",
"Effects": [{
"Type": "Transition",
"SubType": "waterdrop",
"Duration": 2
}]
}, {
"ReferenceClipId":"speech_2",
"MediaId": "e6f7e57980************d8f696301",
"Effects": [{
"Type": "Transition",
"SubType": "waterdrop",
"Duration": 2
}]
}, {
"ReferenceClipId":"speech_3",
"MediaId": "e6f7e57980************d8f696301"
}, {
"Out": 10,
"MediaId": "e6f7e57980************d8f696301"
}]
}],
"AudioTracks": [{
"AudioTrackClips": [{
"TimelineIn":5,
"Type": "AI_TTS",
"Content": "Speech 1 Speech 1 Speech 1. Speech 1 Speech 1 Speech 1 Speech 1. Speech 1 Speech 1 Speech 1. Speech 1 Speech 1 Speech 1. Speech 1 Speech 1. Speech 1. Speech 1 Speech 1 Speech 1 Speech 1.", // スピーチ 1 スピーチ 1 スピーチ 1。スピーチ 1 スピーチ 1 スピーチ 1 スピーチ 1。スピーチ 1 スピーチ 1 スピーチ 1。スピーチ 1 スピーチ 1 スピーチ 1。スピーチ 1 スピーチ 1。スピーチ 1。スピーチ 1 スピーチ 1 スピーチ 1 スピーチ 1。
"Voice": "sicheng",
"ClipId":"speech_1",
"Effects": [{
"Type": "AI_ASR",
"Font": "AlibabaPuHuiTi",
"Alignment": "TopCenter",
"Y": 90,
"FontSize": 56,
"FontColor": "#ffffff"
}]
}, {
"Type": "AI_TTS",
"Content": "Speech 2 Speech 2 Speech 2 Speech 2 Speech 2. Speech 2 Speech 2 Speech 2 Speech 2. Speech 2 Speech 2 Speech 2 Speech 2 Speech 2 Speech 2 Speech 2. Speech 2 Speech 2 Speech 2 Speech 2.", // スピーチ 2 スピーチ 2 スピーチ 2 スピーチ 2 スピーチ 2。スピーチ 2 スピーチ 2 スピーチ 2 スピーチ 2。スピーチ 2 スピーチ 2 スピーチ 2 スピーチ 2 スピーチ 2 スピーチ 2 スピーチ 2。スピーチ 2 スピーチ 2 スピーチ 2 スピーチ 2。
"Voice": "sicheng",
"ClipId":"speech_2",
"Effects": [{
"Type": "AI_ASR",
"Font": "AlibabaPuHuiTi",
"Alignment": "TopCenter",
"Y": 90,
"FontSize": 56,
"FontColor": "#ffffff"
}]
}, {
"Type": "AI_TTS",
"Content": "Speech 3 Speech 3 Speech 3 Speech 3 Speech 3. Speech 3 Speech 3 Speech 3. Speech 3 Speech 3 Speech 3 Speech 3 Speech 3. Speech 3 Speech 3 Speech 3 Speech 3 Speech 3. Speech 3 Speech 3.", // スピーチ 3 スピーチ 3 スピーチ 3 スピーチ 3 スピーチ 3。スピーチ 3 スピーチ 3 スピーチ 3。スピーチ 3 スピーチ 3 スピーチ 3 スピーチ 3 スピーチ 3。スピーチ 3 スピーチ 3 スピーチ 3 スピーチ 3 スピーチ 3。スピーチ 3 スピーチ 3。
"Voice": "sicheng",
"ClipId":"speech_3",
"Effects": [{
"Type": "AI_ASR",
"Font": "AlibabaPuHuiTi",
"Alignment": "TopCenter",
"Y": 90,
"FontSize": 56,
"FontColor": "#ffffff"
}]
}]
}]
}2.2.3. 音声をビデオに配置する: 音声はスピーチであり、ビデオの長さに基づいて切り詰められます
次のタイムラインを例として使用します。
ビデオトラックには 3 つのマテリアルが含まれており、2 番目のビデオの長さは 8 秒です。
オーディオトラックには、AI_TTS によって生成されたスピーチが含まれています。元の音声は 8 秒よりも長いです。
音声マテリアルは 2 番目のビデオマテリアルに配置されます。音声は 8 秒間だけ再生され、超過分は自動的に切り詰められます。
{
"VideoTracks": [
{
"VideoTrackClips": [
{
"MediaId": "e6f7e57980************d8f696301",
"In": 0,
"Out": 5
},
{
"ClipId":"video_1",
"MediaId": "e6f7e57980************d8f696301",
"In": 10,
"Out": 18
},
{
"MediaId": "e6f7e57980************d8f696301",
"In": 3,
"Out": 10
}
]
}
],
"AudioTracks": [
{
"AudioTrackClips": [
{
"ReferenceClipId": "video_1",
"Type": "AI_TTS",
"Content": "Hello everyone, hello everyone, hello everyone, hello everyone, hello everyone, hello everyone, hello everyone, hello everyone, hello everyone, hello everyone, hello everyone, hello everyone, hello everyone, hello everyone, hello everyone, hello everyone, hello everyone, hello everyone, hello everyone, hello everyone, hello everyone, hello everyone, hello everyone, hello everyone, hello everyone, hello everyone, hello everyone, hello everyone, hello everyone, hello everyone, hello everyone, hello everyone, hello everyone, hello everyone, hello everyone, hello everyone, hello everyone, hello everyone, hello everyone, hello everyone, hello everyone, hello everyone, hello everyone, hello everyone, hello everyone, hello everyone, hello everyone, hello everyone, hello everyone, hello everyone, hello everyone, hello everyone, hello everyone, hello everyone, hello everyone, hello everyone, hello everyone, hello everyone, hello everyone, hello everyone, hello everyone.", // 皆さん、こんにちは、皆さん、こんにちは、皆さん、こんにちは、皆さん、こんにちは、皆さん、こんにちは、皆さん、こんにちは、皆さん、こんにちは、皆さん、こんにちは、皆さん、こんにちは、皆さん、こんにちは、皆さん、こんにちは、皆さん、こんにちは、皆さん、こんにちは、皆さん、こんにちは、皆さん、こんにちは、皆さん、こんにちは、皆さん、こんにちは、皆さん、こんにちは、皆さん、こんにちは、皆さん、こんにちは、皆さん、こんにちは、皆さん、こんにちは、皆さん、こんにちは、皆さん、こんにちは、皆さん、こんにちは、皆さん、こんにちは、皆さん、こんにちは、皆さん、こんにちは、皆さん、こんにちは、皆さん、こんにちは、皆さん、こんにちは、皆さん、こんにちは、皆さん、こんにちは、皆さん、こんにちは、皆さん、こんにちは、皆さん、こんにちは、皆さん、こんにちは、皆さん、こんにちは。
"Voice": "Siqi",
"SpeechRate": 0,
"PitchRate": 0,
"Effects": [
{
"Type": "AI_ASR",
"Font": "WenQuanYi Zen Hei Mono",
"FontSize": 26,
"FontColorOpacity": 1,
"FontColor": "#000000",
"FontFace": {
"Bold": true,
"Italic": true,
"Underline": false
}
}
]
}
]
}
]
}2.2.4. ビデオをビデオに配置する: 背景ビデオはアバタービデオの長さに基づいて再生されます
次のタイムラインを例として使用します。
タイムラインには 2 つのビデオトラックがあり、各トラックには 1 つのビデオが含まれています。最初のトラックのマテリアルは通常のビデオで、2 番目のトラックのマテリアルはアバター、字幕、およびスピーチで構成されるビデオです。
最初のビデオトラックのマテリアルはミュートされ、背景として使用され、2 番目のビデオトラックのマテリアルに配置されます。
{
"VideoTracks": [
{
"VideoTrackClips": [
{
"ReferenceClipId": "avatar2",
"MediaId": "e6f7e57980************d8f696301",
"Effects": [
{
"Type": "Volume",
"Gain": 0
}
]
}
]
},
{
"VideoTrackClips": [
{
"ClipId": "avatar2",
"Type": "AI_Avatar",
"AvatarId": "yunxin",
"Content": "このショッピング方法は商品を倉庫に保管するため、物流効率と商品の安全性が向上します。多くの e コマース企業はすでにこのモデルの実験を開始しています。",
"X": 50,
"Y": 0,
"Effects": [
{
"Type": "AI_ASR",
"Font": "AlibabaPuHuiTi",
"Alignment": "BottomCenter",
"Y": 50,
"FontSize": 40,
"FontColor": "#ffffff",
"FontFace": {
"Bold": true,
"Italic": false,
"Underline": false
}
}
]
}
]
}
]
}2.2.5 画像をビデオに配置する。アバタービデオを背景として使用し、画像をビデオに重ねます
次のタイムラインを例として使用します。
最初のビデオトラックには 3 つのマテリアルが含まれています。最初の 5 秒と最後の 5 秒は、ビデオのオープニングセグメントとクロージングセグメントで構成されています。ビデオの中間セグメントは、アバター、字幕、およびスピーチで構成されています。
2 番目のビデオトラックのマテリアルは、最初のトラックのアバタービデオに配置された画像です。画像はビデオに重ねられます。
{
"VideoTracks": [
{
"VideoTrackClips": [
{
"MediaURL": "http://your-bucket.oss-cn-shanghai.aliyuncs.com/opening.mp4",
"Out": 5
},
{
"ClipId": "avatar2",
"Type": "AI_Avatar",
"AvatarId": "yunxin",
"Content": "このショッピング方法は商品を倉庫に保管するため、物流効率と商品の安全性が向上します。多くの e コマース企業はすでにこのモデルの実験を開始しています。",
"X": 50,
"Y": 0,
"Effects": [
{
"Type": "AI_ASR",
"Font": "AlibabaPuHuiTi",
"Alignment": "BottomCenter",
"Y": 50,
"FontSize": 40,
"FontColor": "#ffffff",
"FontFace": {
"Bold": true,
"Italic": false,
"Underline": false
}
}
]
},
{
"MediaURL": "http://your-bucket.oss-cn-shanghai.aliyuncs.com/ending.mp4",
"Out": 5
}
]
},
{
"VideoTrackClips": [
{
"ReferenceClipId": "avatar2",
"Type": "Image",
"MediaId": "e6f7e57980************d8f696301",
"Width": 0.2,
"Height": 0.2,
"X": 0.1,
"Y": 0.1
}
]
}
]
}