ビデオウォーターマークは、会社のロゴ、テレビ局のアイコン、ユーザーのニックネーム、ユーザー ID などの識別情報を動画に追加して、ブランドの宣伝、著作権の保護、ブランド認知度の向上を図るものです。ApsaraVideo VOD は、静止画、動画、テキストの 3 種類のウォーターマークをサポートしています。ニーズに最も適した種類を選択できます。
仕組み
ApsaraVideo VOD のビデオウォーターマーク機能は、トランスコーディングによって実現されます。このプロセス中に、画像やテキストがビデオストリームに焼き付けられ、ウォーターマーク付きの新しい動画ファイルが作成されます。
ウォーターマークの種類
種類 | サポート形式 | 説明 |
画像 | | ApsaraVideo VOD コンソールでは、PNG および GIF 形式のウォーターマーク用のウォーターマークテンプレートを作成できます。API を使用すると、PNG、GIF、APNG、および MOV 形式のウォーターマーク用のウォーターマークテンプレートを作成できます。 動画ウォーターマークの場合、ファイル拡張子 gif、apng、および mov は小文字である必要があります。この制限は静止画には適用されません。 ウォーターマーク画像は、ウォーターマークを追加したい動画と同じストレージバケットに保存する必要があります。たとえば、動画が中国 (上海) リージョンの ApsaraVideo VOD ストレージバケットに保存されている場合、ウォーターマークファイルも同じバケットに保存する必要があります。ウォーターマークは、リージョンやストレージバケットをまたいで使用することはできません。詳細については、「ストレージ管理」をご参照ください。 画像ウォーターマークの表示期間を設定して、動画全体に表示したり、特定の期間のみ表示したりできます。
|
テキスト | - | フォント、フォントサイズ、色、透明度、枠線効果などのテキストプロパティを設定できます。 |
課金
ビデオウォーターマークはトランスコーディングを使用するため、トランスコーディング料金が発生します。詳細については、「メディアトランスコーディングの課金」をご参照ください。
操作手順
ステップ 1: ウォーターマークテンプレートの作成
ウォーターマークの適用を簡素化するために、ApsaraVideo VOD はウォーターマークテンプレートを提供しています。ウォーターマークテンプレートを使用すると、ウォーターマークの位置、サイズ、テキストのフォントや色などのパラメーターを設定できます。各ウォーターマークテンプレートは、一意の ID で識別されます。
コンソール
ApsaraVideo VOD コンソールにログインします。
左側のナビゲーションウィンドウで、[設定管理] > [メディア処理] > [ウォーターマーク] を選択します。
ウォーターマークの作成 をクリックします。必要に応じて、画像またはテキストのウォーターマークを設定できます。
画像ウォーターマーク
パラメーター | 説明 |
ウォーターマークタイプ | イメージ を選択します。 |
画像 | ウォーターマーク画像をアップロードします。
説明 コンソールは PNG と GIF 形式のみをサポートしています。画像サイズは 20 MB を超えることはできません。 |
ウォーターマーク名 | ウォーターマークテンプレートの名前を入力します。
説明 名前には、中国語、英語、数字、#、- を含めることができます。 |
サイズ (幅 × 高さ) | ウォーターマーク画像のサイズ。詳細については、「ウォーターマークの位置とサイズのパラメーターに関する詳細」をご参照ください。 ピクセル単位の正の整数。有効値:[8, 4096]。 動画のディメンションに対するパーセンテージ。単位:% 有効値:(0, 100)。値は小数点以下 2 桁まで指定できます。
説明 ウォーターマーク画像の幅または高さのみを指定した場合、もう一方のディメンションは、画像の元のアスペクト比に基づいて比例的にスケーリングされます。 |
位置 | 出力動画に対するウォーターマークの基準点の位置。デフォルト値:右上。詳細については、「ウォーターマークの位置とサイズのパラメーターに関する詳細」をご参照ください。有効値: |
水平シフト | 出力動画上のウォーターマークの水平オフセット。詳細については、「ウォーターマークの位置とサイズのパラメーターに関する詳細」をご参照ください。 ピクセル単位の正の整数。有効値:[8, 4096]。 動画のディメンションに対するパーセンテージ。単位:% 有効値:(0, 100)。値は小数点以下 2 桁まで指定できます。
|
垂直シフト | 出力動画上のウォーターマークの垂直オフセット。詳細については、「ウォーターマークの位置とサイズのパラメーターに関する詳細」をご参照ください。 ピクセル単位の正の整数。有効値:[8, 4096]。 動画のディメンションに対するパーセンテージ。単位:% 有効値:(0, 100)。値は小数点以下 2 桁まで指定できます。
|
タイムライン | タイムライン設定は、画像ウォーターマークの開始時刻と表示期間を制御します。複数のウォーターマーク設定を使用して、動的な効果を作成できます。
説明 このパラメーターはテキストウォーターマークではサポートされていません。 |
プレビュー画面サイズ (幅 × 高さ) | 実際の動画のディメンションを入力して、ウォーターマークの位置と効果をプレビューします。単位:ピクセル。 |
テキストウォーターマーク
パラメーター | 説明 |
ウォーターマークタイプ | テキスト を選択します。 |
ウォーターマークコンテンツ | ウォーターマークとして使用するテキストを入力します。 |
ウォーターマーク名 | ウォーターマークテンプレートの名前を入力します。
説明 名前には、文字、数字、#、- を含めることができます。 |
フォント | ウォーターマークテキストのフォント。有効値: SimSun WenQuanYi Zen Hei WenQuanYi Zen Hei Mono WenQuanYi Zen Hei Sharp Yuanti SC
|
フォントサイズ | ウォーターマークテキストのフォントサイズ (ピクセル単位)。 |
透明度 | ウォーターマークテキストの透明度。値が小さいほど透明度が高くなります。値は小数点以下 2 桁まで指定できます。有効値:(0, 1]。 |
フォントカラー | ウォーターマークテキストの色を設定します。 |
枠線の幅 | フォントの枠線の幅 (ピクセル単位)。有効値:(0, 4096]。 |
枠線の色 | フォントの枠線の色を設定します。 |
垂直シフト | 出力動画上のウォーターマークテキストの垂直オフセット。詳細については、「ウォーターマークの位置とサイズのパラメーターに関する詳細」をご参照ください。 ピクセル単位の正の整数。有効値:[8, 4096]。 |
水平シフト | 出力動画上のウォーターマークテキストの水平オフセット。詳細については、「ウォーターマークの位置とサイズのパラメーターに関する詳細」をご参照ください。 ピクセル単位の正の整数。有効値:[8, 4096]。 |
プレビュー画面サイズ | 実際の動画のディメンションを入力して、ウォーターマークテキストの位置と効果をプレビューします。単位:ピクセル。 |
保存 をクリックします。
作成後、ウォーターマークテンプレートとその ID が [ウォーターマーク] ページに表示されます。
API
AddWatermark 操作を呼び出して、ウォーターマークテンプレートを作成します。テンプレートが作成されると、ウォーターマークテンプレートの ID が返されます。
位置とサイズ
画像ウォーターマーク
ReferPos、Dx、Dy、Width、Height パラメーターを使用して、出力動画上の画像の位置とサイズを制御できます。
API パラメーター | コンソールパラメーター | 説明 |
ReferPos | 位置 | 出力動画に対するウォーターマークの基準点。 左上隅:TopLeft 左下隅:BottomLeft 右上隅:TopRight 右下隅:BottomRight
|
Dx | 水平シフト | 出力動画上のウォーターマークの水平オフセット。有効値: ピクセル単位の正の整数。有効値:[8, 4096]。 動画の幅に対するパーセンテージを表す小数。有効値:(0, 1)。
|
Dy | 垂直シフト | 出力動画上のウォーターマークの垂直オフセット。有効値: ピクセル単位の正の整数。有効値:[8, 4096]。 動画の高さに対するパーセンテージを表す小数。有効値:(0, 1)。
|
Width | サイズ (幅) | 出力動画上のウォーターマークの幅。有効値: ピクセル単位の正の整数。有効値:[8, 4096]。 動画の幅に対するパーセンテージを表す小数。有効値:(0, 1)。
|
Height | サイズ (高さ) | 出力動画上のウォーターマークの高さ。有効値: ピクセル単位の正の整数。有効値:[8, 4096]。 動画の高さに対するパーセンテージを表す小数。有効値:(0, 1)。
|
Timeline | タイムライン | タイムライン設定は、画像ウォーターマークの開始時刻と表示期間を制御します。複数のウォーターマーク設定を使用して、動的な効果を作成できます。詳細については、「ウォーターマークのタイムライン」をご参照ください。
重要 このパラメーターはテキストウォーターマークではサポートされていません。 |
図
ウォーターマークを中央に配置するには、Dx と Dy パラメーターを 0.5 に設定します。これにより、オフセットが出力動画の幅と高さの 50% に設定されます。
テキストウォーターマーク
テキストウォーターマークの位置は、出力動画の左上隅を基準とします。オフセットは Top と Left パラメーターで定義されます。これらのパラメーターはピクセル値のみを受け付け、パーセンテージベースの値はサポートしていません。
API パラメーター | コンソールパラメーター | 説明 |
Top | 垂直シフト | 出力動画の上端からテキストウォーターマークまでの距離。単位:ピクセル。有効値:[8, 4096]。 |
Left | 水平シフト | 出力動画の左端からテキストウォーターマークまでの距離。単位:ピクセル。有効値:[8, 4096]。 |
図
計算方法
画像ウォーターマークの場合、Dx、Dy、Width、Height パラメーターは正の整数 (ピクセル) または小数 (パーセンテージ) として指定できます。テキストウォーターマークの場合、Top と Left パラメーターは正の整数のみを受け付けます。
正の整数:値はピクセル単位です。有効値:[8, 4096]。
重要 指定されたパラメーター値が出力動画のディメンションを超える場合、ウォーターマークが部分的または完全に隠れることがあります。
たとえば、出力動画の解像度が 640×360、基準位置が TopLeft、Dx が 4000、Dy が 4000 の場合、ウォーターマークは出力動画に表示されません。これはテキストウォーターマークにも適用されます。
パーセンテージ:出力動画の解像度の幅または高さに対する相対値。値は (0, 1) の範囲の小数で、小数点以下 4 桁まで指定できます。
重要 出力動画のアスペクト比が可変または予測不能な場合は、ウォーターマークの位置とサイズのパラメーターをパーセンテージで設定することを推奨します。
例:0.9999。計算例:Width / Video Width = 0.1、Height / Video Height = 0.06、Dx / Video Width = 0.02、Dy / Video Height = 0.03。
デフォルト値
幅と高さを省略した場合、ウォーターマークの幅はデフォルトで出力動画の幅の 12% になり、高さは元のウォーターマーク画像のアスペクト比に基づいて比例的にスケーリングされます。
幅または高さのみを指定した場合:指定されたディメンションが使用され、もう一方のディメンションは元のウォーターマーク画像のアスペクト比に基づいて比例的にスケーリングされます。たとえば、Width を 44 に設定し、元のアスペクト比が 2:1 の場合、Height は 22 になります。
幅と高さの両方を指定した場合:ウォーターマークのディメンションは指定された値に設定されます。
Dx と Dy を指定しない場合、デフォルト値は 0 です。
ステップ 2: トランスコーディングテンプレートグループの作成と関連付け
ビデオウォーターマークは、トランスコーディングを通じて実装されます。トランスコーディングタスクは、トランスコーディングテンプレートグループに基づいて開始されます。1 つのトランスコーディングテンプレートに複数のウォーターマークテンプレートを関連付けることができます。
コンソール
ApsaraVideo VOD コンソールにログインします。
左側のナビゲーションウィンドウで、[設定管理] > [メディア処理] > [トランスコーディングテンプレートグループ] を選択します。
トランスコードテンプレートグループの追加 をクリックします。
トランスコーディングテンプレートグループの名前を設定します。
[通常のトランスコーディングテンプレート] または [パッケージングテンプレート] セクションで、テンプレートの追加 をクリックし、トランスコーディングパラメーターを設定して、ウォーターマークを有効にします。
保存 をクリックして、トランスコーディングテンプレートグループを作成します。
トランスコーディングテンプレートグループが作成されると、[トランスコーディングテンプレートグループ] ページでグループとその ID を表示できます。
API
CreateTranscodeTemplateGroup API を呼び出して、トランスコーディングテンプレートグループを作成します。TranscodeTemplateList パラメーターで、WatermarkIds パラメーターにウォーターマークテンプレート ID を渡して、ウォーターマークテンプレートを関連付けます。
ステップ 3 (任意): ワークフローの作成と関連付け
トランスコーディング、コンテンツレビュー、スナップショットなどのさまざまなメディア処理タスクをワークフローにまとめることができます。メディアのアップロードまたは処理中にワークフローをトリガーすると、定義されたタスクに従ってメディアファイルが自動的に処理されます。ワークフローはコンソールでのみ作成できます。詳細については、「ワークフロー」をご参照ください。
コンソール
ApsaraVideo VOD コンソールにログインします。
左側のナビゲーションウィンドウで、[設定管理] > [メディア処理] > [ワークフロー] を選択します。
[ワークフローの追加] をクリックします。
ワークフローの名前を入力します。
ワークフローのトポロジーでノードを追加または編集します。
たとえば、メディアトランスコード ノードを追加するには、開始 ノードで [+] をクリックし、メディアトランスコード を選択します。メディアトランスコード ノードの編集ボタンをクリックし、必要に応じて ノード名 をカスタマイズし、トランスコードテンプレートグループ をステップ 2 で作成し、ウォーターマークテンプレートに関連付けたトランスコーディングテンプレートグループに設定します。
確認 をクリックしてワークフローを作成します。
ワークフローが作成されると、[ワークフロー] ページでワークフローとその ID を表示できます。
ステップ 4 (任意): イベント通知の設定
トランスコーディングタスクを開始する前に、ApsaraVideo VOD のイベント通知を設定することを推奨します。これにより、タスクのステータスと結果を含むコールバックメッセージを受信できます。イベント通知の設定方法の詳細については、「イベント通知」をご参照ください。
以下は、トランスコーディングに関連するイベント通知の種類です:
ステップ 5: ウォーターマークタスクの開始
ApsaraVideo VOD では、メディアのアップロード中または処理中にトランスコーディングをトリガーできます。トランスコーディングは、トランスコーディングテンプレートグループまたはメディアトランスコーディングノードを含むワークフローを使用して開始できます。
コンソール
シナリオ 1: アップロード中にウォーターマークタスクを自動的にトリガーする
ApsaraVideo VOD コンソールにログインします。
左側のナビゲーションウィンドウで、[メディアファイル] > [オーディオ/ビデオ] を選択します。
[オーディオ/ビデオのアップロード] をクリックし、[オーディオ/ビデオの追加] をクリックして、アップロード方法やストレージアドレスなどのパラメーターを選択し、次に トランスコードテンプレートグループでの処理 を選択して、ステップ 2 で作成したウォーターマークが有効なトランスコーディングテンプレートグループを指定します。または、ワークフローでの処理 を選択して、ステップ 3 で作成したウォーターマークが有効なトランスコーディングノードを含むワークフローを指定します。
サポートされている形式とアップロードのパラメーター説明の詳細については、「ApsaraVideo VOD コンソールを使用したファイルのアップロード」をご参照ください。
アップロードする動画を追加し、アップロード をクリックします。
動画がアップロードされると、指定したトランスコーディングテンプレートグループまたはワークフローに基づいて自動的にトランスコーディングされます。
シナリオ 2: アップロード済みのビデオに対して手動でウォーターマークタスクをトリガーする
ApsaraVideo VOD コンソールにログインします。
左側のナビゲーションウィンドウで、[メディアファイル] > [オーディオ/ビデオ] を選択します。
[オーディオ/ビデオ] ページで、トランスコーディングを開始したい動画を見つけ、[操作] 列の 処理 をクリックします。
トランスコードテンプレートグループでの処理 を選択し、ステップ 2 で作成したウォーターマークが有効なトランスコーディングテンプレートグループを指定します。または、ワークフローでの処理 を選択して、ステップ 3 で作成したウォーターマークが有効なトランスコーディングノードを含むワークフローを指定します。
決定 をクリックします。
API
シナリオ 1: アップロード中にウォーターマークタスクを自動的にトリガーする
[オーディオ/ビデオのアップロードアドレスと認証情報の取得] または [URL からのバッチプルとアップロード] API を呼び出してオーディオ/ビデオファイルをアップロードする際に、TemplateGroupId パラメーターをステップ 2 で作成した画像およびテキストウォーターマークが有効なトランスコーディングテンプレートグループの ID に設定するか、WorkflowId パラメーターをステップ 3 で作成した画像およびテキストウォーターマークが有効なメディアトランスコーディングノードを含むワークフローの ID に設定します。オーディオ/ビデオファイルがアップロードされると、VOD システムは指定されたトランスコーディングテンプレートグループまたはワークフローに基づいてファイルを自動的にトランスコーディングします。
シナリオ 2: アップロード済みのビデオに対して手動でウォーターマークタスクをトリガーする
トランスコーディングテンプレートグループを使用してトランスコーディングを開始する:[メディアトランスコーディングジョブの送信] API を呼び出し、TemplateGroupId パラメーターをステップ 2 で作成した画像テキストウォーターマークが有効なトランスコーディングテンプレートグループの ID に設定します。
ワークフローを使用してトランスコーディングジョブを開始するには、[VOD ワークフロージョブの送信] API を呼び出し、WorkflowId パラメーターをステップ 3 で作成した画像およびテキストウォーターマークが有効なメディアトランスコーディングノードを含むワークフローの ID に設定します。
ステップ 6: 結果の表示
非同期通知の受信
イベント通知を設定している場合、StreamTranscodeComplete または TranscodeComplete のコールバックメッセージを受信することで、ウォーターマークおよびトランスコーディングタスクに関する情報を取得できます。
同期クエリの実行
コンソールの使用
ApsaraVideo VOD コンソールにログインします。
左側のナビゲーションウィンドウで、[メディアファイル] > [オーディオ/ビデオ] を選択します。
[オーディオ/ビデオ] ページで、対象の動画の ステータス を表示します。
動画の ステータス が 正常 の場合、ウォーターマークおよびトランスコーディングタスクは正常に完了しています。
動画が配置されている行の 管理 をクリックして、基本情報ページに移動します。
ビデオ URL タブをクリックします。このタブでは、動画のトランスコード済みストリームを表示し、その再生 URL を取得できます。
API の使用
タスク ID を使用してポーリングすることで、トランスコーディングタスクの実行ステータスと結果を確認できます。この目的のために、次の操作を使用します:
使用例
このセクションでは、ApsaraVideo VOD の機能を使用して、複数のウォーターマークを設定し、API を使用してウォーターマークコンテンツを動的に置き換えることで、一般的な利用シーンのウォーターマークを設定する方法について説明します。
動的テキストウォーターマーク
シナリオ
ショートビデオアプリケーションでは、ユーザーが他のユーザーの動画をダウンロードまたは共有する場合、通常、ショートビデオプラットフォームのロゴと元の作成者の ID またはニックネームが含まれます。
期待される結果
画像ウォーターマークとテキストウォーターマークが追加されます。テキストウォーターマークの内容はユーザーごとに異なります。

