すべてのプロダクト
Search
ドキュメントセンター

Object Storage Service:複数のビデオフレームをキャプチャする

最終更新日:Nov 09, 2025

ビデオスナップショット機能を使用して、特定のルールに基づいて複数のビデオフレームを抽出し、目的の画像フォーマットに変換できます。このトピックでは、ビデオスナップショット機能のパラメーターと例について説明します。

機能紹介

フレームキャプチャとは、ビデオから特定のフレーム画像を抽出し、ビデオ内の特定の瞬間を静止画像として保存するプロセスを指します。

image

シナリオ

  • スナップショット: ビデオ内の特定の瞬間を静止画像として保存し、ポスターを作成します。

  • 分析: 顔認識やオブジェクト検出など、後続の分析のためにキーフレームを抽出します。

  • サムネイル作成: ビデオのサムネイルやカバー画像を作成します。

  • 再生サマリー: ビデオから複数の重要な瞬間を選択し、簡潔なサマリーやプレビューを生成します。

  • スクリーンショットの共有と記録: ユーザーがビデオを視聴中に、気に入ったフレームを保存または共有したい場合、その瞬間のビデオフレームをキャプチャできます。

この機能の使用方法

前提条件

ビデオフレームのキャプチャ

Java、Python、または Go SDK を使用して、非同期でのみビデオフレームをキャプチャできます。

重要

キャプチャしたフレームのストレージパスに .jpg などのサフィックスを指定しない場合、システムは自動的に _0_1.jpg などのシリアル番号を追加します。サフィックスを指定した場合、最後にキャプチャされたフレームのみが保持されます。サフィックスを指定しないことをお勧めします。シリアル番号をカスタマイズするには、ApsaraVideo Media Processing の変数を使用できます。

Java

Java SDK 3.17.4 以降を使用する必要があります。

import com.aliyun.oss.ClientBuilderConfiguration;
import com.aliyun.oss.OSS;
import com.aliyun.oss.OSSClientBuilder;
import com.aliyun.oss.common.auth.CredentialsProviderFactory;
import com.aliyun.oss.common.auth.EnvironmentVariableCredentialsProvider;
import com.aliyun.oss.common.comm.SignVersion;
import com.aliyun.oss.model.AsyncProcessObjectRequest;
import com.aliyun.oss.model.AsyncProcessObjectResult;
import com.aliyuncs.exceptions.ClientException;

import java.util.Base64;

public class Demo {
    public static void main(String[] args) throws ClientException {
        // yourEndpoint を、バケットが配置されているリージョンのエンドポイントに置き換えます。
        String endpoint = "https://oss-cn-hangzhou.aliyuncs.com";
        // cn-hangzhou などの汎用 Alibaba Cloud リージョン ID を指定します。
        String region = "cn-hangzhou";
        // 環境変数からアクセス資格情報を取得します。このサンプルコードを実行する前に、OSS_ACCESS_KEY_ID および OSS_ACCESS_KEY_SECRET 環境変数が設定されていることを確認してください。
        EnvironmentVariableCredentialsProvider credentialsProvider = CredentialsProviderFactory.newEnvironmentVariableCredentialsProvider();
        // バケット名を指定します (例: examplebucket)。
        String bucketName = "examplebucket";
        // ビデオスナップショットで処理された後のファイル名を指定します。
        String targetKey = "dest.png";
        // ソースビデオファイルの名前を指定します。
        String sourceKey = "src.mp4";

        // OSSClient インスタンスを作成します。
        // OSSClient インスタンスが不要になったら、shutdown メソッドを呼び出してリソースを解放します。
        ClientBuilderConfiguration clientBuilderConfiguration = new ClientBuilderConfiguration();
        clientBuilderConfiguration.setSignatureVersion(SignVersion.V4);
        OSS ossClient = OSSClientBuilder.create()
                .endpoint(endpoint)
                .credentialsProvider(credentialsProvider)
                .clientConfiguration(clientBuilderConfiguration)
                .region(region)
                .build();

        try {
            // ビデオ処理スタイル文字列とビデオスナップショットパラメーターを構築します。
            String style = String.format("video/snapshots,f_jpg,w_100,h_100,scaletype_crop,inter_10000");
            // 非同期処理命令を構築します。
            String bucketEncoded = Base64.getUrlEncoder().withoutPadding().encodeToString(bucketName.getBytes());
            String targetEncoded = Base64.getUrlEncoder().withoutPadding().encodeToString(targetKey.getBytes());
            String process = String.format("%s|sys/saveas,b_%s,o_%s/notify,topic_QXVkaW9Db252ZXJ0", style, bucketEncoded, targetEncoded);
            // AsyncProcessObjectRequest オブジェクトを作成します。
            AsyncProcessObjectRequest request = new AsyncProcessObjectRequest(bucketName, sourceKey, process);
            // 非同期処理タスクを実行します。
            AsyncProcessObjectResult response = ossClient.asyncProcessObject(request);
            System.out.println("EventId: " + response.getEventId());
            System.out.println("RequestId: " + response.getRequestId());
            System.out.println("TaskId: " + response.getTaskId());

        } finally {
            // OSSClient をシャットダウンします。
            ossClient.shutdown();
        }
    }
}

