このトピックでは、ApsaraVideo VOD API を使用して、ビデオ全体のミュート、ビデオの指定された部分のミュート、オーディオクリップの抽出、ビデオのミュートと完全なオーディオリソースを使用したビデオのダビング、ビデオのミュートとオーディオリソースの指定された部分を使用したビデオのダビング、ビデオのボリューム調整とボリュームも調整されたオーディオリソースを使用したビデオのダビング、オーディオクリップのマージ、複数のオーディオトラックのミキシング、複雑なオーディオ処理の実行など、オーディオ処理のタイムラインデータを設定する方法について説明します。
関連 API 操作
タイムライン設定のサンプル
ビデオ全体のミュート
この操作は、ビデオ全体の音声をオフにします。次の例は、ボリューム効果を使用してビデオをミュートする方法を示しています。Gain パラメーターは、ボリュームゲインを示します。0 の値は、ビデオがミュートされていることを示します。
{
"VideoTracks": [
{
"VideoTrackClips": [
{
"MediaId": "3f7e62d41a334dec9ac802b0f165****",
"Effects": [
{
"Type": "Volume",
"Gain": "0" // ゲイン
}
]
}
]
}
]
}ビデオの指定された部分のミュート
ビデオ全体をミュートするために使用されるパラメーターと比較して、この操作ではボリューム効果に In パラメーターと Out パラメーターが追加されます。次のコードは、8 秒目から 60 秒目までビデオをミュートし、ビデオの他の部分のボリュームを維持する方法の例を示しています。
{
"VideoTracks": [
{
"VideoTrackClips": [
{
"MediaId": "3f7e62d41a334dec9ac802b0f165****",
"Effects": [
{
"Type": "Volume",
"Gain": "0", // ゲイン
"In": 8, // 開始時間
"Out": "60" // 終了時間
}
]
}
]
}
]
}オーディオの抽出
シナリオによっては、ビデオからオーディオを別のオーディオリソースとして抽出する必要があります。ビデオをオーディオトラッククリップとして渡すことで、オーディオトラックを作成できます。次の例では、b3f37e05512043f49f697f7425b9**** はオーディオ付きビデオの ID です。
{
"AudioTracks": [ // オーディオトラック
{
"AudioTrackClips": [ // オーディオトラッククリップ
{
"MediaId": "b3f37e05512043f49f697f7425b9****" // メディアID
}
]
}
]
}ビデオをミュートし、完全なオーディオリソースでビデオをダビングする
この操作は、ビデオをミュートし、完全なオーディオリソースでビデオをダビングして新しいビデオを生成します。これは典型的なダビングシナリオです。サンプルコード:
オーディオ処理に関連するクリップは AudioTracks に追加されます。
TimelineInパラメーターは 5 に設定されています。これは、出力ビデオがビデオの 5 秒目からオーディオでダビングされることを示します。デフォルトでは、
TimelineOutパラメーターが指定されていない場合、出力ビデオは完全なオーディオでダビングされます。出力ビデオが終了してもオーディオが終了しない場合、オーディオは切り捨てられ、再生は出力ビデオトラックの終了位置で停止します。
オーディオのみのリソースまたはオーディオ付きのビデオリソースを AudioTrackClips に追加できます。
{
"VideoTracks": [
{
"VideoTrackClips": [
{
"MediaId": "3f7e62d41a334dec9ac802b0f165****",
"Effects": [
{
"Type": "Volume",
"Gain": "0" // ゲイン
}
]
}
]
}
],
"AudioTracks": [
{
"AudioTrackClips": [
{
"MediaId": "4a71744998414cbe8ea1976435a7****", // オーディオID
"TimelineIn":5 // タイムライン開始時間
}
]
}
]
}ビデオをミュートし、オーディオリソースの指定された部分でダビングする
ビデオをミュートした後、オーディオリソースの In パラメーターと Out パラメーターを指定することで、オーディオリソースの指定された部分でビデオをダビングできます。次のコードは、オーディオリソースから 10 秒目から 20 秒目までの部分(10 秒のオーディオトラッククリップ)を抽出し、ビデオの 5 秒目からオーディオトラッククリップでビデオをダビングする方法の例を示しています。
オーディオのみのリソースまたはオーディオ付きのビデオリソースを AudioTrackClips に追加できます。
{
"VideoTracks": [
{
"VideoTrackClips": [
{
"MediaId": "3f7e62d41a334dec9ac802b0f165****",
"Effects": [
{
"Type": "Volume",
"Gain": "0" // ゲイン
}
]
}
]
}
],
"AudioTracks": [
{
"AudioTrackClips": [
{
"MediaId": "4a71744998414cbe8ea1976435a7****", // オーディオID
"In":10, // 開始時間
"Out":20, // 終了時間
"TimelineIn":5 // タイムライン開始時間
}
]
}
]
}ビデオのボリュームを調整し、ボリュームも調整されたオーディオリソースでビデオをダビングする
ボリューム効果を使用してボリュームを指定できます。ボリューム効果では、Gain パラメーターはボリュームゲインを示します。
Gain パラメーターの有効な値:
0:ビデオまたはオーディオはミュートされます。
1:元のボリュームが使用されます。
0 から 1 までの値:ボリュームは元のボリュームよりも低くなります。値が小さいほど、ボリュームは低くなります。
1 より大きい値:ボリュームは元のボリュームよりも高くなります。値が大きいほど、ボリュームは高くなります。
オーディオのみのリソースまたはオーディオ付きのビデオリソースを AudioTrackClips に追加できます。
{
"VideoTracks": [
{
"VideoTrackClips": [
{
"MediaId": "3f7e62d41a334dec9ac802b0f165****",
"Effects": [
{
"Type": "Volume",
"Gain": "0.5" // ゲイン
}
]
}
]
}
],
"AudioTracks": [
{
"AudioTrackClips": [
{
"MediaId": "4a71744998414cbe8ea1976435a7****", // オーディオID
"In":10, // 開始時間
"Out":20, // 終了時間
"TimelineIn":5, // タイムライン開始時間
"Effects": [
{
"Type": "Volume",
"Gain": "2" // ゲイン
}
]
}
]
}
]
}オーディオクリップのマージ
前の例ではビデオトラックが使用されています。オンライン編集では、オーディオのみのトラックを処理することもできます。次のコードは、同じオーディオトラック内の 2 つのオーディオリソースから指定された部分を抽出し、抽出された部分を順番にマージして 30 秒のオーディオリソースを生成する方法の例を示しています。
オーディオのみのリソースまたはオーディオ付きのビデオリソースを AudioTrackClips に追加できます。
{
"AudioTracks": [
{
"AudioTrackClips": [
{
"MediaId": "b3f37e05512043f49f697f7425b9****", // オーディオID
"In": 100, // 開始時間
"Out": 120 // 終了時間
},
{
"MediaId": "ab654a04ce554e4f806b5f9e5a34****", // オーディオID
"In": 50, // 開始時間
"Out": 60 // 終了時間
}
]
}
]
}複数のオーディオトラックのミキシング
同じオーディオトラック内のオーディオをマージすることに加えて、オンライン編集では複数のオーディオトラックをミキシングすることもできます。次のコードは、2 つのオーディオトラックをミキシングして 20 秒のオーディオリソースを生成する方法の例を示しています。
オーディオのみのリソースまたはオーディオ付きのビデオリソースを AudioTrackClips に追加できます。
{
"AudioTracks": [
{
"AudioTrackClips": [
{
"MediaId": "b3f37e05512043f49f697f7425b9****", // オーディオID
"In": 100, // 開始時間
"Out": 120, // 終了時間
"Effects": [
{
"Type": "Volume",
"Gain": "2" // ゲイン
}
]
}
]
},
{
"AudioTrackClips": [
{
"MediaId": "ab654a04ce554e4f806b5f9e5a34****", // オーディオID
"In": 50, // 開始時間
"Out": 60, // 終了時間
"Effects": [
{
"Type": "Volume",
"Gain": "1" // ゲイン
}
]
}
]
}
]
}複雑なオーディオ処理の実行
この操作では、ミキシングされた複数のオーディオトラックでビデオをダビングできます。次の例では、ビデオの指定された部分をミュートし、ビデオの別の指定された部分のボリュームを調整し、ミキシングされた複数のオーディオトラックでビデオをダビングします。次の操作を実行します。
3f7e62d41a334dec9ac802b0f165**** ビデオを 50 秒目から 75 秒目までミュートします。b3f37e05512043f49f697f7425b9**** オーディオから 100 秒目から 120 秒目までのクリップを抽出します。クリップのボリュームを 2 倍にし、50 秒目から 70 秒目まで開始するビデオにクリップを追加します。ab654a04ce554e4f806b5f9e5a34**** オーディオから 150 秒目から 160 秒目までのクリップを抽出します。次に、65 秒目から 75 秒目まで開始するビデオにクリップを追加します。
50 秒目から 75 秒目までと 120 秒目から 125 秒目までの部分を除いて、ビデオ 3f7e62d41a334dec9ac802b0f165**** のボリュームは変更されません。
オーディオのみのリソースまたはオーディオ付きのビデオリソースを AudioTrackClips に追加できます。
サンプルコード:
{
"VideoTracks": [
{
"VideoTrackClips": [
{
"MediaId": "3f7e62d41a334dec9ac802b0f165****", // ビデオID
"Effects": [
{
"Type": "Volume",
"Gain": "0", // ゲイン
"In": 50, // 開始時間
"Out": "75" // 終了時間
},
{
"Type": "Volume",
"Gain": "0.8", // ゲイン
"In": 120, // 開始時間
"Out": "125" // 終了時間
}
]
}
]
}
],
"AudioTracks": [
{
"AudioTrackClips": [
{
"MediaId": "b3f37e05512043f49f697f7425b9****", // オーディオID
"In": 100, // 開始時間
"Out": 120, // 終了時間
"TimelineIn":50, // タイムライン開始時間
"Effects": [
{
"Type": "Volume",
"Gain": "2" // ゲイン
}
]
}
]
},
{
"AudioTrackClips": [
{
"MediaId": "ab654a04ce554e4f806b5f9e5a34****", // オーディオID
"In": 150, // 開始時間
"Out": 160, // 終了時間
"TimelineIn":65, // タイムライン開始時間
"Effects": [
{
"Type": "Volume",
"Gain": "1" // ゲイン
}
]
}
]
}
]
}オーディオのフェードインとフェードアウトの設定
"Type": "AFade" フィールドを指定することで、オーディオのフェードインとフェードアウトを設定できます。次のサンプルコードは、オーディオのフェードインとフェードアウトを設定する方法の例を示しています。この例では、最初の 3 秒でボリュームが徐々に増加し、最後の 4 秒で減少します。
{
"AudioTracks": [ // オーディオトラック
{
"AudioTrackClips": [ // オーディオトラッククリップ
{
"MediaId": "f044b3adc7967ba8f5cdf044b059****", // メディアID
"Effects": [ // 効果
{
"Type": "AFade", // フェードタイプ
"SubType": "In", // サブタイプ(イン)
"Duration": 3, // 継続時間
"Curve": "tri" // カーブ
},
{
"Type": "AFade", // フェードタイプ
"SubType": "Out", // サブタイプ(アウト)
"Duration": 4, // 継続時間
"Curve": "tri" // カーブ
}
]
}
]
}
]
}パラメーター | タイプ | 必須 | 説明 |
SubType | 文字列 | はい | オーディオフェードのタイプ。
|
Duration | 浮動小数点数 | いいえ | オーディオのフェードインまたはフェードアウトの継続時間。単位:秒。オーディオは元のオーディオの開始時にフェードインし、終了時にフェードアウトします。デフォルト値:0。0 は、オーディオにフェードインまたはフェードアウト効果が設定されていないことを指定します。 |
Curve | 文字列 | いいえ | オーディオのフェードインまたはフェードアウトの曲線。有効な値:
|
ビデオのオーディオのフェードインとフェードアウトの設定
ビデオのオーディオにフェードインとフェードアウト効果を設定できます。設定はオーディオのフェードインとフェードアウトと同じです。次のサンプルコードは、ビデオのオーディオにフェードインとフェードアウト効果を設定する方法の例を示しています。この例では、最初の 3 秒でボリュームが徐々に増加し、最後の 4 秒で減少します。
{
"VideoTracks": [ // ビデオトラック
{
"VideoTrackClips": [ // ビデオトラッククリップ
{
"MediaId": "f044b3adc7967ba8f5cdf044b059****", // メディアID
"Effects": [ // 効果
{
"Type": "AFade", // フェードタイプ
"SubType": "In", // サブタイプ(イン)
"Curve": "tri", // カーブ
"Duration": 3 // 継続時間
},
{
"Type": "AFade", // フェードタイプ
"SubType": "Out", // サブタイプ(アウト)
"Duration": 4, // 継続時間
"Curve": "tri" // カーブ
}
]
}
]
}
]
}