操作手順
2 つのウォーターマークテンプレートを作成します。1 つはショートビデオプラットフォームのロゴをウォーターマーク画像とする画像ウォーターマークテンプレート、もう 1 つは元の作成者の ID またはニックネームをウォーターマークテキストとするテキストウォーターマークテンプレートです。詳細については、「ステップ 1: ウォーターマークテンプレートの作成」をご参照ください。
トランスコーディングテンプレートグループを作成し、前のステップで作成した 2 つのウォーターマークテンプレートを関連付けます。詳細については、「ステップ 2: トランスコーディングテンプレートグループの作成と関連付け」をご参照ください。
[メディアトランスコーディングジョブの送信] API を呼び出し、OverrideParams パラメーターで WatermarkId と Content を渡すことで、指定したウォーターマークテンプレートのテキストコンテンツを上書きできます。
OverrideParams のパラメーター渡し方の例:{"Watermarks":[{"WatermarkId":"画像ウォーターマークのテンプレート ID"},{"WatermarkId":"テキストウォーターマークのテンプレート ID","Content":"ウォーターマークのテキストコンテンツ"}]}
ビジネス要件に基づいて、トランスコーディングタスクのトリガーロジックを設計する必要があります。たとえば、ユーザーが動画をアップロードしたときにトランスコーディングをトリガーし、テキストウォーターマークのコンテンツを元の作成者の ID またはニックネームに自動的に置き換えることができます。
動的画像ウォーターマーク
シナリオ
あるビデオウェブサイトが映画やテレビ番組のマスター著作権を取得し、それを他のビデオウェブサイトにサブライセンスします。このシナリオでは、各ウェブサイトで配信される動画には、そのウェブサイトのブランドロゴを表示する必要があります。
期待される結果
画像ウォーターマークが使用され、ビデオウェブサイトごとに異なります。