Python

Python SDK 2.18.4 以降を使用する必要があります。

# -*- coding: utf-8 -*-
import base64
import oss2
from oss2.credentials import EnvironmentVariableCredentialsProvider

def main():
    # 環境変数から一時的なアクセス資格情報を取得します。このサンプルコードを実行する前に、OSS_ACCESS_KEY_ID および OSS_ACCESS_KEY_SECRET 環境変数が設定されていることを確認してください。
    auth = oss2.ProviderAuthV4(EnvironmentVariableCredentialsProvider())
    # バケットが配置されているリージョンのエンドポイントを指定します。たとえば、バケットが中国 (杭州) リージョンにある場合、エンドポイントを https://oss-cn-hangzhou.aliyuncs.com に設定します。
    endpoint = 'https://oss-cn-hangzhou.aliyuncs.com'
    # cn-hangzhou などの汎用 Alibaba Cloud リージョン ID を指定します。
    region = 'cn-hangzhou'

    # バケット名を指定します (例: examplebucket)。
    bucket = oss2.Bucket(auth, endpoint, 'examplebucket', region=region)

    # ソースビデオファイルの名前を指定します。
    source_key = 'src.mp4'

    # ビデオスナップショットで処理された後のファイル名を指定します。
    target_key = 'dest.png'

    # ビデオスナップショットパラメーターを構築します。
    animation_style = 'video/snapshots,f_jpg,w_100,h_100,scaletype_crop,inter_10000'

    # 保存パス、Base64 エンコードされたバケット名、オブジェクトファイル名を含む処理命令を構築します。
    bucket_name_encoded = base64.urlsafe_b64encode('examplebucket'.encode()).decode().rstrip('=')
    target_key_encoded = base64.urlsafe_b64encode(target_key.encode()).decode().rstrip('=')
    process = f"{animation_style}|sys/saveas,b_{bucket_name_encoded},o_{target_key_encoded}/notify,topic_QXVkaW9Db252ZXJ0"

    try:
        # 非同期処理タスクを実行します。
        result = bucket.async_process_object(source_key, process)
        print(f"EventId: {result.event_id}")
        print(f"RequestId: {result.request_id}")
        print(f"TaskId: {result.task_id}")
    except Exception as e:
        print(f"Error: {e}")


if __name__ == "__main__":
    main()

Go

Go SDK 3.0.2 以降を使用する必要があります。

package main

import (
    "encoding/base64"
    "fmt"
    "os"
    "github.com/aliyun/aliyun-oss-go-sdk/oss"
    "log"
)

