動画のクリップ(トリミング、または動画の長さの変更とも呼びます)では、動画の開始点と終了点を変え、視聴者に特定の「クリップ」だけを見せられます。たとえば 20 分の動画のうち、中盤の 5 分だけを共有したい場合は、その前後を除いてクリップします。
詳細は Video clipping API ドキュメント を参照してください。
動画をクリップするには、API トークンが必要です。作成方法は API トークンを作成する を参照してください。
クリップするには、既存の動画から新しい動画に使う開始時刻と終了時刻を決めます。videoUID と開始・終了時刻を使ってリクエストします。
{
"clippedFromVideoUID": "0ea62994907491cf9ebefb0a34c1e2c6",
"startTimeSeconds": 20,
"endTimeSeconds": 40
}clippedFromVideoUID: 新しいクリップ動画の元になる動画の一意な識別子です。startTimeSeconds: 既存の動画のうち、新しい動画が始まるタイムスタンプです。endTimeSeconds: 既存の動画のうち、新しい動画が終わるタイムスタンプです。
curl --location --request POST 'https://api.cloudflare.com/client/v4/accounts/<YOUR_ACCOUNT_ID_HERE>/stream/clip' \
--header 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
--header 'Content-Type: application/json' \
--data-raw '{
"clippedFromVideoUID": "0ea62994907491cf9ebefb0a34c1e2c6",
"startTimeSeconds": 10,
"endTimeSeconds": 15
}'再生できる状態かは、Cloudflare ダッシュボードの Stream ページで確認できます。
Videos を開く ↗クリップ処理中は、動画ステータスのレスポンスに Queued と表示されます。完了すると Ready に変わり、クリップした動画の新しい名前と新しい再生時間が表示されます。
処理が終わり再生できるタイミングで通知を受け取るには、webhook 通知を購読 できます。
クリップ時に、クリップした動画の新しい名前も指定できます。次の例では、name フィールドがクリップした動画に使う新しい名前です。
{
"clippedFromVideoUID": "0ea62994907491cf9ebefb0a34c1e2c6",
"startTimeSeconds": 10,
"endTimeSeconds": 15,
"meta": {
"name": "overriding-filename-clip.mp4"
}
}クリップと処理が終わると、新しい名前の動画が Cloudflare ダッシュボードの動画一覧に表示されます。
動画にカスタムのウォーターマークも追加できます。ウォーターマークとウォーターマークプロファイルのアップロードは、ウォーターマークを適用する を参照してください。
{
"clippedFromVideoUID": "0ea62994907491cf9ebefb0a34c1e2c6",
"startTimeSeconds": 10,
"endTimeSeconds": 15,
"watermark": {
"uid": "4babd675387c3d927f58c41c761978fe"
},
"meta": {
"name": "overriding-filename-clip.mp4"
}
}クリップ時に、署名付き URL を必須 にすると、動画を非公開にし、特定のユーザーだけがアクセスできるようにできます。
{
"clippedFromVideoUID": "0ea62994907491cf9ebefb0a34c1e2c6",
"startTimeSeconds": 10,
"endTimeSeconds": 15,
"requireSignedURLs": true,
"meta": {
"name": "signed-urls-demo.mp4"
}
}クリップが完了したら、Cloudflare ダッシュボードの動画一覧を開いて対象の動画を探します。動画を選ぶと、Settings タブの Require Signed URLs の横にチェックが付きます。
パーセンテージ値で、動画のサムネイル画像も指定できます。秒単位のタイムスタンプをパーセンテージに変換するには、使いたいタイムスタンプを動画の総再生時間で割ります。サムネイルの詳細は サムネイルを表示する を参照してください。
{
"clippedFromVideoUID": "0ea62994907491cf9ebefb0a34c1e2c6",
"startTimeSeconds": 10,
"endTimeSeconds": 15,
"thumbnailTimestampPct": 0.5,
"meta": {
"name": "thumbnail_percentage.mp4"
}
}