コンテンツにスキップ

ウォーターマークの適用

Stream APIを使用してアップロードされた動画にウォーターマークを追加できます。

動画にウォーターマークを追加するには、まずウォーターマークプロファイルを作成します。ウォーターマークプロファイルは、ウォーターマークとして使用したい画像とその画像の位置を説明します。ウォーターマークプロファイルを作成したら、動画をアップロードする際にオプションとして使用できます。

クイックスタート

ウォーターマークプロファイルには多くのカスタマイズ可能なオプションがあります。ただし、デフォルトのパラメータは一般的にほとんどのケースで機能します。詳細については、以下の「プロファイル」を参照してください。

ステップ1: プロファイルを作成する

Terminal window
curl -X POST -H 'Authorization: Bearer <API_TOKEN>' \
-F file=@/Users/rchen/cloudflare.png \
https://api.cloudflare.com/client/v4/accounts/<ACCOUNT_ID>/stream/watermarks

ステップ2: アップロード時にプロファイルUIDを指定する

Terminal window
tus-upload --chunk-size 5242880 \
--header Authentication 'Bearer <API_TOKEN>' \
--metadata watermark <WATERMARK_UID> \
/Users/rchen/cat.mp4 https://api.cloudflare.com/client/v4/accounts/<ACCOUNT_ID>/stream

ステップ3: 完了

Cloudflareのウォーターマークが右上に表示された動画のスクリーンショット

プロファイル

プロファイルを作成、リスト、削除、または情報を取得するには、Cloudflare APIトークンが必要です。

オプションのパラメータ

  • name string default: 空文字列

    • プロファイルの短い説明。例えば、「マーケティング動画」。
  • opacity float default: 1.0

    • ウォーターマークの透明度。0.0は完全に透明、1.0は完全に不透明を意味します。ウォーターマークがすでに半透明の場合、これを1.0に設定しても完全に不透明にはなりません。
  • padding float default: 0.05

    • 動画とウォーターマークの隣接するエッジ(位置によって決定される)間の空白。0.0はパディングなし、1.0は動画の幅または長さ全体にパディングを意味します。

    • Streamは、異なる寸法の動画間でウォーターマークがほぼ同じ位置に配置されることを保証します。

  • scale float default: 0.15

    • ウォーターマークのサイズを動画全体のサイズに対して相対的に指定します。このパラメータは、横向きおよび縦向きの動画に自動的に適応します。0.0はスケーリングなし(ウォーターマークのサイズをそのまま使用)、1.0は動画全体を埋めます。

    • アルゴリズムは、異なる寸法の動画間でウォーターマークがほぼ同じサイズに見えるようにします。

  • position string (enum) default: “upperRight”

    • ウォーターマークの位置。有効な位置は、upperRightupperLeftlowerLeftlowerRight、およびcenterです。

ウォーターマークプロファイルの作成

ユースケース1: ローカル画像ファイルを直接アップロード

画像を直接アップロードするには、multipart/form-dataをコンテンツタイプとして使用し、fileキーの下にファイルを指定してPOSTリクエストを送信してください。他のすべてのフィールドはオプションです。

Terminal window
curl -X POST -H "Authorization: Bearer <API_TOKEN>" \
-F file=@{path-to-image-locally} \
-F name='マーケティング動画' \
-F opacity=1.0 \
-F padding=0.05 \
-F scale=0.15 \
-F position=upperRight \
https://api.cloudflare.com/client/v4/accounts/<ACCOUNT_ID>/stream/watermarks

ユースケース2: 画像のURLを渡す

アップロード用のURLを指定するには、application/jsonをコンテンツタイプとして使用し、urlキーを使用してファイルの場所を指定してPOSTリクエストを送信してください。他のすべてのフィールドはオプションです。

Terminal window
curl -X POST -H "Authorization: Bearer <API_TOKEN>" \
-H 'Content-Type: application/json' \
-d '{
"url": "{url-to-image}",
"name": "マーケティング動画",
"opacity": 1.0,
"padding": 0.05,
"scale": 0.15,
"position": "upperRight"
}' \
https://api.cloudflare.com/client/v4/accounts/<ACCOUNT_ID>/stream/watermarks

ウォーターマークプロファイル作成の例の応答

{
"result": {
"uid": "d6373709b7681caa6c48ef2d8c73690d",
"size": 11248,
"height": 240,
"width": 720,
"created": "2020-07-29T00:16:55.719265Z",
"downloadedFrom": null,
"name": "マーケティング動画",
"opacity": 1.0,
"padding": 0.05,
"scale": 0.15,
"position": "upperRight"
},
"success": true,
"errors": [],
"messages": []
}

downloadedFromは、URLからダウンロードしてプロファイルが作成された場合に設定されます。

動画にウォーターマークプロファイルを使用する

ウォーターマークプロファイルを作成したら、動画のウォーターマークにプロファイルを使用できます。

基本的なアップロード

残念ながら、Streamは現在、基本アップロード時にウォーターマークプロファイルを指定することをサポートしていません。

リンクで動画をアップロード

Terminal window
curl -X POST -H "Authorization: Bearer <API_TOKEN>" \
-H 'Content-Type: application/json' \
-d '{
"url": "{url-to-video}",
"watermark": {
"uid": "<WATERMARK_UID>"
}
}' \
https://api.cloudflare.com/client/v4/accounts/<ACCOUNT_ID>/stream/copy

リンクで動画をアップロードした際の例の応答