func main() {
    // 環境変数から一時的なアクセス資格情報を取得します。このサンプルコードを実行する前に、OSS_ACCESS_KEY_ID および OSS_ACCESS_KEY_SECRET 環境変数が設定されていることを確認してください。
    provider, err := oss.NewEnvironmentVariableCredentialsProvider()
    if err != nil {
    fmt.Println("Error:", err)
    os.Exit(-1)
    }
    // OSSClient インスタンスを作成します。
    // yourEndpoint をバケットのエンドポイントに置き換えます。たとえば、バケットが中国 (杭州) リージョンにある場合、エンドポイントを https://oss-cn-hangzhou.aliyuncs.com に設定します。他のリージョンについては、実際のエンドポイントを指定します。
    // yourRegion を cn-hangzhou などの汎用 Alibaba Cloud リージョン ID に置き換えます。
    client, err := oss.New("https://oss-cn-hangzhou.aliyuncs.com", "", "", oss.SetCredentialsProvider(&provider), oss.AuthVersion(oss.AuthV4), oss.Region("cn-hangzhou"))
    if err != nil {
    fmt.Println("Error:", err)
    os.Exit(-1)
    }
    // バケット名を指定します (例: examplebucket)。
    bucketName := "examplebucket"

    bucket, err := client.Bucket(bucketName)
    if err != nil {
    fmt.Println("Error:", err)
    os.Exit(-1)
    }

    // ソースビデオファイルの名前を指定します。
    sourceKey := "src.mp4"
    // ビデオスナップショットで処理された後のファイル名を指定します。
    targetKey := "dest.png"

    // ビデオスナップショットパラメーターを構築します。
    animationStyle := "video/snapshots,f_jpg,w_100,h_100,scaletype_crop,inter_10000"

    // 保存パス、Base64 エンコードされたバケット名、オブジェクトファイル名を含む処理命令を構築します。
    bucketNameEncoded := base64.URLEncoding.EncodeToString([]byte(bucketName))
    targetKeyEncoded := base64.URLEncoding.EncodeToString([]byte(targetKey))
    process := fmt.Sprintf("%s|sys/saveas,b_%v,o_%v/notify,topic_QXVkaW9Db252ZXJ0", animationStyle, bucketNameEncoded, targetKeyEncoded)

    // 非同期処理タスクを実行します。
    result, err := bucket.AsyncProcessObject(sourceKey, process)
    if err != nil {
    log.Fatalf("Failed to async process object: %s", err)
    }

    fmt.Printf("EventId: %s\n", result.EventId)
    fmt.Printf("RequestId: %s\n", result.RequestId)
    fmt.Printf("TaskId: %s\n", result.TaskId)
}

パラメーター

アクション: video/snapshots

次の表にパラメーターを示します。

パラメーター

タイプ

必須

説明

ss

int

いいえ

ビデオのスナップショットの開始時刻 (ミリ秒単位)。有効値:

  • 0 (デフォルト): 最初から開始します。

  • 0 より大きい値: 指定されたミリ秒から開始します。

f

string

はい

画像の出力フォーマット。有効値:

  • jpg

  • png

m

string

いいえ

スナップショットモード。デフォルト値は inter です。有効値:

  • inter: 固定間隔モード。スナップショット間隔は inter パラメーターによって決定され、スナップショットの数は num パラメーターによって決定されます。

  • key: キーフレームモード。ソースビデオから IDR フレームのみがキャプチャされます。スナップショットの数は num パラメーターによって決定されます。このモードでは inter パラメーターは無効です。

  • avg: 平均モード。num パラメーターに基づいて平均時間間隔でスナップショットがキャプチャされます。このモードでは inter パラメーターは無効です。

  • dhash: dhash モード。固定時間間隔でスナップショットがキャプチャされ、ビデオコンテンツの変更がしきい値を超える最も重要な変更フレームが選択されます。スナップショット間隔は inter パラメーターによって決定され、スナップショットの数は num パラメーターによって決定され、しきい値は thr パラメーターによって決定されます。

thr

int

いいえ

dhash モードのスナップショットのしきい値。しきい値が大きいほど、スナップショットの数は少なくなります。値の範囲は 0 から 100 です。デフォルト値は 0 です。

