ApsaraVideo Live では、著作権保護や広告目的で、ライブストリームに画像ウォーターマークをオーバーレイできます。
ユースケース
著作権保護: ライブ動画にウォーターマークを追加して、不正使用を抑止します。
広告: ライブストリームにプロモーションラベルやイベントの詳細を表示します。
前提条件
ウォーターマーク機能を使用するには、ウォーターマーク画像が必要です。画像ウォーターマークのみがサポートされています。テキストウォーターマークが必要な場合は、テキストの PNG 画像を作成してください。ウォーターマーク画像のフォーマットは JPG または PNG です。
ウォーターマーク画像の URL が必要です。ApsaraVideo Live は URL から画像を取得し、直接アップロードはサポートしていません。この URL に常にアクセスできることを確認してください。
機能設定
ウォーターマークを使用するには、[透かしテンプレート]と[透かしルール]を設定します。
ウォーターマークテンプレートは、位置、透明度、画像 URL など、ウォーターマークの外観を定義します。
ウォーターマークルールは、AppName と StreamName を特定のウォーターマークテンプレートに関連付けます。
ウォーターマークテンプレートの設定
ウォーターマークテンプレートは、コンソールで設定するか、API を呼び出して設定できます。
コンソールでの設定
ApsaraVideo Liveコンソールにログインします。
左側のナビゲーションペインで、機能管理 > ライブストリームのウォーターマーク を選択します。 ライブストリームのウォーターマーク ページで、透かしテンプレート タブをクリックします。
設定するストリーミングドメインを選択します。
透かしテンプレートの追加 をクリックして、テンプレートを設定します。
プレビューエリアでウォーターマーク効果をプレビューします。 画面サイズ、ウォーターマークサイズ、位置を調整して、リアルタイムでプレビューします。 テンプレートのパラメーターを次の表に示します。
パラメーター
説明
[透かしテンプレート名]
ウォーターマークテンプレートの名前。 名前は最大 30 文字で、漢字、英数字、ハイフン (-)、アンダースコア (_) を使用できます。
[透かしの説明]
ウォーターマークの説明。 説明は最大 128 文字で、漢字、英数字、特殊文字を使用できます。
[透かし素材]
ウォーターマーク画像の URL を入力します。 URL は、
http://またはhttps://で始まる必要があります。Object Storage Service (OSS) または長期認証を持つ別のソースからの永続的な URL を使用します。
[座標原点]
出力ビデオにおけるウォーターマークのアンカーコーナー。 ウォーターマークは、このコーナーからオフセットされます。 有効な値:
右上 (デフォルト)
右下
左上
左下
[プレビュー画面サイズ (幅 × 高さ)]
ウォーターマークの位置と外観のプレビューに使用する、実際のビデオのディメンション。 単位:ピクセル。
[透かしのサイズ (幅 × 高さ)]
ウォーターマーク画像のサイズ。 幅は高さに基づいて自動的にスケーリングされます。
値の範囲:[0, 4096]。
単位:ピクセル。
[透かしの水平オフセット]
出力ビデオの座標の原点からのウォーターマークの水平オフセット。
値の範囲:[0, 4096]。
単位:ピクセル。
[透かしの垂直オフセット]
出力ビデオの座標の原点からのウォーターマークの垂直オフセット。
値の範囲:[0, 4096]。
単位:ピクセル。
[透明度]
ウォーターマークの不透明度。 0 は完全な透明、100 は完全な不透明を意味します。
値の範囲:[0, 100]。
単位:パーセント。
[保存] をクリックして、ウォーターマークテンプレートの設定を完了します。
ウォーターマークテンプレートを追加すると、ウォーターマークルールを追加するように求めるダイアログボックスが表示されます。 追加 をクリックして、このテンプレートのウォーターマークルールを作成できます。 ウォーターマークルールの設定方法の詳細については、「ウォーターマークルールの設定」をご参照ください。
説明ウォーターマークテンプレートを作成した後、それをウォーターマークルールに関連付ける必要があります。 ルール内の AppName と StreamName は、アップストリーミング URL 内のものと一致する必要があります。 変更を適用するには、アップストリーミングを再起動する必要があります。
API を使用した設定
ウォーターマークテンプレートのパラメーターは複雑です。 プログラムでテンプレートを設定する場合でも、コンソールのビジュアルインターフェイスを使用してウォーターマークの位置をプレビューすることを推奨します。
まず、ApsaraVideo Live コンソールでウォーターマークテンプレートを追加します。
パラメーターを設定した後、テンプレートの設定をクエリします。
// このファイルは自動生成されたものです。編集しないでください。ありがとうございます。 package demo; import com.aliyun.auth.credentials.Credential; import com.aliyun.auth.credentials.provider.StaticCredentialProvider; import com.aliyun.core.http.HttpClient; import com.aliyun.core.http.HttpMethod; import com.aliyun.core.http.ProxyOptions; import com.aliyun.httpcomponent.httpclient.ApacheAsyncHttpClientBuilder; import com.aliyun.sdk.service.live20161101.models.*; import com.aliyun.sdk.service.live20161101.*; import com.google.gson.Gson; import darabonba.core.RequestConfiguration; import darabonba.core.client.ClientOverrideConfiguration; import darabonba.core.utils.CommonUtil; import darabonba.core.TeaPair; //import javax.net.ssl.KeyManager; //import javax.net.ssl.X509TrustManager; import java.net.InetSocketAddress; import java.time.Duration; import java.util.*; import java.util.concurrent.CompletableFuture; import java.io.*; public class DescribeLiveStreamWatermarks { public static void main(String[] args) throws Exception { // HttpClient を設定します。 /*HttpClient httpClient = new ApacheAsyncHttpClientBuilder() .connectionTimeout(Duration.ofSeconds(10)) // 接続のタイムアウト期間。 デフォルト値:10 秒。 .responseTimeout(Duration.ofSeconds(10)) // レスポンスのタイムアウト期間。 デフォルト値:20 秒。 .maxConnections(128) // 接続プールのサイズ。 .maxIdleTimeOut(Duration.ofSeconds(50)) // 接続プールのタイムアウト期間。 デフォルト値:30 秒。 // プロキシを設定します。 .proxy(new ProxyOptions(ProxyOptions.Type.HTTP, new InetSocketAddress("<your-proxy-hostname>", 9001)) .setCredentials("<your-proxy-username>", "<your-proxy-password>")) // HTTPS 接続の場合は、証明書を設定するか、.ignoreSSL(true) を使用して証明書を無視する必要があります。 .x509TrustManagers(new X509TrustManager[]{}) .keyManagers(new KeyManager[]{}) .ignoreSSL(false) .build();*/ // AccessKey ID、AccessKey シークレット、セキュリティトークンなどの認証用の資格情報を設定します。 StaticCredentialProvider provider = StaticCredentialProvider.create(Credential.builder() // ALIBABA_CLOUD_ACCESS_KEY_ID および ALIBABA_CLOUD_ACCESS_KEY_SECRET 環境変数が設定されていることを確認してください。 .accessKeyId(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID")) .accessKeySecret(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET")) //.securityToken(System.getenv("ALIBABA_CLOUD_SECURITY_TOKEN")) // Security Token Service (STS) トークンを使用します。 .build()); // クライアントを設定します。 AsyncClient client = AsyncClient.builder() .region("<your-region-id>") // リージョン ID。 //.httpClient(httpClient) // 設定された HttpClient を使用します。 それ以外の場合は、デフォルトの Apache HttpClient が使用されます。 .credentialsProvider(provider) //.serviceConfiguration(Configuration.create()) // サービスレベルの設定。 // クライアントレベルの設定。 エンドポイントと HTTP リクエストパラメーターを上書きできます。 .overrideConfiguration( ClientOverrideConfiguration.create() // エンドポイントの詳細については、https://api.aliyun.com/product/live をご参照ください。 .setEndpointOverride("live.aliyuncs.com") //.setConnectTimeout(Duration.ofSeconds(30)) ) .build(); // API リクエストのパラメーターを設定します。 DescribeLiveStreamWatermarksRequest describeLiveStreamWatermarksRequest = DescribeLiveStreamWatermarksRequest.builder() .regionId("<your-region-id>") .domain("<your-domain>") .keyWord("<your-keyword>") // リクエストレベルの設定。 HTTP リクエストパラメーターを上書きできます。 // .requestConfiguration(RequestConfiguration.create().setHttpHeaders(new HttpHeaders())) .build(); // API リクエストの戻り値を非同期に取得します。 CompletableFuture<DescribeLiveStreamWatermarksResponse> response = client.describeLiveStreamWatermarks(describeLiveStreamWatermarksRequest); // API リクエストの戻り値を同期的に取得します。 DescribeLiveStreamWatermarksResponse resp = response.get(); System.out.println(new Gson().toJson(resp)); // 戻り値を非同期に処理します。 /*response.thenAccept(resp -> { System.out.println(new Gson().toJson(resp)); }).exceptionally(throwable -> { // 例外を処理します。 System.out.println(throwable.getMessage()); return null; });*/ // クライアントを閉じます。 client.close(); } }説明テンプレート ID または名前でウォーターマークテンプレートのリストをクエリできます。 詳細については、「DescribeLiveStreamWatermarks API リファレンス」をご参照ください。
クエリで取得したウォーターマークテンプレート情報を、ビジネスシステムにテンプレートとして保存できます。
ウォーターマークテンプレートの設定を追加します。
// このファイルは自動生成されたものです。編集しないでください。ありがとうございます。 package demo; import com.aliyun.auth.credentials.Credential; import com.aliyun.auth.credentials.provider.StaticCredentialProvider; import com.aliyun.core.http.HttpClient; import com.aliyun.core.http.HttpMethod; import com.aliyun.core.http.ProxyOptions; import com.aliyun.httpcomponent.httpclient.ApacheAsyncHttpClientBuilder; import com.aliyun.sdk.service.live20161101.models.*; import com.aliyun.sdk.service.live20161101.*; import com.google.gson.Gson; import darabonba.core.RequestConfiguration; import darabonba.core.client.ClientOverrideConfiguration; import darabonba.core.utils.CommonUtil; import darabonba.core.TeaPair; //import javax.net.ssl.KeyManager; //import javax.net.ssl.X509TrustManager; import java.net.InetSocketAddress; import java.time.Duration; import java.util.*; import java.util.concurrent.CompletableFuture; import java.io.*; public class AddLiveStreamWatermark { public static void main(String[] args) throws Exception { // HttpClient を設定します。 /*HttpClient httpClient = new ApacheAsyncHttpClientBuilder() .connectionTimeout(Duration.ofSeconds(10)) // 接続のタイムアウト期間。 デフォルト値:10 秒。 .responseTimeout(Duration.ofSeconds(10)) // レスポンスのタイムアウト期間。 デフォルト値:20 秒。 .maxConnections(128) // 接続プールのサイズ。 .maxIdleTimeOut(Duration.ofSeconds(50)) // 接続プールのタイムアウト期間。 デフォルト値:30 秒。 // プロキシを設定します。 .proxy(new ProxyOptions(ProxyOptions.Type.HTTP, new InetSocketAddress("<your-proxy-hostname>", 9001)) .setCredentials("<your-proxy-username>", "<your-proxy-password>")) // HTTPS 接続の場合は、証明書を設定するか、.ignoreSSL(true) を使用して証明書を無視する必要があります。 .x509TrustManagers(new X509TrustManager[]{}) .keyManagers(new KeyManager[]{}) .ignoreSSL(false) .build();*/ // AccessKey ID、AccessKey シークレット、セキュリティトークンなどの認証用の資格情報を設定します。 StaticCredentialProvider provider = StaticCredentialProvider.create(Credential.builder() // ALIBABA_CLOUD_ACCESS_KEY_ID および ALIBABA_CLOUD_ACCESS_KEY_SECRET 環境変数が設定されていることを確認してください。 .accessKeyId(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID")) .accessKeySecret(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET")) //.securityToken(System.getenv("ALIBABA_CLOUD_SECURITY_TOKEN")) // Security Token Service (STS) トークンを使用します。 .build()); // クライアントを設定します。 AsyncClient client = AsyncClient.builder() .region("<your-region-id>") // リージョン ID。 //.httpClient(httpClient) // 設定された HttpClient を使用します。 それ以外の場合は、デフォルトの Apache HttpClient が使用されます。 .credentialsProvider(provider) //.serviceConfiguration(Configuration.create()) // サービスレベルの設定。 // クライアントレベルの設定。 エンドポイントと HTTP リクエストパラメーターを上書きできます。 .overrideConfiguration( ClientOverrideConfiguration.create() // エンドポイントの詳細については、https://api.aliyun.com/product/live をご参照ください。 .setEndpointOverride("live.aliyuncs.com") //.setConnectTimeout(Duration.ofSeconds(30)) ) .build(); // API リクエストのパラメーターを設定します。 AddLiveStreamWatermarkRequest addLiveStreamWatermarkRequest = AddLiveStreamWatermarkRequest.builder() .regionId("<your-region-id>") .type(1) .name("<your-name>") .refWidth(1920) .refHeight(1080) .xOffset(50F) .yOffset(100F) .height(200) .transparency(100) .offsetCorner("<your-offset-corner>") .pictureUrl("<your-picture-url>") // リクエストレベルの設定。 HTTP リクエストパラメーターを上書きできます。 // .requestConfiguration(RequestConfiguration.create().setHttpHeaders(new HttpHeaders())) .build(); // API リクエストの戻り値を非同期に取得します。 CompletableFuture<AddLiveStreamWatermarkResponse> response = client.addLiveStreamWatermark(addLiveStreamWatermarkRequest); // API リクエストの戻り値を同期的に取得します。 AddLiveStreamWatermarkResponse resp = response.get(); System.out.println(new Gson().toJson(resp)); // 戻り値を非同期に処理します。 /*response.thenAccept(resp -> { System.out.println(new Gson().toJson(resp)); }).exceptionally(throwable -> { // 例外を処理します。 System.out.println(throwable.getMessage()); return null; });*/ // クライアントを閉じます。 client.close(); } }説明パラメーターの詳細については、「AddLiveStreamWatermark API リファレンス」をご参照ください。
これでウォーターマークテンプレートの設定は完了です。 次に、ウォーターマークルールを設定する必要があります。
ウォーターマークとタイムシフトは同時に使用できません。
ウォーターマークルールの設定
ウォーターマークテンプレートを作成した後、それを適用するためのウォーターマークルールを作成します。
ウォーターマークルールは、コンソールで設定するか、API を使用して設定できます。
コンソールでの設定
ApsaraVideo Liveコンソールにログインします。
左側のナビゲーションペインで、機能管理 > ライブストリームのウォーターマーク を選択します。 ライブストリームのウォーターマーク ページで、透かしルール タブをクリックします。
設定するストリーミングドメインを選択します。
透かしルールの追加 をクリックします。
ウォーターマークルールのパラメーターを次の表に示します。
パラメーター
説明
[ルール名]
ウォーターマークルールの名前。 名前は最大 32 文字で、漢字、英数字、特殊文字を使用できます。
[ルールの説明]
ウォーターマークルールの説明。 説明は最大 128 文字で、漢字、英数字、特殊文字を使用できます。
[アプリケーション名]
ストリームが属するアプリケーションの名前。 ウォーターマークテンプレートを有効にするには、AppName がアップストリーム URL の AppName と一致する必要があります。 名前は最大 256 文字で、英数字、ハイフン (-)、アンダースコア (_) を含めることができます。
[ストリーム名]
ライブストリームの名前。 次のルールが適用されます:
特定のストリーム名を入力して、そのストリームのみを照合します。 例:
liveStreamA。ワイルドカードマッチングを使用できます。
すべてのライブストリームに一致させるには、アスタリスク (*) のみを入力します。
前方一致または後方一致マッチングを実行することもできます。一致させる項目は括弧
()で囲み、複数の項目は縦棒|で区切る必要があります。アスタリスク (*) ワイルドカードは、文字列の先頭または末尾でのみ使用できます。例:(abc|123)*は、abcまたは123で始まるすべてのストリームに一致します。*(t1|t2)は、t1またはt2で終わるすべてのストリームに一致します。名前は最大 256 文字で、英数字、ハイフン (-)、アンダースコア (_)、アスタリスク (*)、等号 (=) を含めることができます。
[透かしテンプレート]
設定済みのウォーターマークテンプレートを選択します。 利用可能なテンプレートがない場合は、まずテンプレートを作成します。 詳細については、「ウォーターマークテンプレートの設定」をご参照ください。
[保存] をクリックして、ウォーターマークルールの設定を完了します。
説明ウォーターマークルールを設定した後、再生中にウォーターマークを表示するには、アップストリーミングを再起動する必要があります。
ウォーターマークルールリスト
ウォーターマークルールを保存すると、ウォーターマークルールリストページに戻ります。 リストを表示する前に、ストリーミングドメインを追加する必要があります。ストリーミングドメインが追加されていない場合、ルールリストは表示されません。 リストには、作成したウォーターマークルールが次の列に表示されます:
ウォーターマークルール ID/名前:ルールの ID と名前。
[アプリケーション名]:ルールが適用されるストリーミングアプリケーションの名前。
ストリーム名:ルールが一致するライブストリームの名前。
ウォーターマークテンプレート:ルールに関連付けられているウォーターマークテンプレート。
操作:ウォーターマークルールを有効または無効にするために使用されます。
ウォーターマークルールを有効化または無効化するには、リストの [操作] 列にある対応するボタンをクリックしてステータスを切り替えます。 このコンソールには、状態を示す個別の列はありません。有効/無効の状態は、[操作] 列のボタンで直接切り替えられます。 ウォーターマークルールが有効化されると、一致するライブストリームがアップストリーミングされるときにウォーターマークが追加されます。
API を使用した設定
// このファイルは自動生成されたものです。編集しないでください。ありがとうございます。
package demo;
import com.aliyun.auth.credentials.Credential;
import com.aliyun.auth.credentials.provider.StaticCredentialProvider;
import com.aliyun.core.http.HttpClient;
import com.aliyun.core.http.HttpMethod;
import com.aliyun.core.http.ProxyOptions;
import com.aliyun.httpcomponent.httpclient.ApacheAsyncHttpClientBuilder;
import com.aliyun.sdk.service.live20161101.models.*;
import com.aliyun.sdk.service.live20161101.*;
import com.google.gson.Gson;
import darabonba.core.RequestConfiguration;
import darabonba.core.client.ClientOverrideConfiguration;
import darabonba.core.utils.CommonUtil;
import darabonba.core.TeaPair;
//import javax.net.ssl.KeyManager;
//import javax.net.ssl.X509TrustManager;
import java.net.InetSocketAddress;
import java.time.Duration;
import java.util.*;
import java.util.concurrent.CompletableFuture;
import java.io.*;
public class AddLiveStreamWatermarkRule {
public static void main(String[] args) throws Exception {
// HttpClient を設定します。
/*HttpClient httpClient = new ApacheAsyncHttpClientBuilder()
.connectionTimeout(Duration.ofSeconds(10)) // 接続のタイムアウト期間。 デフォルト値:10 秒。
.responseTimeout(Duration.ofSeconds(10)) // レスポンスのタイムアウト期間。 デフォルト値:20 秒。
.maxConnections(128) // 接続プールのサイズ。
.maxIdleTimeOut(Duration.ofSeconds(50)) // 接続プールのタイムアウト期間。 デフォルト値:30 秒。
// プロキシを設定します。
.proxy(new ProxyOptions(ProxyOptions.Type.HTTP, new InetSocketAddress("<your-proxy-hostname>", 9001))
.setCredentials("<your-proxy-username>", "<your-proxy-password>"))
// HTTPS 接続の場合は、証明書を設定するか、.ignoreSSL(true) を使用して証明書を無視する必要があります。
.x509TrustManagers(new X509TrustManager[]{})
.keyManagers(new KeyManager[]{})
.ignoreSSL(false)
.build();*/
// AccessKey ID、AccessKey シークレット、セキュリティトークンなどの認証用の資格情報を設定します。
StaticCredentialProvider provider = StaticCredentialProvider.create(Credential.builder()
// ALIBABA_CLOUD_ACCESS_KEY_ID および ALIBABA_CLOUD_ACCESS_KEY_SECRET 環境変数が設定されていることを確認してください。
.accessKeyId(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"))
.accessKeySecret(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"))
//.securityToken(System.getenv("ALIBABA_CLOUD_SECURITY_TOKEN")) // Security Token Service (STS) トークンを使用します。
.build());
// クライアントを設定します。
AsyncClient client = AsyncClient.builder()
.region("<your-region-id>") // リージョン ID。
//.httpClient(httpClient) // 設定された HttpClient を使用します。 それ以外の場合は、デフォルトの Apache HttpClient が使用されます。
.credentialsProvider(provider)
//.serviceConfiguration(Configuration.create()) // サービスレベルの設定。
// クライアントレベルの設定。 エンドポイントと HTTP リクエストパラメーターを上書きできます。
.overrideConfiguration(
ClientOverrideConfiguration.create()
// エンドポイントの詳細については、https://api.aliyun.com/product/live をご参照ください。
.setEndpointOverride("live.aliyuncs.com")
//.setConnectTimeout(Duration.ofSeconds(30))
)
.build();
// API リクエストのパラメーターを設定します。
AddLiveStreamWatermarkRuleRequest addLiveStreamWatermarkRuleRequest = AddLiveStreamWatermarkRuleRequest.builder()
.regionId("<your-region-id>")
.name("<your-name>")
.domain("<your-domain>")
.app("<your-app>")
.stream("<your-stream>")
.templateId("<your-template-id>")
// リクエストレベルの設定。 HTTP リクエストパラメーターを上書きできます。
// .requestConfiguration(RequestConfiguration.create().setHttpHeaders(new HttpHeaders()))
.build();
// API リクエストの戻り値を非同期に取得します。
CompletableFuture<AddLiveStreamWatermarkRuleResponse> response = client.addLiveStreamWatermarkRule(addLiveStreamWatermarkRuleRequest);
// API リクエストの戻り値を同期的に取得します。
AddLiveStreamWatermarkRuleResponse resp = response.get();
System.out.println(new Gson().toJson(resp));
// 戻り値を非同期に処理します。
/*response.thenAccept(resp -> {
System.out.println(new Gson().toJson(resp));
}).exceptionally(throwable -> { // 例外を処理します。
System.out.println(throwable.getMessage());
return null;
});*/
// クライアントを閉じます。
client.close();
}
}<AppName> は最大 256 文字で、英数字、ハイフン (-)、アンダースコア (_) を含めることができます。 アスタリスク (*) はサポートされていません。
ウォーターマークルールの照合は優先順位に基づいています。 特定の <StreamName> (ワイルドカード * ではない) を持つルールが最初に照合されます。
パラメーターの詳細については、「AddLiveStreamWatermarkRule API リファレンス」をご参照ください。
機能の使用
ウォーターマークテンプレートとウォーターマークルールを設定した後、ストリームインジェストと再生を開始してウォーターマークを適用します。ウォーターマークとして、ライブストリームの右上にオレンジ色のテキストウォーターマーク「这是一个水印」が表示されます。
この例のウォーターマークは、テキストベースの PNG 画像です。
ウォーターマークの透明度
次のコードは、ウォーターマークの透明度を設定する方法を示しています。
// ウォーターマークの透明度。値が小さいほど透明度が高くなります。有効値:0~255。デフォルト値:255。
addLiveStreamWatermarkRequest.setTransparency(255);たとえば、透明度を 128 に設定すると、ウォーターマークテキスト (「这是一个水印」など) は、ライブビデオの右上に半透明のオーバーレイとして表示され、視聴者には見えますが、下にあるコンテンツを完全に覆い隠すことはありません。
ウォーターマークの更新
ウォーターマークテンプレートを更新するサンプルコード
// このファイルは自動生成されたものです。編集しないでください。
package demo;
import com.aliyun.auth.credentials.Credential;
import com.aliyun.auth.credentials.provider.StaticCredentialProvider;
import com.aliyun.core.http.HttpClient;
import com.aliyun.core.http.HttpMethod;
import com.aliyun.core.http.ProxyOptions;
import com.aliyun.httpcomponent.httpclient.ApacheAsyncHttpClientBuilder;
import com.aliyun.sdk.service.live20161101.models.*;
import com.aliyun.sdk.service.live20161101.*;
import com.google.gson.Gson;
import darabonba.core.RequestConfiguration;
import darabonba.core.client.ClientOverrideConfiguration;
import darabonba.core.utils.CommonUtil;
import darabonba.core.TeaPair;
//import javax.net.ssl.KeyManager;
//import javax.net.ssl.X509TrustManager;
import java.net.InetSocketAddress;
import java.time.Duration;
import java.util.*;
import java.util.concurrent.CompletableFuture;
import java.io.*;
public class UpdateLiveStreamWatermark {
public static void main(String[] args) throws Exception {
// HttpClient を設定します。
/*HttpClient httpClient = new ApacheAsyncHttpClientBuilder()
.connectionTimeout(Duration.ofSeconds(10)) // 接続タイムアウトを設定します。デフォルトは 10 秒です。
.responseTimeout(Duration.ofSeconds(10)) // 応答タイムアウトを設定します。デフォルトは 20 秒です。
.maxConnections(128) // 接続プールサイズを設定します。
.maxIdleTimeOut(Duration.ofSeconds(50)) // 接続プールのタイムアウトを設定します。デフォルトは 30 秒です。
// プロキシを設定します。
.proxy(new ProxyOptions(ProxyOptions.Type.HTTP, new InetSocketAddress("<YOUR-PROXY-HOSTNAME>", 9001))
.setCredentials("<YOUR-PROXY-USERNAME>", "<YOUR-PROXY-PASSWORD>"))
// HTTPS 接続の場合、証明書を設定するか、.ignoreSSL(true) を使用して証明書を無視する必要があります。
.x509TrustManagers(new X509TrustManager[]{})
.keyManagers(new KeyManager[]{})
.ignoreSSL(false)
.build();*/
// AccessKey ID、AccessKey Secret、トークンなどの認証情報を設定します。
StaticCredentialProvider provider = StaticCredentialProvider.create(Credential.builder()
// ALIBABA_CLOUD_ACCESS_KEY_ID と ALIBABA_CLOUD_ACCESS_KEY_SECRET 環境変数が設定されていることを確認してください。
.accessKeyId(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"))
.accessKeySecret(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"))
//.securityToken(System.getenv("ALIBABA_CLOUD_SECURITY_TOKEN")) // STS トークンを使用します。
.build());
// クライアントを設定します。
AsyncClient client = AsyncClient.builder()
.region("<Your RegionId>") // リージョン ID。
//.httpClient(httpClient) // 設定済みの HttpClient を使用します。それ以外の場合は、デフォルトの Apache HttpClient が使用されます。
.credentialsProvider(provider)
//.serviceConfiguration(Configuration.create()) // サービスレベルの設定。
// クライアントレベルの設定を上書きします。エンドポイント、HTTP リクエストパラメーターなどを設定できます。
.overrideConfiguration(
ClientOverrideConfiguration.create()
// エンドポイントの詳細については、https://api.aliyun.com/product/live をご参照ください。
.setEndpointOverride("live.aliyuncs.com")
//.setConnectTimeout(Duration.ofSeconds(30))
)
.build();
// API リクエストのパラメーターを設定します。
UpdateLiveStreamWatermarkRequest updateLiveStreamWatermarkRequest = UpdateLiveStreamWatermarkRequest.builder()
.regionId("<Your RegionId>")
.templateId("<Your templateId>")
.name("<Your name>")
.description("<Your description>")
// リクエストレベルの設定を上書きします。HTTP リクエストパラメーターなどを設定できます。
// .requestConfiguration(RequestConfiguration.create().setHttpHeaders(new HttpHeaders()))
.build();
// API リクエストの戻り値を非同期に取得します。
CompletableFuture<UpdateLiveStreamWatermarkResponse> response = client.updateLiveStreamWatermark(updateLiveStreamWatermarkRequest);
// API リクエストの戻り値を同期的に取得します。
UpdateLiveStreamWatermarkResponse resp = response.get();
System.out.println(new Gson().toJson(resp));
// 戻り値を非同期に処理します。
/*response.thenAccept(resp -> {
System.out.println(new Gson().toJson(resp));
}).exceptionally(throwable -> { // 例外を処理します。
System.out.println(throwable.getMessage());
return null;
});*/
// クライアントを閉じます。
client.close();
}
}は、テンプレートのドメイン名に関連付けられているライブセンターのリージョンと一致する必要があります。リージョン ID のリストについては、「サービスエンドポイント」をご参照ください。 パラメーターの詳細については、「UpdateLiveStreamWatermark API リファレンス」をご参照ください。
ウォーターマークルールを更新するサンプルコード
// このファイルは自動生成されたものです。編集しないでください。
package demo;
import com.aliyun.auth.credentials.Credential;
import com.aliyun.auth.credentials.provider.StaticCredentialProvider;
import com.aliyun.core.http.HttpClient;
import com.aliyun.core.http.HttpMethod;
import com.aliyun.core.http.ProxyOptions;
import com.aliyun.httpcomponent.httpclient.ApacheAsyncHttpClientBuilder;
import com.aliyun.sdk.service.live20161101.models.*;
import com.aliyun.sdk.service.live20161101.*;
import com.google.gson.Gson;
import darabonba.core.RequestConfiguration;
import darabonba.core.client.ClientOverrideConfiguration;
import darabonba.core.utils.CommonUtil;
import darabonba.core.TeaPair;
//import javax.net.ssl.KeyManager;
//import javax.net.ssl.X509TrustManager;
import java.net.InetSocketAddress;
import java.time.Duration;
import java.util.*;
import java.util.concurrent.CompletableFuture;
import java.io.*;
public class UpdateLiveStreamWatermarkRule {
public static void main(String[] args) throws Exception {
// HttpClient を設定します。
/*HttpClient httpClient = new ApacheAsyncHttpClientBuilder()
.connectionTimeout(Duration.ofSeconds(10)) // 接続タイムアウトを設定します。デフォルトは 10 秒です。
.responseTimeout(Duration.ofSeconds(10)) // 応答タイムアウトを設定します。デフォルトは 20 秒です。
.maxConnections(128) // 接続プールサイズを設定します。
.maxIdleTimeOut(Duration.ofSeconds(50)) // 接続プールのタイムアウトを設定します。デフォルトは 30 秒です。
// プロキシを設定します。
.proxy(new ProxyOptions(ProxyOptions.Type.HTTP, new InetSocketAddress("<YOUR-PROXY-HOSTNAME>", 9001))
.setCredentials("<YOUR-PROXY-USERNAME>", "<YOUR-PROXY-PASSWORD>"))
// HTTPS 接続の場合、証明書を設定するか、.ignoreSSL(true) を使用して証明書を無視する必要があります。
.x509TrustManagers(new X509TrustManager[]{})
.keyManagers(new KeyManager[]{})
.ignoreSSL(false)
.build();*/
// AccessKey ID、AccessKey Secret、トークンなどの認証情報を設定します。
StaticCredentialProvider provider = StaticCredentialProvider.create(Credential.builder()
// ALIBABA_CLOUD_ACCESS_KEY_ID と ALIBABA_CLOUD_ACCESS_KEY_SECRET 環境変数が設定されていることを確認してください。
.accessKeyId(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"))
.accessKeySecret(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"))
//.securityToken(System.getenv("ALIBABA_CLOUD_SECURITY_TOKEN")) // STS トークンを使用します。
.build());
// クライアントを設定します。
AsyncClient client = AsyncClient.builder()
.region("<Your RegionId>") // リージョン ID。
//.httpClient(httpClient) // 設定済みの HttpClient を使用します。それ以外の場合は、デフォルトの Apache HttpClient が使用されます。
.credentialsProvider(provider)
//.serviceConfiguration(Configuration.create()) // サービスレベルの設定。
// クライアントレベルの設定を上書きします。エンドポイント、HTTP リクエストパラメーターなどを設定できます。
.overrideConfiguration(
ClientOverrideConfiguration.create()
// エンドポイントの詳細については、https://api.aliyun.com/product/live をご参照ください。
.setEndpointOverride("live.aliyuncs.com")
//.setConnectTimeout(Duration.ofSeconds(30))
)
.build();
// API リクエストのパラメーターを設定します。
UpdateLiveStreamWatermarkRuleRequest updateLiveStreamWatermarkRuleRequest = UpdateLiveStreamWatermarkRuleRequest.builder()
.regionId("<Your RegionId>")
.ruleId("<Your RuleId>")
// リクエストレベルの設定を上書きします。HTTP リクエストパラメーターなどを設定できます。
// .requestConfiguration(RequestConfiguration.create().setHttpHeaders(new HttpHeaders()))
.build();
// API リクエストの戻り値を非同期に取得します。
CompletableFuture<UpdateLiveStreamWatermarkRuleResponse> response = client.updateLiveStreamWatermarkRule(updateLiveStreamWatermarkRuleRequest);
// API リクエストの戻り値を同期的に取得します。
UpdateLiveStreamWatermarkRuleResponse resp = response.get();
System.out.println(new Gson().toJson(resp));
// 戻り値を非同期に処理します。
/*response.thenAccept(resp -> {
System.out.println(new Gson().toJson(resp));
}).exceptionally(throwable -> { // 例外を処理します。
System.out.println(throwable.getMessage());
return null;
});*/
// クライアントを閉じます。
client.close();
}
}は、テンプレートのドメイン名に関連付けられているライブセンターのリージョンと一致する必要があります。リージョン ID のリストについては、「サービスエンドポイント」をご参照ください。 ルールの他のプロパティを更新できます。詳細については、「UpdateLiveStreamWatermarkRule API リファレンス」をご参照ください。
ウォーターマークテンプレートまたはウォーターマークルールの変更は、ストリームインジェストを再起動した後にのみ有効になります。ライブストリーム中に再起動せずにウォーターマークを更新するには、動的なウォーターマークの更新機能を使用します。
この更新を実行するには、DynamicUpdateWaterMarkStreamRule API を呼び出します。
動的なウォーターマーク更新のサンプルコード
// このファイルは自動生成されたものです。編集しないでください。
package demo;
import com.aliyun.auth.credentials.Credential;
import com.aliyun.auth.credentials.provider.StaticCredentialProvider;
import com.aliyun.core.http.HttpClient;
import com.aliyun.core.http.HttpMethod;
import com.aliyun.core.http.ProxyOptions;
import com.aliyun.httpcomponent.httpclient.ApacheAsyncHttpClientBuilder;
import com.aliyun.sdk.service.live20161101.models.*;
import com.aliyun.sdk.service.live20161101.*;
import com.google.gson.Gson;
import darabonba.core.RequestConfiguration;
import darabonba.core.client.ClientOverrideConfiguration;
import darabonba.core.utils.CommonUtil;
import darabonba.core.TeaPair;
//import javax.net.ssl.KeyManager;
//import javax.net.ssl.X509TrustManager;
import java.net.InetSocketAddress;
import java.time.Duration;
import java.util.*;
import java.util.concurrent.CompletableFuture;
import java.io.*;
public class DynamicUpdateWaterMarkStreamRule {
public static void main(String[] args) throws Exception {
// HttpClient を設定します。
/*HttpClient httpClient = new ApacheAsyncHttpClientBuilder()
.connectionTimeout(Duration.ofSeconds(10)) // 接続タイムアウトを設定します。デフォルトは 10 秒です。
.responseTimeout(Duration.ofSeconds(10)) // 応答タイムアウトを設定します。デフォルトは 20 秒です。
.maxConnections(128) // 接続プールサイズを設定します。
.maxIdleTimeOut(Duration.ofSeconds(50)) // 接続プールのタイムアウトを設定します。デフォルトは 30 秒です。
// プロキシを設定します。
.proxy(new ProxyOptions(ProxyOptions.Type.HTTP, new InetSocketAddress("<YOUR-PROXY-HOSTNAME>", 9001))
.setCredentials("<YOUR-PROXY-USERNAME>", "<YOUR-PROXY-PASSWORD>"))
// HTTPS 接続の場合、証明書を設定するか、.ignoreSSL(true) を使用して証明書を無視する必要があります。
.x509TrustManagers(new X509TrustManager[]{})
.keyManagers(new KeyManager[]{})
.ignoreSSL(false)
.build();*/
// AccessKey ID、AccessKey Secret、トークンなどの認証情報を設定します。
StaticCredentialProvider provider = StaticCredentialProvider.create(Credential.builder()
// ALIBABA_CLOUD_ACCESS_KEY_ID と ALIBABA_CLOUD_ACCESS_KEY_SECRET 環境変数が設定されていることを確認してください。
.accessKeyId(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"))
.accessKeySecret(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"))
//.securityToken(System.getenv("ALIBABA_CLOUD_SECURITY_TOKEN")) // STS トークンを使用します。
.build());
// クライアントを設定します。
AsyncClient client = AsyncClient.builder()
.region("<Your RegionId>") // リージョン ID。
//.httpClient(httpClient) // 設定済みの HttpClient を使用します。それ以外の場合は、デフォルトの Apache HttpClient が使用されます。
.credentialsProvider(provider)
//.serviceConfiguration(Configuration.create()) // サービスレベルの設定。
// クライアントレベルの設定を上書きします。エンドポイント、HTTP リクエストパラメーターなどを設定できます。
.overrideConfiguration(
ClientOverrideConfiguration.create()
// エンドポイントの詳細については、https://api.aliyun.com/product/live をご参照ください。
.setEndpointOverride("live.aliyuncs.com")
//.setConnectTimeout(Duration.ofSeconds(30))
)
.build();
// API リクエストのパラメーターを設定します。
DynamicUpdateWaterMarkStreamRuleRequest dynamicUpdateWaterMarkStreamRuleRequest = DynamicUpdateWaterMarkStreamRuleRequest.builder()
.regionId("<Your RegionId>")
.domain("<Your Domain>")
.app("<Your App>")
.stream("<Your Stream>")
.templateId("<Your TemplateId>")
// リクエストレベルの設定を上書きします。HTTP リクエストパラメーターなどを設定できます。
// .requestConfiguration(RequestConfiguration.create().setHttpHeaders(new HttpHeaders()))
.build();
// API リクエストの戻り値を非同期に取得します。
CompletableFuture<DynamicUpdateWaterMarkStreamRuleResponse> response = client.dynamicUpdateWaterMarkStreamRule(dynamicUpdateWaterMarkStreamRuleRequest);
// API リクエストの戻り値を同期的に取得します。
DynamicUpdateWaterMarkStreamRuleResponse resp = response.get();
System.out.println(new Gson().toJson(resp));
// 戻り値を非同期に処理します。
/*response.thenAccept(resp -> {
System.out.println(new Gson().toJson(resp));
}).exceptionally(throwable -> { // 例外を処理します。
System.out.println(throwable.getMessage());
return null;
});*/
// クライアントを閉じます。
client.close();
}
}には、新しいテンプレートまたは元のテンプレートの ID を指定できます。このメソッドを呼び出すと、画像、透明度、位置など、指定されたテンプレートの最新の設定に一致するようにウォーターマークが更新されます。 現在、動的更新は、ストリーム名にあいまい一致を使用するウォーターマークルールではサポートされていません。
ウォーターマークテンプレートの削除
[透かしテンプレート]を削除する前に、関連付けられているすべてのウォーターマークルールをまず削除してください。
ウォーターマークルールを削除するサンプルコード
// このファイルは自動生成されたものです。編集しないでください。
package demo;
import com.aliyun.auth.credentials.Credential;
import com.aliyun.auth.credentials.provider.StaticCredentialProvider;
import com.aliyun.core.http.HttpClient;
import com.aliyun.core.http.HttpMethod;
import com.aliyun.core.http.ProxyOptions;
import com.aliyun.httpcomponent.httpclient.ApacheAsyncHttpClientBuilder;
import com.aliyun.sdk.service.live20161101.models.*;
import com.aliyun.sdk.service.live20161101.*;
import com.google.gson.Gson;
import darabonba.core.RequestConfiguration;
import darabonba.core.client.ClientOverrideConfiguration;
import darabonba.core.utils.CommonUtil;
import darabonba.core.TeaPair;
//import javax.net.ssl.KeyManager;
//import javax.net.ssl.X509TrustManager;
import java.net.InetSocketAddress;
import java.time.Duration;
import java.util.*;
import java.util.concurrent.CompletableFuture;
import java.io.*;
public class DeleteLiveStreamWatermarkRule {
public static void main(String[] args) throws Exception {
// HttpClient を設定します。
/*HttpClient httpClient = new ApacheAsyncHttpClientBuilder()
.connectionTimeout(Duration.ofSeconds(10)) // 接続タイムアウトを設定します。デフォルトは 10 秒です。
.responseTimeout(Duration.ofSeconds(10)) // 応答タイムアウトを設定します。デフォルトは 20 秒です。
.maxConnections(128) // 接続プールサイズを設定します。
.maxIdleTimeOut(Duration.ofSeconds(50)) // 接続プールのタイムアウトを設定します。デフォルトは 30 秒です。
// プロキシを設定します。
.proxy(new ProxyOptions(ProxyOptions.Type.HTTP, new InetSocketAddress("<YOUR-PROXY-HOSTNAME>", 9001))
.setCredentials("<YOUR-PROXY-USERNAME>", "<YOUR-PROXY-PASSWORD>"))
// HTTPS 接続の場合、証明書を設定するか、.ignoreSSL(true) を使用して証明書を無視する必要があります。
.x509TrustManagers(new X509TrustManager[]{})
.keyManagers(new KeyManager[]{})
.ignoreSSL(false)
.build();*/
// AccessKey ID、AccessKey Secret、トークンなどの認証情報を設定します。
StaticCredentialProvider provider = StaticCredentialProvider.create(Credential.builder()
// ALIBABA_CLOUD_ACCESS_KEY_ID と ALIBABA_CLOUD_ACCESS_KEY_SECRET 環境変数が設定されていることを確認してください。
.accessKeyId(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"))
.accessKeySecret(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"))
//.securityToken(System.getenv("ALIBABA_CLOUD_SECURITY_TOKEN")) // STS トークンを使用します。
.build());
// クライアントを設定します。
AsyncClient client = AsyncClient.builder()
.region("<Your RegionId>") // リージョン ID。
//.httpClient(httpClient) // 設定済みの HttpClient を使用します。それ以外の場合は、デフォルトの Apache HttpClient が使用されます。
.credentialsProvider(provider)
//.serviceConfiguration(Configuration.create()) // サービスレベルの設定。
// クライアントレベルの設定を上書きします。エンドポイント、HTTP リクエストパラメーターなどを設定できます。
.overrideConfiguration(
ClientOverrideConfiguration.create()
// エンドポイントの詳細については、https://api.aliyun.com/product/live をご参照ください。
.setEndpointOverride("live.aliyuncs.com")
//.setConnectTimeout(Duration.ofSeconds(30))
)
.build();
// API リクエストのパラメーターを設定します。
DeleteLiveStreamWatermarkRuleRequest deleteLiveStreamWatermarkRuleRequest = DeleteLiveStreamWatermarkRuleRequest.builder()
.regionId("<Your RegionId>")
.ruleId("<Your RuleId>")
// リクエストレベルの設定を上書きします。HTTP リクエストパラメーターなどを設定できます。
// .requestConfiguration(RequestConfiguration.create().setHttpHeaders(new HttpHeaders()))
.build();
// API リクエストの戻り値を非同期に取得します。
CompletableFuture<DeleteLiveStreamWatermarkRuleResponse> response = client.deleteLiveStreamWatermarkRule(deleteLiveStreamWatermarkRuleRequest);
// API リクエストの戻り値を同期的に取得します。
DeleteLiveStreamWatermarkRuleResponse resp = response.get();
System.out.println(new Gson().toJson(resp));
// 戻り値を非同期に処理します。
/*response.thenAccept(resp -> {
System.out.println(new Gson().toJson(resp));
}).exceptionally(throwable -> { // 例外を処理します。
System.out.println(throwable.getMessage());
return null;
});*/
// クライアントを閉じます。
client.close();
}
}削除するウォーターマークルールの RuleId を指定します。詳細については、「DeleteLiveStreamWatermarkRule API リファレンス」をご参照ください。
ウォーターマークテンプレートを削除するサンプルコード
// このファイルは自動生成されたものです。編集しないでください。
package demo;
import com.aliyun.auth.credentials.Credential;
import com.aliyun.auth.credentials.provider.StaticCredentialProvider;
import com.aliyun.core.http.HttpClient;
import com.aliyun.core.http.HttpMethod;
import com.aliyun.core.http.ProxyOptions;
import com.aliyun.httpcomponent.httpclient.ApacheAsyncHttpClientBuilder;
import com.aliyun.sdk.service.live20161101.models.*;
import com.aliyun.sdk.service.live20161101.*;
import com.google.gson.Gson;
import darabonba.core.RequestConfiguration;
import darabonba.core.client.ClientOverrideConfiguration;
import darabonba.core.utils.CommonUtil;
import darabonba.core.TeaPair;
//import javax.net.ssl.KeyManager;
//import javax.net.ssl.X509TrustManager;
import java.net.InetSocketAddress;
import java.time.Duration;
import java.util.*;
import java.util.concurrent.CompletableFuture;
import java.io.*;
public class DeleteLiveStreamWatermark {
public static void main(String[] args) throws Exception {
// HttpClient を設定します。
/*HttpClient httpClient = new ApacheAsyncHttpClientBuilder()
.connectionTimeout(Duration.ofSeconds(10)) // 接続タイムアウトを設定します。デフォルトは 10 秒です。
.responseTimeout(Duration.ofSeconds(10)) // 応答タイムアウトを設定します。デフォルトは 20 秒です。
.maxConnections(128) // 接続プールサイズを設定します。
.maxIdleTimeOut(Duration.ofSeconds(50)) // 接続プールのタイムアウトを設定します。デフォルトは 30 秒です。
// プロキシを設定します。
.proxy(new ProxyOptions(ProxyOptions.Type.HTTP, new InetSocketAddress("<YOUR-PROXY-HOSTNAME>", 9001))
.setCredentials("<YOUR-PROXY-USERNAME>", "<YOUR-PROXY-PASSWORD>"))
// HTTPS 接続の場合、証明書を設定するか、.ignoreSSL(true) を使用して証明書を無視する必要があります。
.x509TrustManagers(new X509TrustManager[]{})
.keyManagers(new KeyManager[]{})
.ignoreSSL(false)
.build();*/
// AccessKey ID、AccessKey Secret、トークンなどの認証情報を設定します。
StaticCredentialProvider provider = StaticCredentialProvider.create(Credential.builder()
// ALIBABA_CLOUD_ACCESS_KEY_ID と ALIBABA_CLOUD_ACCESS_KEY_SECRET 環境変数が設定されていることを確認してください。
.accessKeyId(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"))
.accessKeySecret(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"))
//.securityToken(System.getenv("ALIBABA_CLOUD_SECURITY_TOKEN")) // STS トークンを使用します。
.build());
// クライアントを設定します。
AsyncClient client = AsyncClient.builder()
.region("<Your RegionId>") // リージョン ID。
//.httpClient(httpClient) // 設定済みの HttpClient を使用します。それ以外の場合は、デフォルトの Apache HttpClient が使用されます。
.credentialsProvider(provider)
//.serviceConfiguration(Configuration.create()) // サービスレベルの設定。
// クライアントレベルの設定を上書きします。エンドポイント、HTTP リクエストパラメーターなどを設定できます。
.overrideConfiguration(
ClientOverrideConfiguration.create()
// エンドポイントの詳細については、https://api.aliyun.com/product/live をご参照ください。
.setEndpointOverride("live.aliyuncs.com")
//.setConnectTimeout(Duration.ofSeconds(30))
)
.build();
// API リクエストのパラメーターを設定します。
DeleteLiveStreamWatermarkRequest deleteLiveStreamWatermarkRequest = DeleteLiveStreamWatermarkRequest.builder()
.regionId("<Your RegionId>")
.templateId("<Your TemplateId>")
// リクエストレベルの設定を上書きします。HTTP リクエストパラメーターなどを設定できます。
// .requestConfiguration(RequestConfiguration.create().setHttpHeaders(new HttpHeaders()))
.build();
// API リクエストの戻り値を非同期に取得します。
CompletableFuture<DeleteLiveStreamWatermarkResponse> response = client.deleteLiveStreamWatermark(deleteLiveStreamWatermarkRequest);
// API リクエストの戻り値を同期的に取得します。
DeleteLiveStreamWatermarkResponse resp = response.get();
System.out.println(new Gson().toJson(resp));
// 戻り値を非同期に処理します。
/*response.thenAccept(resp -> {
System.out.println(new Gson().toJson(resp));
}).exceptionally(throwable -> { // 例外を処理します。
System.out.println(throwable.getMessage());
return null;
});*/
// クライアントを閉じます。
client.close();
}
}は、テンプレートのドメイン名に関連付けられているライブセンターのリージョンと一致する必要があります。リージョン ID のリストについては、「サービスエンドポイント」をご参照ください。 詳細については、「DeleteLiveStreamWatermark API リファレンス」をご参照ください。
参考資料
Java SDK の使用方法については、Java SDK 使用ガイドをご参照ください。