Intelligent Production は、音声、動画、テキストのアセットを組み合わせて新しい動画を作成できる、プロフェッショナルなオンライン動画編集機能を提供します。本トピックでは、オンライン編集プロジェクトを作成、管理、編集する方法について説明します。動画編集、ライブストリーム編集、高度なテンプレート編集を実行できるほか、インテリジェント機能を使用してステッカー、フィルター、エフェクト、字幕を追加し、プロジェクトを強化することもできます。
機能
-
動画編集:動画クリップ、音声ファイル、画像などのアセットをトリミング、結合し、エフェクトを追加します。
-
ライブストリーム編集:ライブストリーム中に動画コンテンツをリアルタイムで編集し、出力します。
-
高度なテンプレート編集:プリセットのテンプレートから高品質な動画を迅速に生成します。
前提条件
-
必要なメディアアセットをメディアライブラリにアップロードしておきます。詳細については、「コンソールでのメディアアセットのアップロード」をご参照ください。
-
インテリジェントなテキスト読み上げ機能を使用したい場合は、生成された音声のデフォルトのストレージパスを設定しておきます。詳細については、「ストレージアドレスの設定」をご参照ください。
コンソールでのオンライン編集
オンライン編集コンソールへのアクセス
-
左側メニューで、 を選択して、オンライン編集ページに移動します。
編集プロジェクトの作成
動画編集プロジェクト
Intelligent Production では、ライブストリームや録画ファイルの編集が可能です。
-
[Video Editing Projects] タブをクリックします。
-
[Create Editing Project] をクリックしてプロジェクト名を入力し、[OK] をクリックします。
-
プロジェクトの [操作] 列で [クリップ] をクリックすると、標準の編集プロジェクトインターフェースが開きます。
ライブストリーム編集プロジェクト
-
[Live Editing Project] タブをクリックします。
-
[Create Live Editing Project] をクリックして、ライブストリーム編集プロジェクトに必要なパラメータを設定し、[OK] をクリックします。
パラメータ
説明
ライブストリーム編集名
ライブストリーム編集プロジェクトの任意の名前。名前には、文字、数字、スペース、アンダースコア (_) を使用でき、60 文字を超えることはできません。
ライブストリーム URL
編集したい Alibaba Cloud ライブストリームの URL を入力します。ライブストリーム URL の取得方法については、「ライブストリーム URL の生成」をご参照ください。現在、HTTPS 経由の HLS (m3u8) ストリームのみがサポートされています。
説明ライブストリームを編集するには、まずライブストリーム録画を有効にする必要があります。詳細については、「OSS への録画と保存」および「VOD への録画と保存」をご参照ください。
ストレージ方式
生成されたライブストリームクリップの保存先を設定します。保存先として Object Storage Service (OSS) と ApsaraVideo VOD がサポートされています。
ストレージアドレス
-
ApsaraVideo VOD バケットと、ApsaraVideo VOD システムに追加された独自の OSS バケットを追加できます。利用可能なバケットがない場合は、ApsaraVideo VOD コンソールでバケットを作成できます。ApsaraVideo VOD は各ストレージリージョンにストレージアドレスを割り当てます。ApsaraVideo VOD を有効化したら、使用前にこのアドレスを有効化する必要があります。詳細については、「ストレージバケットの管理」をご参照ください。
-
Object Storage Service (OSS) バケットを追加できます。利用可能なバケットがない場合は、OSS コンソールでバケットを作成できます。詳細については、「バケットの作成」をご参照ください。
開始時間
ライブストリーム編集の開始時間を選択します。[Start] または [Start from Reserved Time] を選択できます。ライブストリームが開始される前に、オンライン編集リストでスケジュールを変更できます。ライブストリームが開始されると、自動的に録画が開始され、ストリームをリアルタイムで編集できます。
-
-
プロジェクトの [操作] 列で [表示] をクリックすると、ライブストリーム編集インターフェースが開きます。ライブストリーム編集の詳細については、「編集機能」をご参照ください。
高度なテンプレート編集プロジェクト
-
[Advanced Editing Project] タブをクリックします。
-
[Create Editing Project] をクリックした後、[OK] をクリックして [Advanced Templates] ページに移動します。
-
テンプレートの [操作] 列で [Use Template] をクリックしてプロジェクト名を入力し、[OK] をクリックすると高度なテンプレート編集インターフェースが開きます。高度なテンプレート編集の詳細については、「編集機能」をご参照ください。
編集プロジェクトの管理
[操作] 列では、[Editing]、[Copy]、または [Export Template] をクリックできます。プロジェクトを削除するには、
をクリックしてから [Delete] をクリックします。
このセクションでは、標準の編集プロジェクトを例として使用します。他の種類の編集プロジェクトの手順も同様です。
標準の編集プロジェクトリストには、プロジェクト名、動画タイプ、作成時刻、最終更新時刻などの情報が表示されます。[Actions] 列で、プロジェクトを編集したり、その詳細を表示したりできます。
編集機能
動画編集
-
動画編集プロジェクトインターフェースを開きます。
動画編集プロジェクトインターフェースは、主に 4 つのエリアに分かれています。左上にはインポートされたメディアアセットを管理する [アセットエリア]、中央にはリアルタイムで動画を再生する [プレビューエリア]、右側にはアセットのパラメータを調整する [プロパティエリア]、そして下部には編集操作のためのマルチトラックタイムラインを提供する [編集エリア] があります。
番号
説明
①
アセットエリア
②
プレビューエリア
③
プロパティエリア
④
編集エリア
-
アセットをインポートします。
アセットエリアの右上隅にある [Import] をクリックして、現在のリージョンのメディアライブラリを開きます。必要なアセットを選択します。
メディアライブラリでは、[All]、[Video]、[Audio]、または [Image] のカテゴリ別にアセットをフィルタリングできます。また、上部の検索ボックスを使用して名前でアセットを検索することもできます。
必要なアセットがメディアライブラリにない場合は、アップロードできます。詳細については、「コンソールでのメディアアセットのアップロード」をご参照ください。
-
アセットを編集エリアに追加します。
アセットの
アイコンをクリックするか、アセットを編集エリアのトラックにドラッグします。[Stickers]、[Filters]、[Effects] などの公開リソースを追加して、マルチトラックプロジェクトを作成し、結果をリアルタイムでプレビューすることもできます。
-
アセットを編集します。
-
アセットのプロパティのトリミング、プレビュー、または調整
編集エリアのトラック上のアセットを選択します。編集エリアの左上隅にあるツールを使用して、トリミングや削除などの操作を実行します。プレビューエリアでは、アセットのプレビュー、ドラッグ、拡大縮小、再配置ができます。プロパティエリアでは、そのプロパティを調整できます。
-
トランジションエフェクトの追加
編集エリアで、トランジションを追加したい動画または画像を選択します。アセットエリアで [Transitions] をクリックし、渦巻きなどのトランジションエフェクトを選択します。プレビューエリアでエフェクトを確認できます。
-
インテリジェント字幕の生成
編集エリアで動画を選択します。プロパティエリアの [Basic] タブで、[Intelligent Subtitling] をクリックします。生成された字幕は自動的に新しいトラックにロードされます。
-
動画の音声波形の表示
編集エリアで動画を選択します。
アイコンをクリックして表示する波形の種類を選択します。対応する波形がトラック上の動画の下に表示されます。 -
インテリジェント吹き替え
編集エリアで、ナレーションを生成したい字幕を選択します。
アイコンをクリックして音声の種類を設定し、[Smart dubbing] をクリックします。生成されたナレーションは自動的に新しいトラックにロードされます。説明「[Please configure the storage path first]」 というメッセージが表示された場合は、ストレージパスを設定する必要があります。詳細については、「ストレージアドレスの設定」をご参照ください。
-
マーカーの追加またはクリップのマーク
編集エリアで動画を選択し、タイムラインを特定の位置にドラッグします。
アイコンをクリックしてマーカーを追加します。
または
アイコンをクリックして、クリップのインポイントとアウトポイントを追加します。また、
および
アイコン、またはトラック上の動画の上にあるマーカーやクリップをクリックして、その詳細を表示することもできます。 -
動画から音声トラックを分離
編集エリアで動画を選択します。プロパティエリアの [Basic] タブで、[Separate audio track] をクリックします。分離された音声トラックは自動的に新しいトラックにロードされます。
-
デジタルヒューマンのカスタマイズ (パブリックプレビュー)
パブリックプレビュー期間中、Intelligent Production は 4 体の公式デジタルヒューマンを無料トライアルとして提供します。アセットエリアからテキスト駆動または音声駆動のデジタルヒューマンを追加し、必要に応じてパラメータを設定した後、[Initiate Digital Human and Generate Video] をクリックします。合成が完了すると、デジタルヒューマンは動画トラックに追加されます。
公式のデジタルヒューマンは、実在の人物データでトレーニングされていないため、品質が最適ではない場合があります。より高い品質が求められる場合は、DingTalk グループ (ID: 84650000851) に参加して、デジタルヒューマン機能のプロフェッショナル版をお試しください。
アセットエリアの左側パネルには、利用可能なデジタルヒューマンのリストが表示されます。1 つ選択すると、プレビューエリアでその外観をプレビューできます。
-
-
編集が完了したら、右上隅の [Save] をクリックしてプロジェクトを保存します。
また、右上隅の [Generate as Template] または [Export Video] をクリックして、プロジェクトからテンプレートを生成したり、動画をメディアライブラリにエクスポートしたりすることもできます。
ライブストリーム編集
-
ライブストリーム編集プロジェクトインターフェースを開きます。
ライブストリーム編集インターフェースは 4 つのエリアに分かれています。左側にはライブストリームを表示する [ライブ信号ソースエリア]、中央には編集されたコンテンツをプレビューする [動画プレビューエリア]、下部にはクリップを作成するためのタイムラインがある [編集エリア]、右側には生成された動画クリップを管理する [クリップリストエリア] があります。
番号
説明
①
ライブ信号ソースエリア
②
動画プレビューエリア
③
編集エリア
④
クリップリストエリア
-
動画をクリップに分割します。
編集エリアの左上隅にある
または
アイコンをクリックします。次に、マウスの左ボタンを長押ししてクリップの長さを調整し、[Generate Clip] をクリックします。生成されたクリップは自動的に保存され、クリップリストエリアに表示されます。また、
アイコンをクリックして最後のアクションを元に戻したり、[Preview Clip] をクリックしてクリップをプレビューしたりすることもできます。 -
動画クリップを編集します。
クリップリストエリアで動画クリップを選択し、右上隅の [Export To Video Editing] をクリックして、さらに編集を行います。詳細については、「編集機能」をご参照ください。
高度なテンプレート編集
-
高度なテンプレート編集プロジェクトインターフェースを開きます。
高度なテンプレート編集インターフェースは 3 つのエリアに分かれています。中央にはテンプレートエフェクトをリアルタイムでプレビューする [動画プレビューエリア]、下部にはテンプレート内の編集グループを表示する [編集グループリストエリア]、右側には現在のグループ内のアセットを置き換えたり編集したりするための [編集グループアセットエリア] があります。
番号
説明
①
動画プレビューエリア
②
編集グループリストエリア
③
編集グループアセットエリア
-
編集グループリストエリアで、特定の編集グループをクリックしてそのアセットを置き換えます。
-
動画または画像アセットを置き換えます。
編集グループアセットエリアで動画または画像をクリックして、[Replace Asset] をクリックします。現在のリージョンのメディアライブラリが開きます。置き換えるアセットを選択します。
必要なアセットがメディアライブラリにない場合は、アップロードできます。詳細については、「コンソールでのメディアアセットのアップロード」をご参照ください。
-
テキストアセットを置き換えます。
プレビューエリアでテキストを編集するか、編集グループアセットエリアでテキストのプロパティを設定します。
テキストアセットを選択すると、プレビューエリアに黄色の編集枠線が表示されます。この枠線をドラッグしてアセットの位置とサイズを調整できます。右側のプロパティパネルで、テキストの内容、フォントサイズ、色、位置を設定できます。
-
-
(任意) 動画をプレビューします。
編集グループリストエリアで、
アイコンをクリックして動画をプレビューします。説明編集グループを変更すると、サービスはプレビュー動画を再生成するため、オンライン編集料金とストレージ料金が発生します。課金の詳細については、「Intelligent Production」および「ストレージ料金」をご参照ください。
-
動画を制作します。
右上隅の [Export Video] をクリックして、必要に応じてエクスポートパラメータを設定し、[OK] をクリックします。
OpenAPI を使用したオンライン編集
動画編集
動画編集は、動画クリップ、音声、画像などの複数のアセットをタイムライン上で組み合わせて、新しい動画ファイルを生成するプロセスです。
関連 API
-
メディア生成ジョブの送信:SubmitMediaProducingJob API を呼び出して、1 つ以上の動画、音声、画像、字幕のアセットを最終的な成果物に結合します。この API は、多様な編集要件を満たせるよう、複雑なタイムライン設定をサポートしています。
-
メディア生成ジョブのクエリ:GetMediaProducingJob API を呼び出して、
JobIdを渡してジョブのステータスと結果を取得します。
タイムライン設定
動画編集の中核は、編集ロジックを定義するタイムライン設定です。タイムラインは、動画、音声、画像などのアセットが時間とともにどのように配置され、結合されるかを定義します。主にトラック、アセット、エフェクトで構成されます。詳細な設定手順については、「タイムライン設定の詳細」をご参照ください。
基本的なタイムライン構造
{
"VideoTracks": [
{
"VideoTrackClip": [
{
"MediaId": "The asset ID.",
"MediaURL": "The OSS URL of the clip."
}
]
}
],
"AudioTracks": [
{
"AudioTrackClip": [
{
"MediaId": "The audio asset ID.",
"MediaURL": "The OSS URL of the clip."
}
]
}
]
}
-
VideoTracks:動画または画像アセットを配置するために使用される動画トラック。
-
AudioTracks:音声アセットを配置するために使用される音声トラック。
-
Clips:各トラック内のセグメントで、アセット ID、開始時間、および継続時間を含みます。
タイムラインの例
次の表は、一般的なユースケースと、タイムライン設定を使用して複雑な動画編集を実行する方法を示す設定例へのリンクを示します。
|
例 |
説明 |
|
横向き動画の縦向きへの変換、動画のトリミング、動画と画像のミキシング、ウォーターマーク、ステッカー、アニメーション GIF ステッカーの追加などの機能をサポートします。 |
|
|
ミュート、音量調整、音声ミキシング、音声抽出、音声正規化などの機能をサポートします。 |
|
|
動画への字幕追加、スタイル付きテキストの作成、字幕の自動改行、字幕の配置、字幕エフェクトをサポートします。 |
|
|
様々なトランジション (フェードイン、フェードアウトなど)、視覚エフェクト (ぼかし、シャープネスなど)、フィルター (白黒、ヴィンテージなど) をサポートします。 |
|
|
音声テキスト変換 (STT) による動画への字幕マージ、テキスト音声変換 (TTS) による音声マージ、SSML を用いたリズムや発音の制御などの機能をサポートします。 |
|
|
グローバルな背景画像、グローバルなウォーターマークロゴなどの追加をサポートします。 |
SDK を使用した音声と動画の編集
Intelligent Media Services (IMS) サーバーサイド SDK をインストールして設定してください。詳細については、「前提条件」をご参照ください。
ライブストリーム編集
-
ライブストリーム編集ジョブの送信:SubmitLiveEditingJob API を呼び出します。送信後、ジョブは非同期実行のためにキューに入れられます。
-
ライブストリーム編集ジョブのクエリ:GetLiveEditingJob API を呼び出して、jobId に基づいてジョブのステータスを照会します。
-
メディアアセット情報の取得:GetMediaInfo API を呼び出して、MediaId に基づいて生成されたメディアアセットの情報を照会します。
高度なテンプレート編集
テンプレート情報を取得します。
GetTemplate 操作を呼び出して、テンプレート情報を取得します。
TemplateIdパラメーターでテンプレートIDを指定します。GetTemplateRequest request = new GetTemplateRequest(); request.setTemplateId("****20b48fb04483915d4f2cd8ac****"); // テンプレートID GetTemplateResponse response = iceClient.getTemplate(request); GetTemplateResponseBody.GetTemplateResponseBodyTemplate template = response.getBody().getTemplate(); System.out.println("templateId : " + template.getTemplateId()); System.out.println("clipsParam : " + template.getClipsParam());次の出力が返されます。
{ "RequestId":"******11-DB8D-4A9A-875B-275798******", "Template":{ "TemplateId":"****20b48fb04483915d4f2cd8ac****", "Name":"Advanced template test", // 高度なテンプレートテスト "Type":"VETemplate", "Status":"Available", // 利用可能 "ModifiedSource":"OpenAPI", "CreateSource":"OpenAPI", "Config":"{\"oss_url\":\"http://your-bucket.oss-cn-shanghai.aliyuncs.com/object.zip\"}", // oss_urlは高度なテンプレートのOSS URLです。 "ClipsParam":"{\"Text7\":\"text\",\"Text6\":\"text\",\"Text5\":\"text\",\"Text4\":\"text\",\"Text3\":\"text\",\"Text2\":\"text\",\"Text1\":\"text\",\"Text0\":\"text\",\"Media3\":\"mediaId\",\"Media2\":\"mediaId\",\"Media1\":\"mediaId\",\"Media0\":\"mediaId\"}", // テンプレートパラメーター "PreviewMedia":"", "CoverURL":"" } }説明組み込みテンプレートも使用できます。組み込みテンプレートを使用する方法は、前のセクションで説明した方法と似ています。組み込みテンプレートの詳細については、「高度なテンプレート」をご参照ください。
textとmediaIdのClipsParamパラメーターを実際の値に置き換えます。{ "Text0":"Subtitle 0", // 字幕 0 "Text1":"Subtitle 1", // 字幕 1 "Text2":"Subtitle 2", // 字幕 2 "Text3":"Subtitle 3", // 字幕 3 "Text4":"Subtitle 4", // 字幕 4 "Text5":"Subtitle 5", // 字幕 5 "Text6":"Subtitle 6", // 字幕 6 "Text7":"Subtitle 7", // 字幕 7 "Media0":"****20b48fb04483915d4f2cd8ac****", // メディアアセットID "Media1":"****20b48fb04483915d4f2cd8ac****", // メディアアセットID "Media2":"****20b48fb04483915d4f2cd8ac****", // メディアアセットID "Media3":"****20b48fb04483915d4f2cd8ac****" // メディアアセットID }説明ClipsParamはプロダクションサービスのパラメーターです。テキストを字幕に置き換え、 mediaId をビデオまたは画像を含むメディアアセットの ID または OSS URL に置き換えることができます。字幕とメディアアセットを一緒に使用できます。ClipsParamパラメーターに一部のフィールドのみが指定されている場合、指定されていない字幕はデフォルトで空のままになり、テンプレートのデフォルトのメディアアセットが使用されます。字幕のフォントと、ビデオと画像の適応モードを設定できます。詳細については、「拡張機能」をご参照ください。
プロダクションサービスを呼び出します。
SubmitMediaProducingJob 操作を呼び出して、編集およびプロダクションジョブを送信します。
TemplateIdパラメーターとClipsParamパラメーターを指定します。SubmitMediaProducingJobRequest request = new SubmitMediaProducingJobRequest(); request.setTemplateId("****20b48fb04483915d4f2cd8ac****"); // テンプレートID request.setClipsParam("{\"Text7\":\" Subtitle 7\",\"Text6\":\" Subtitle 6\",\"Text5\":\" Subtitle 5\",\"Text4\":\" Subtitle 4\",\"Text3\":\" Subtitle 3\",\"Text2\":" Subtitle 2 "," Text1 ":" Subtitle 1 "," Text0 ":" Subtitle 0 "," Media3 ":"****20b48fb04483915d4f2cd8ac**** "," Media2 ":"****20b48fb04483915d4f2cd8ac**** "," Media1 ":"****20******** "," Media0 ":"****20b48fb04483915d4f2cd8ac**** "}"); // テンプレートパラメーター。テキストを字幕に置き換え、mediaIdをメディアアセットIDまたはOSS URLに置き換えます。 request.setOutputMediaConfig("{\"MediaURL\":\"http://your-bucket.oss-cn-shanghai.aliyuncs.com/object.mp4\"}"); // 出力メディア設定 SubmitMediaProducingJobResponse response = iceClient.submitMediaProducingJob(request); System.out.println("jobid : " + response.getBody().getJobId());