説明

このパラメーターは dhash モードでのみ有効です。

dhash モードはしきい値に敏感です。このパラメーターを 25 以下の値に設定し、必要に応じて調整してください。

num

int

いいえ

スナップショットの数。デフォルト値は 0 で、スナップショットの数に制限がないことを意味します。デフォルト値の物理的な意味は、スナップショットモードによって異なります:

  • 固定間隔モード: ビデオの最後までスナップショットがキャプチャされます。

  • キーフレームモード: ビデオの最後までスナップショットがキャプチャされます。

  • 平均モード: このパラメーターは 0 に設定できません。

  • dhash モード: コンテンツの変更が thr パラメーターの値を超えるすべてのフレームをキャプチャします。

重要

ビデオの長さとスナップショットのパラメーターにより、実際のスナップショットの数が指定した値より少なくなる場合があります。

inter

int

いいえ

スナップショットの間隔 (ミリ秒単位)。デフォルト値は 0 で、すべてのビデオフレームがキャプチャされることを意味します。

説明

この値がソースビデオのキーフレーム間隔 (フレームレートの逆数) より小さい場合、スナップショットはソースビデオのキーフレーム間隔でキャプチャされます。

w

int

いいえ

出力画像の幅 (ピクセル単位)。値は 32 から 4096 の間である必要があります。デフォルトでは、幅はソースビデオと同じです。

h

int

いいえ

出力画像の高さ (ピクセル単位)。値は 32 から 4096 の間である必要があります。デフォルトでは、高さはソースビデオと同じです。

pw

int

いいえ

ソースビデオの幅に対する出力画像の幅のパーセンテージ。値は 0 から 200 の間である必要があります。デフォルト値は 100 です。

説明

[w][pw] の両方が設定されている場合、[pw] は無効です。

ph

int

いいえ

ソースビデオの高さに対する出力画像の高さのパーセンテージ。値は 0 から 200 の間である必要があります。デフォルト値は 100 です。

説明

[h][ph] の両方が設定されている場合、[ph] は無効です。

scaletype

string

いいえ

スケーリング方法。有効値:

  • crop: 画像をスケーリングしてトリミングします。

  • stretch (デフォルト): 画像をディメンションに合わせて引き伸ばします。

  • fill: 画像をスケーリングし、黒枠を追加します。

  • fit: 黒枠を追加せずに画像を比例的にスケーリングします。

説明

ビデオスナップショットには、sys/saveas および notify パラメーターも使用されます。詳細については、「名前を付けて保存」および「通知」をご参照ください。

関連 API 操作

アプリケーションで高度なカスタマイズが必要な場合は、RESTful API を直接呼び出すことができます。この場合、署名を計算するコードを記述する必要があります。Authorization 共通リクエストヘッダーの署名の計算方法の詳細については、「署名バージョン 4 (推奨)」をご参照ください。

API を呼び出す前に、IMM プロジェクトをアタッチする必要があります。詳細については、「AttachOSSBucket - Object Storage バケットをアタッチする」をご参照ください。

AI モデルのトレーニングまたは推論のために 10 秒ごとに 1 フレームをキャプチャする

AI モデルのトレーニングまたは推論のために 10 秒ごとに 1 フレームをキャプチャします。出力画像の解像度は 512 × 512 に制限されます。

スナップショット情報

  • ソースファイル

    • ビデオ名: example.mkv

  • 通知

    • 通知用の MNS トピック: example-mns-topic

  • 出力構成

    • スナップショット情報

      • スナップショットフォーマット: jpg

      • ビデオ間隔: 10 s

      • 出力画像の解像度: 512 × 512

      • スケーリング方法: スケーリングしてトリミング

    • ファイルストレージパス

      • JPG ファイル: oss://outbucket/outobjprefix-%d.jpg

処理例

// example.mkv ファイルのスナップショットをキャプチャします。
POST /example.mkv?x-oss-async-process HTTP/1.1
Host: video-demo.oss-cn-hangzhou.aliyuncs.com
Date: Fri, 28 Oct 2022 06:40:10 GMT
Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e