操作手順
CreateUploadAttachedMedia 操作を呼び出して、ウォーターマーク画像 (各ビデオウェブサイトのブランドロゴ) を ApsaraVideo VOD にアップロードします。ファイルのアップロード方法の詳細については、「ApsaraVideo VOD API を使用したメディアファイルのアップロード」をご参照ください。
画像ウォーターマークテンプレートを作成し、ビデオウェブサイトのブランドロゴをウォーターマーク画像として設定します。詳細については、「ステップ 1: ウォーターマークテンプレートの作成」をご参照ください。
トランスコーディングテンプレートグループを作成し、前のステップで作成した画像ウォーターマークテンプレートを関連付けます。詳細については、「ステップ 2: トランスコーディングテンプレートグループの作成と関連付け」をご参照ください。
[メディアトランスコーディングジョブの送信] API を呼び出し、OverrideParams パラメーターで WatermarkId と FileUrl を渡すことで、指定したウォーターマークテンプレートのウォーターマーク画像を上書きできます。
OverrideParams パラメーターの例:{"Watermarks":{"WatermarkId":"画像ウォーターマークテンプレートの ID に置き換える","FileUrl":"置き換え後のウォーターマーク画像の URL に置き換える"}}
ビジネス要件に基づいて、トランスコーディングタスクのトリガーロジックを設計する必要があります。たとえば、動画がアップロードされたときにトランスコーディングをトリガーできます。
よくある質問
ウォーターマーク追加時の「無効な画像 URL」エラー
ApsaraVideo VOD で高速化ドメイン名を設定している場合、そのドメイン名に SSL 証明書を設定する必要があります。詳細については、「HTTPS セキュアアクセラレーションの有効化」をご参照ください。