{
"result": {
"uid": "8d3a5b80e7437047a0fb2761e0f7a645",
"thumbnail": "https://customer-f33zs165nr7gyfy4.cloudflarestream.com/6b9e68b07dfee8cc2d116e4c51d6a957/thumbnails/thumbnail.jpg",
"playback": {
"hls": "https://customer-f33zs165nr7gyfy4.cloudflarestream.com/6b9e68b07dfee8cc2d116e4c51d6a957/manifest/video.m3u8",
"dash": "https://customer-f33zs165nr7gyfy4.cloudflarestream.com/6b9e68b07dfee8cc2d116e4c51d6a957/manifest/video.mpd"
},
"watermark": {
"uid": "d6373709b7681caa6c48ef2d8c73690d",
"size": 11248,
"height": 240,
"width": 720,
"created": "2020-07-29T00:16:55.719265Z",
"downloadedFrom": null,
"name": "マーケティング動画",
"opacity": 1.0,
"padding": 0.05,
"scale": 0.15,
"position": "upperRight"
}
}
}

tusで動画をアップロード

Terminal window
tus-upload --chunk-size 5242880 \
--header Authentication 'Bearer <API_TOKEN>' \
--metadata watermark <WATERMARK_UID> \
<PATH_TO_VIDEO> https://api.cloudflare.com/client/v4/accounts/<ACCOUNT_ID>/stream

直接作成者がアップロード

生成された一時的なユニークURLでアップロードされた動画には、指定されたプロファイルのウォーターマークが適用されます。

Terminal window
curl -X POST -H "Authorization: Bearer <API_TOKEN>" \
-H 'Content-Type: application/json' \
-d '{
"maxDurationSeconds": 3600,
"watermark": {
"uid": "<WATERMARK_UID>"
}
}' \
https://api.cloudflare.com/client/v4/accounts/<ACCOUNT_ID>/stream/direct_upload

ユーザーが直接アップロードした際の例の応答

{
"result": {
"uploadURL": "https://upload.videodelivery.net/c32d98dd671e4046a33183cd5b93682b",
"uid": "c32d98dd671e4046a33183cd5b93682b",
"watermark": {
"uid": "d6373709b7681caa6c48ef2d8c73690d",
"size": 11248,
"height": 240,
"width": 720,
"created": "2020-07-29T00:16:55.719265Z",
"downloadedFrom": null,
"name": "マーケティング動画",
"opacity": 1.0,
"padding": 0.05,
"scale": 0.15,
"position": "upperRight"
}
},
"success": true,
"errors": [],
"messages": []
}

watermarkは、ウォーターマークが指定されていない場合はnullになります。

ウォーターマークプロファイルを取得する

作成したウォーターマークプロファイルを表示するには:

Terminal window
curl -H "Authorization: Bearer <API_TOKEN>" \
https://api.cloudflare.com/client/v4/accounts/<ACCOUNT_ID>/stream/watermarks/<WATERMARK_UID>

ウォーターマークプロファイル取得の例の応答

{
"result": {
"uid": "d6373709b7681caa6c48ef2d8c73690d",
"size": 11248,
"height": 240,
"width": 720,
"created": "2020-07-29T00:16:55.719265Z",
"downloadedFrom": null,
"name": "マーケティング動画",
"opacity": 1.0,
"padding": 0.05,
"scale": 0.15,
"position": "center"
},
"success": true,
"errors": [],
"messages": []
}

ウォーターマークプロファイルのリスト

作成したウォーターマークプロファイルをリストするには:

Terminal window
curl -H "Authorization: Bearer <API_TOKEN>" \
https://api.cloudflare.com/client/v4/accounts/<ACCOUNT_ID>/stream/watermarks/

ウォーターマークプロファイルリストの例の応答

{
"result": [
{
"uid": "9de16afa676d64faaa7c6c4d5047e637",
"size": 207710,
"height": 626,
"width": 1108,
"created": "2020-07-29T00:23:35.918472Z",
"downloadedFrom": null,
"name": "マーケティング動画",
"opacity": 1.0,
"padding": 0.05,
"scale": 0.15,
"position": "upperLeft"
},
{
"uid": "9c50cff5ab16c4aec0bcb03c44e28119",
"size": 207710,
"height": 626,
"width": 1108,
"created": "2020-07-29T00:16:46.735377Z",
"downloadedFrom": "https://company.com/logo.png",
"name": "内部トレーニング動画",
"opacity": 1.0,
"padding": 0.05,
"scale": 0.15,
"position": "center"
}
],
"success": true,
"errors": [],
"messages": []
}

ウォーターマークプロファイルを削除する

作成したウォーターマークプロファイルを削除するには:

Terminal window
curl -X DELETE -H 'Authorization: Bearer <API_TOKEN>' \
https://api.cloudflare.com/client/v4/accounts/<ACCOUNT_ID>/stream/watermarks/<WATERMARK_UID>

操作が成功した場合、成功の応答が返されます:

{
"result": "",
"success": true,
"errors": [],
"messages": []
}

制限事項

  • ウォーターマークプロファイルが作成されると、そのパラメータを変更することはできません。ウォーターマークプロファイルを編集する必要がある場合は、削除して新しいものを作成してください。
  • ウォーターマークが動画に適用されると、異なるプロファイルを適用するために動画を再アップロードしない限り、ウォーターマークを変更することはできません。
  • ウォーターマークが動画に適用されると、ウォーターマークプロファイルを削除しても動画からウォーターマークは削除されません。
  • 最大ファイルサイズは2MiB(2097152バイト)で、PNGファイルのみがサポートされています。