x-oss-async-process=video/snapshots,f_jpg,w_512,h_512,scaletype_crop,inter_10000|sys/saveas,b_b3V0YnVja2V0,o_b3V0b2JqcHJlZml4LXtpbmRleH0ue2F1dG9leHR9Cg/notify,topic_ZXhhbXBsZS1tbnMtdG9waWMK

ビデオセグメントを分析するために、4 秒ごとに 1 フレーム、合計 5 フレームをキャプチャする

11 秒目から開始し、4 秒ごとに 1 フレーム、合計 5 フレームをキャプチャしてビデオセグメントを分析します。出力画像の幅と高さは、ソースビデオの解像度の半分です。画像は PNG フォーマットで保存されます。

スナップショット情報

  • ソースファイル

    • ビデオ名: example.mkv

  • 通知

    • 通知用の MNS トピック: example-mns-topic

  • 出力構成

    • スナップショット情報

      • スナップショットフォーマット: png

      • 開始時刻: 11 s

      • ビデオ間隔: 4 s

      • スナップショットの数: 5

      • 出力画像の解像度: ソースビデオの幅と高さの半分

    • ファイルストレージパス

      • PNG ファイル: oss://outbucket/outobjprefix-%d.png

処理例

// example.mkv ファイルのスナップショットをキャプチャします。
POST /example.mkv?x-oss-async-process HTTP/1.1
Host: video-demo.oss-cn-hangzhou.aliyuncs.com
Date: Fri, 28 Oct 2022 06:40:10 GMT
Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e
 
x-oss-async-process=video/snapshots,ss_11000,f_png,pw_50,ph_50,num_5|sys/saveas,b_b3V0YnVja2V0,o_b3V0b2JqcHJlZml4LXtpbmRleH0ue2F1dG9leHR9Cg/notify,topic_ZXhhbXBsZS1tbnMtdG9waWMK

ビデオからイベントキーフレームをキャプチャする

dhash を使用してビデオフレームのコンテンツの類似性を分析し、指定されたしきい値に基づいてコンテンツが大幅に変更されたフレームをイベントキーフレームとして抽出します。

重要

しきい値パラメーター (thr) は、ビジネスシナリオに基づいて調整する必要があります。

スナップショット情報

  • ソースファイル

    • ビデオ名: example.mkv

  • 通知

    • 通知用の MNS トピック: example-mns-topic

  • 出力構成

    • スナップショット情報

      • スナップショットモード: dhash

      • スナップショットフォーマット: jpg

      • しきい値: 15

      • ビデオ間隔: 1 s

      • 出力画像の解像度: ソースビデオと同じ

    • ファイルストレージパス

      • JPG ファイル: oss://outbucket/outobjprefix-%d.jpg

処理例

// example.mkv ファイルのスナップショットをキャプチャします。
POST /example.mkv?x-oss-async-process HTTP/1.1
Host: video-demo.oss-cn-hangzhou.aliyuncs.com
Date: Fri, 28 Oct 2022 06:40:10 GMT
Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e
 
x-oss-async-process=video/snapshots,m_dhash,f_jpg,inter_1000,thr_15|sys/saveas,b_b3V0YnVja2V0,o_b3V0b2JqcHJlZml4LXtpbmRleH0ue2F1dG9leHR9Cg/notify,topic_ZXhhbXBsZS1tbnMtdG9waWMK

推論のためにビデオから最も代表的な 5 つのイベントキーフレームをキャプチャする

dhash を使用してビデオフレームのコンテンツの類似性を分析し、画像コンテンツの変更が最も大きい 5 つのフレームをキャプチャします。

スナップショット情報

  • ソースファイル

    • ビデオ名: example.mkv

  • 通知

    • 通知用の MNS トピック: example-mns-topic

  • 出力構成

    • スナップショット情報

      • スナップショットモード: dhash

      • スナップショットフォーマット: jpg

      • スナップショットの数: 5

      • ビデオ間隔: 1 s

      • 出力画像の解像度: ソースビデオと同じ

    • ファイルストレージパス

      • JPG ファイル: oss://outbucket/outobjprefix-%d.jpg

処理例

// example.mkv ファイルのスナップショットをキャプチャします。
POST /example.mkv?x-oss-async-process HTTP/1.1
Host: video-demo.oss-cn-hangzhou.aliyuncs.com
Date: Fri, 28 Oct 2022 06:40:10 GMT
Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e
 
x-oss-async-process=video/snapshots,m_dhash,f_jpg,inter_1000,num_5|sys/saveas,b_b3V0YnVja2V0,o_b3V0b2JqcHJlZml4LXtpbmRleH0ue2F1dG9leHR9Cg/notify,topic_ZXhhbXBsZS1tbnMtdG9waWMK

ビデオからすべての IDR フレームをキャプチャする

スナップショット情報

  • ソースファイル

    • ビデオ名: example.mkv

  • 通知

    • 通知用の MNS トピック: example-mns-topic

  • 出力構成

    • スナップショット情報

      • スナップショットモード: key

      • スナップショットフォーマット: jpg

      • 出力画像の解像度: ソースビデオと同じ

    • ファイルストレージパス

      • JPG ファイル: oss://outbucket/outobjprefix-%d.jpg

処理例

// example.mkv ファイルのスナップショットをキャプチャします。
POST /example.mkv?x-oss-async-process HTTP/1.1
Host: video-demo.oss-cn-hangzhou.aliyuncs.com
Date: Fri, 28 Oct 2022 06:40:10 GMT
Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e
 
x-oss-async-process=video/snapshots,m_key,f_jpg|sys/saveas,b_b3V0YnVja2V0,o_b3V0b2JqcHJlZml4LXtpbmRleH0ue2F1dG9leHR9Cg/notify,topic_ZXhhbXBsZS1tbnMtdG9waWMK

等間隔で 10 フレームをキャプチャする

スナップショット情報

  • ソースファイル

    • ビデオ名: example.mkv

  • 通知

    • 通知用の MNS トピック: example-mns-topic

  • 出力構成

    • スナップショット情報

      • スナップショットモード: avg

      • スナップショットフォーマット: jpg

      • スナップショットの数: 10

      • 出力画像の解像度: ソースビデオと同じ

    • ファイルストレージパス

      • JPG ファイル: oss://outbucket/outobjprefix-%d.jpg

処理例

// example.mkv ファイルのスナップショットをキャプチャします。
POST /example.mkv?x-oss-async-process HTTP/1.1
Host: video-demo.oss-cn-hangzhou.aliyuncs.com
Date: Fri, 28 Oct 2022 06:40:10 GMT
Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e
 
x-oss-async-process=video/snapshots,m_avg,f_jpg,num_10|sys/saveas,b_b3V0YnVja2V0,o_b3V0b2JqcHJlZml4LXtpbmRleH0ue2F1dG9leHR9Cg/notify,topic_ZXhhbXBsZS1tbnMtdG9waWMK

オーディオカバーを抽出する

一部のオーディオファイルには、曲やアルバムのカバーが含まれています。ビデオスナップショット機能を使用してそれらを抽出できます。

スナップショット情報

  • ソースファイル

    • ビデオ名: example.flac

  • 通知

    • 通知用の MNS トピック: example-mns-topic

  • 出力構成

    • スナップショット情報

      • スナップショットフォーマット: jpg

      • 出力画像の解像度: ソースビデオと同じ

    • ファイルストレージパス

      • JPG ファイル: oss://outbucket/cover.jpg

処理例

// example.flac ファイルのスナップショットをキャプチャします。
POST /example.mkv?x-oss-async-process HTTP/1.1
Host: video-demo.oss-cn-hangzhou.aliyuncs.com
Date: Fri, 28 Oct 2022 06:40:10 GMT
Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e
 
x-oss-async-process=video/snapshots,f_jpg|sys/saveas,b_b3V0YnVja2V0,o_Y292ZXIuanBnCg/notify,topic_ZXhhbXBsZS1tbnMtdG9waWMK

課金

ビデオスナップショットプロセスは IMM サービスを使用するため、OSS と IMM の両方で課金項目が生成されます:

  • OSS: 料金の詳細については、「OSS の料金」をご参照ください。

    API

    課金項目

    説明

    GetObject

    GET リクエスト

    リクエスト料金は、成功したリクエストの数に基づいて計算されます。

    インターネット経由のアウトバウンドトラフィック

    パブリックエンドポイント (例: oss-cn-hangzhou.aliyuncs.com) またはアクセラレーションエンドポイント (例: oss-accelerate.aliyuncs.com) を使用して GetObject 操作を呼び出すと、インターネット経由のアウトバウンドトラフィックの料金が発生します。これらの料金はデータ量に基づいて請求されます。

    取得した低頻度アクセスデータの量

    取得したデータが低頻度アクセス (IA) データである場合、取得した IA データの量に対して料金が発生します。これらの料金は、取得したデータの量に基づいて請求されます。

    アーカイブオブジェクトのリアルタイムアクセスを使用して取得されたデータの量

    アーカイブオブジェクトを読み取り、バケットでアーカイブオブジェクトのリアルタイムアクセスが有効になっている場合、取得したデータの量に対して料金が発生します。これらの料金は、取得したデータの量に基づいて請求されます。

    転送アクセラレーション

    転送アクセラレーションが有効になっており、アクセラレーションエンドポイントを使用してバケットにアクセスする場合、転送アクセラレーション料金が発生します。これらの料金はデータ量に基づいて請求されます。

    PutObject

    PUT リクエスト

    リクエスト料金は、成功したリクエストの数に基づいて計算されます。

    ストレージ料金

    ストレージ料金は、オブジェクトのストレージタイプ、サイズ、および期間に基づいて請求されます。

    HeadObject

    GET リクエスト

    リクエスト料金は、成功したリクエストの数に基づいて計算されます。

  • IMM: 料金の詳細については、「IMM の課金項目」をご参照ください。

    重要

    2025 年 7 月 28 日 11:00 (UTC+8) から、IMM ビデオスナップショットサービスの価格が引き下げられます。特定の課金項目は VideoFraming です。詳細については、「IMM 課金調整のお知らせ」をご参照ください。

    API

    課金項目

    説明

    CreateMediaConvertTask

    VideoFraming

    ビデオスナップショット料金は、成功したスナップショットの数に基づいて計算されます。

注意事項

  • ビデオスナップショットは非同期処理 (x-oss-async-process メソッド) のみをサポートします。

  • ビデオのタイムスタンプまたはストリームの破損により、ビデオスナップショットが失敗したり、不正な数の画像ファイルが生成されたりする場合があります。

  • 匿名アクセスは拒否されます。

よくある質問

  • ビデオスナップショット機能は黒い画面のフィルタリングをサポートしていますか?

    いいえ、そうではありません。

  • ビデオスナップショット機能は短いビデオのサムネイル生成をサポートしていますか?

    いいえ、サポートしていません。ビデオからアニメーション画像への変換機能を使用できます。詳細については、「ビデオをアニメーション画像に変換する」をご参照ください。

  • ビデオスナップショットのビデオフォーマットに制限はありますか?

    いいえ、ありません。すべての主要なビデオフォーマットが制限なくサポートされています。

  • 高速モードで、スナップショット時間が最初の 1 秒以内にある場合、実際にキャプチャされるフレームは最初の 1 秒より前の最も近いキーフレームですか?

    はい、そうです。

  • アップロードしたビデオの特定のフレームをカバーとして表示したいのですが、灰色の画像が表示されます。なぜですか?

    ビデオのビットレートが高すぎると、ビデオスナップショット中に灰色の画像が表示されることがあります。これを避けるには、事前にビデオをトランスコードすることができます。