全部产品
Search
文档中心

Object Storage Service:Menangkap Beberapa Frame Video

更新时间:Nov 09, 2025

Anda dapat menggunakan fitur tangkapan video untuk mengekstrak beberapa frame video berdasarkan aturan tertentu dan mengonversinya ke format gambar yang diinginkan. Topik ini menjelaskan parameter serta menyediakan contoh penggunaan fitur tangkapan video.

Pengenalan Fitur

Pengambilan frame adalah proses mengekstraksi gambar tertentu dari video untuk menyimpan momen spesifik sebagai gambar statis.

image

Skenario

  • Snapshot: Menyimpan momen tertentu dalam video sebagai gambar statis untuk pembuatan poster.

  • Analisis: Mengekstrak keyframe guna analisis lebih lanjut, seperti pengenalan wajah dan deteksi objek.

  • Pembuatan Thumbnail: Membuat thumbnail atau gambar sampul untuk video.

  • Rangkuman Pemutaran: Memilih beberapa momen kunci dari video untuk menghasilkan rangkuman atau pratinjau yang ringkas.

  • Berbagi dan Merekam Tangkapan Layar: Saat menonton video, pengguna dapat menyimpan atau membagikan frame favorit mereka dengan menangkap frame video pada saat tersebut.

Cara menggunakan fitur ini

Prasyarat

Tangkap frame video

Frame video hanya dapat ditangkap secara asinkron menggunakan SDK Java, Python, atau Go.

Penting

Jika Anda tidak menentukan akhiran seperti .jpg untuk jalur penyimpanan frame yang ditangkap, sistem akan otomatis menambahkan nomor seri seperti _0_1.jpg. Jika Anda menentukan akhiran, hanya frame terakhir yang akan disimpan. Kami sarankan agar Anda tidak menentukan akhiran. Untuk menyesuaikan nomor seri, Anda dapat menggunakan variabel ApsaraVideo Media Processing.

Java

Gunakan Java SDK versi 3.17.4 atau lebih baru.

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 {
        // Ganti yourEndpoint dengan Endpoint wilayah tempat bucket berada.
        String endpoint = "https://oss-cn-hangzhou.aliyuncs.com";
        // Tentukan ID wilayah Alibaba Cloud umum, seperti cn-hangzhou.
        String region = "cn-hangzhou";
        // Dapatkan kredensial akses dari variabel lingkungan. Sebelum menjalankan kode contoh ini, pastikan variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET telah diatur.
        EnvironmentVariableCredentialsProvider credentialsProvider = CredentialsProviderFactory.newEnvironmentVariableCredentialsProvider();
        // Tentukan nama bucket, misalnya, examplebucket.
        String bucketName = "examplebucket";
        // Tentukan nama file setelah diproses oleh tangkapan video.
        String targetKey = "dest.png";
        // Tentukan nama file video sumber.
        String sourceKey = "src.mp4";

        // Buat instance OSSClient.
        // Ketika instance OSSClient tidak lagi digunakan, panggil metode shutdown untuk melepaskan sumber daya.
        ClientBuilderConfiguration clientBuilderConfiguration = new ClientBuilderConfiguration();
        clientBuilderConfiguration.setSignatureVersion(SignVersion.V4);
        OSS ossClient = OSSClientBuilder.create()
                .endpoint(endpoint)
                .credentialsProvider(credentialsProvider)
                .clientConfiguration(clientBuilderConfiguration)
                .region(region)
                .build();

        try {
            // Bangun string gaya pemrosesan video dan parameter tangkapan video.
            String style = String.format("video/snapshots,f_jpg,w_100,h_100,scaletype_crop,inter_10000");
            // Bangun instruksi pemrosesan asinkron.
            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);
            // Buat objek AsyncProcessObjectRequest.
            AsyncProcessObjectRequest request = new AsyncProcessObjectRequest(bucketName, sourceKey, process);
            // Jalankan tugas pemrosesan asinkron.
            AsyncProcessObjectResult response = ossClient.asyncProcessObject(request);
            System.out.println("EventId: " + response.getEventId());
            System.out.println("RequestId: " + response.getRequestId());
            System.out.println("TaskId: " + response.getTaskId());

        } finally {
            // Matikan OSSClient.
            ossClient.shutdown();
        }
    }
}

Python

Gunakan Python SDK versi 2.18.4 atau lebih baru.

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

def main():
    # Dapatkan kredensial akses sementara dari variabel lingkungan. Sebelum menjalankan kode contoh ini, pastikan variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET telah diatur.
    auth = oss2.ProviderAuthV4(EnvironmentVariableCredentialsProvider())
    # Tentukan Endpoint wilayah tempat bucket berada. Misalnya, jika bucket berada di wilayah China (Hangzhou), atur Endpoint ke https://oss-cn-hangzhou.aliyuncs.com.
    endpoint = 'https://oss-cn-hangzhou.aliyuncs.com'
    # Tentukan ID wilayah Alibaba Cloud umum, seperti cn-hangzhou.
    region = 'cn-hangzhou'

    # Tentukan nama bucket, misalnya, examplebucket.
    bucket = oss2.Bucket(auth, endpoint, 'examplebucket', region=region)

    # Tentukan nama file video sumber.
    source_key = 'src.mp4'

    # Tentukan nama file setelah diproses oleh tangkapan video.
    target_key = 'dest.png'

    # Bangun parameter tangkapan video.
    animation_style = 'video/snapshots,f_jpg,w_100,h_100,scaletype_crop,inter_10000'

    # Bangun instruksi pemrosesan, termasuk jalur penyimpanan dan nama bucket serta nama file objek yang dikodekan 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:
        # Jalankan tugas pemrosesan asinkron.
        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

Gunakan Go SDK versi 3.0.2 atau lebih baru.

package main

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

func main() {
    // Dapatkan kredensial akses sementara dari variabel lingkungan. Sebelum menjalankan kode contoh ini, pastikan variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET telah diatur.
    provider, err := oss.NewEnvironmentVariableCredentialsProvider()
    if err != nil {
    fmt.Println("Error:", err)
    os.Exit(-1)
    }
    // Buat instance OSSClient.
    // Ganti yourEndpoint dengan Endpoint bucket. Misalnya, jika bucket berada di wilayah China (Hangzhou), atur Endpoint ke https://oss-cn-hangzhou.aliyuncs.com. Untuk wilayah lainnya, tentukan Endpoint sebenarnya.
    // Ganti yourRegion dengan ID wilayah Alibaba Cloud umum, seperti cn-hangzhou.
    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)
    }
    // Tentukan nama bucket, misalnya, examplebucket.
    bucketName := "examplebucket"

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

    // Tentukan nama file video sumber.
    sourceKey := "src.mp4"
    // Tentukan nama file setelah diproses oleh tangkapan video.
    targetKey := "dest.png"

    // Bangun parameter tangkapan video.
    animationStyle := "video/snapshots,f_jpg,w_100,h_100,scaletype_crop,inter_10000"

    // Bangun instruksi pemrosesan, termasuk jalur penyimpanan dan nama bucket serta nama file objek yang dikodekan 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)

    // Jalankan tugas pemrosesan asinkron.
    result, err := bucket.AsyncProcessObject(sourceKey, process)
    if err != nil {
    log.Fatalf("Gagal memproses objek secara asinkron: %s", err)
    }

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

Parameter

Aksi: video/snapshots

Tabel berikut menjelaskan parameter yang digunakan.

Parameter

Tipe

Diperlukan

Deskripsi

ss

int

Tidak

Waktu mulai untuk tangkapan video, dalam milidetik. Nilai valid:

  • 0 (default): Mulai dari awal.

  • Nilai lebih besar dari 0: Mulai dari milidetik yang ditentukan.

f

string

Ya

Format keluaran gambar. Nilai valid:

  • jpg

  • png

m

string

Tidak

Mode snapshot. Nilai default adalah inter. Nilai valid:

  • inter: mode interval tetap. Interval snapshot ditentukan oleh parameter inter, dan jumlah snapshot ditentukan oleh parameter num.

  • key: mode keyframe. Hanya IDR frame dari video sumber yang ditangkap. Jumlah snapshot ditentukan oleh parameter num. Parameter inter tidak valid dalam mode ini.

  • avg: mode rata-rata. Snapshot diambil pada interval waktu rata-rata berdasarkan parameter num. Parameter inter tidak valid dalam mode ini.

  • dhash: mode dhash. Snapshot diambil pada interval waktu tetap, dan frame perubahan signifikan di mana perubahan konten video melebihi ambang batas dipilih. Interval snapshot ditentukan oleh parameter inter, jumlah snapshot ditentukan oleh parameter num, dan ambang batas ditentukan oleh parameter thr.

thr

int

Tidak

Ambang batas snapshot untuk mode dhash. Ambang batas yang lebih besar menghasilkan lebih sedikit snapshot. Nilainya berkisar antara 0 hingga 100. Nilai default adalah 0.

Catatan

Parameter ini hanya valid dalam mode dhash.

Mode dhash sensitif terhadap ambang batas. Atur parameter ini ke nilai tidak lebih dari 25 dan sesuaikan sesuai kebutuhan.

num

int

Tidak

Jumlah snapshot. Nilai default adalah 0, yang berarti tidak ada batasan pada jumlah snapshot. Arti fisik dari nilai default bervariasi berdasarkan mode snapshot:

  • Mode interval tetap: Snapshot diambil hingga akhir video.

  • Mode keyframe: Snapshot diambil hingga akhir video.

  • Mode rata-rata: Parameter ini tidak dapat diatur ke 0.

  • Mode dhash: Menangkap semua frame di mana perubahan konten melebihi nilai parameter thr.

Penting

Jumlah snapshot aktual mungkin kurang dari nilai yang ditentukan karena panjang video dan parameter snapshot.

inter

int

Tidak

Interval snapshot, dalam milidetik. Nilai default adalah 0, yang berarti semua frame video ditangkap.

Catatan

Jika nilai ini kurang dari interval keyframe video sumber (kebalikan dari laju frame), snapshot diambil pada interval keyframe video sumber.

w

int

Tidak

Lebar gambar keluaran, dalam piksel. Nilainya harus antara 32 dan 4096. Secara default, lebar sama dengan video sumber.

h

int

Tidak

Tinggi gambar keluaran, dalam piksel. Nilainya harus antara 32 dan 4096. Secara default, tinggi sama dengan video sumber.

pw

int

Tidak

Persentase lebar gambar keluaran relatif terhadap lebar video sumber. Nilainya harus antara 0 dan 200. Nilai default adalah 100.

Catatan

Jika baik w maupun pw diatur, pw tidak valid.

ph

int

Tidak

Persentase tinggi gambar keluaran relatif terhadap tinggi video sumber. Nilainya harus antara 0 dan 200. Nilai default adalah 100.

Catatan

Jika baik h maupun ph diatur, ph tidak valid.

scaletype

string

Tidak

Metode penskalaan. Nilai valid:

  • crop: Skala dan potong gambar.

  • stretch (default): Regangkan gambar untuk mengisi dimensi.

  • fill: Skala gambar dan tambahkan bilah hitam.

  • fit: Skala gambar secara proporsional tanpa menambahkan bilah hitam.

Catatan

Parameter sys/saveas dan notify juga digunakan untuk tangkapan video. Untuk informasi lebih lanjut, lihat Simpan sebagai dan Notifikasi.

Operasi API Terkait

Jika aplikasi Anda memerlukan tingkat penyesuaian yang tinggi, Anda dapat langsung memanggil API RESTful. Dalam hal ini, Anda harus menulis kode untuk menghitung tanda tangan. Untuk informasi tentang cara menghitung tanda tangan untuk header permintaan umum Authorization, lihat Versi Tanda Tangan 4 (Direkomendasikan).

Sebelum melakukan panggilan API, Anda harus menyambungkan proyek IMM. Untuk informasi lebih lanjut, lihat AttachOSSBucket - Sambungkan bucket Penyimpanan Objek.

Tangkap satu frame setiap 10 detik untuk pelatihan model AI atau inferensi

Tangkap satu frame setiap 10 detik untuk pelatihan model AI atau inferensi. Resolusi gambar keluaran dibatasi hingga 512 × 512.

Informasi Snapshot

  • File sumber:

    • Nama video: example.mkv

  • Notifikasi:

    • Topik MNS untuk notifikasi: example-mns-topic

  • Konfigurasi keluaran:

    • Informasi snapshot:

      • Format snapshot: jpg

      • Interval video: 10 d

      • Resolusi gambar keluaran: 512 × 512

      • Metode penskalaan: Skala dan potong

    • Jalur penyimpanan file:

      • File JPG: oss://outbucket/outobjprefix-%d.jpg

Contoh Pemrosesan

// Tangkap snapshot file 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

Tangkap satu frame setiap 4 detik untuk total 5 frame untuk menganalisis segmen video

Mulai dari detik ke-11, tangkap satu frame setiap 4 detik untuk total 5 frame guna menganalisis segmen video. Lebar dan tinggi gambar keluaran adalah setengah dari resolusi video sumber. Gambar disimpan dalam format PNG.

Informasi Snapshot

  • File sumber:

    • Nama video: example.mkv

  • Notifikasi:

    • Topik MNS untuk notifikasi: example-mns-topic

  • Konfigurasi keluaran:

    • Informasi snapshot:

      • Mode snapshot: png

      • Waktu mulai: 11 s

      • Interval video: 4 d

      • Jumlah snapshot: 5

      • Resolusi gambar keluaran: Setengah lebar dan tinggi video sumber

    • Jalur penyimpanan file:

      • File PNG: oss://outbucket/outobjprefix-%d.png

Contoh Pemrosesan

// Tangkap snapshot file 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

Tangkap keyframe peristiwa dari video

Gunakan dhash untuk menganalisis kesamaan konten frame video, serta ekstrak frame dengan perubahan konten signifikan sebagai keyframe peristiwa berdasarkan ambang batas tertentu.

Penting

Parameter ambang batas (thr) harus disesuaikan berdasarkan skenario bisnis Anda.

Informasi Snapshot

  • File sumber:

    • Nama video: example.mkv

  • Notifikasi:

    • Topik MNS untuk notifikasi: example-mns-topic

  • Konfigurasi keluaran:

    • Informasi snapshot:

      • Mode snapshot: dhash

      • Format snapshot: jpg

      • Ambang batas: 15

      • Interval video: 1 d

      • Resolusi gambar keluaran: Sama dengan video sumber

    • Jalur penyimpanan file:

      • File JPG: oss://outbucket/outobjprefix-%d.jpg

Contoh Pemrosesan

// Tangkap snapshot file 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

Tangkap 5 keyframe peristiwa paling representatif dari video untuk inferensi

Gunakan dhash untuk menganalisis kesamaan konten frame video dan tangkap 5 frame dengan perubahan konten gambar yang paling signifikan.

Informasi Snapshot

  • File sumber:

    • Nama video: example.mkv

  • Notifikasi:

    • Topik MNS untuk notifikasi: example-mns-topic

  • Konfigurasi keluaran:

    • Informasi snapshot:

      • Mode snapshot: dhash

      • Format snapshot: jpg

      • Jumlah snapshot: 5

      • Interval video: 1 d

      • Resolusi gambar keluaran: Sama dengan video sumber

    • Jalur penyimpanan file:

      • File JPG: oss://outbucket/outobjprefix-%d.jpg

Contoh Pemrosesan

// Tangkap snapshot file 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

Tangkap semua frame IDR dari video

Informasi Snapshot

  • File sumber:

    • Nama video: example.mkv

  • Notifikasi:

    • Topik MNS untuk notifikasi: example-mns-topic

  • Konfigurasi keluaran:

    • Informasi snapshot:

      • Mode snapshot: key

      • Format snapshot: jpg

      • Resolusi gambar keluaran: Sama dengan video sumber

    • Jalur penyimpanan file:

      • File JPG: oss://outbucket/outobjprefix-%d.jpg

Contoh Pemrosesan

// Tangkap snapshot file 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

Tangkap 10 frame pada interval merata

Informasi Snapshot

  • File sumber:

    • Nama video: example.mkv

  • Notifikasi:

    • Topik MNS untuk notifikasi: example-mns-topic

  • Konfigurasi keluaran:

    • Informasi snapshot:

      • Mode snapshot: avg

      • Format snapshot: jpg

      • Jumlah snapshot: 10

      • Resolusi gambar keluaran: Sama dengan video sumber

    • Jalur penyimpanan file:

      • File JPG: oss://outbucket/outobjprefix-%d.jpg

Contoh Pemrosesan

// Tangkap snapshot file 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

Ekstrak sampul audio

Beberapa file audio berisi sampul lagu atau album. Anda dapat menggunakan fitur tangkapan video untuk mengekstraknya.

Informasi Snapshot

  • File sumber:

    • Nama video: example.flac

  • Notifikasi:

    • Topik MNS untuk notifikasi: example-mns-topic

  • Konfigurasi keluaran:

    • Informasi snapshot:

      • Format snapshot: jpg

      • Resolusi gambar keluaran: Sama dengan video sumber

    • Jalur penyimpanan file:

      • File JPG: oss://outbucket/cover.jpg

Contoh Pemrosesan

// Tangkap snapshot file 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

Penagihan

Proses tangkapan video menghasilkan item yang dapat ditagih untuk OSS dan IMM karena menggunakan layanan Intelligent Media Management (IMM):

  • OSS: Untuk informasi lebih lanjut tentang harga, lihat Harga OSS.

    API

    Item yang dapat ditagih

    Deskripsi

    GetObject

    Permintaan GET

    Biaya permintaan dihitung berdasarkan jumlah permintaan sukses.

    Lalu lintas keluar melalui internet

    Jika Anda memanggil operasi GetObject menggunakan Endpoint publik (misalnya, oss-cn-hangzhou.aliyuncs.com) atau endpoint akselerasi (misalnya, oss-accelerate.aliyuncs.com), biaya lalu lintas keluar melalui internet akan dihasilkan. Biaya ini dikenakan berdasarkan volume data.

    Volume data Infrequent Access yang diambil

    Jika data yang diambil adalah data Infrequent Access (IA), biaya akan dihasilkan untuk volume data IA yang diambil. Biaya ini dikenakan berdasarkan volume data yang diambil.

    Volume data yang diambil menggunakan akses waktu nyata objek Arsip

    Jika Anda membaca objek Arsip dan akses waktu nyata objek Arsip diaktifkan untuk bucket, biaya akan dihasilkan untuk volume data yang diambil. Biaya ini dikenakan berdasarkan volume data yang diambil.

    Akselerasi transfer

    Jika akselerasi transfer diaktifkan dan Anda menggunakan endpoint akselerasi untuk mengakses bucket Anda, biaya akselerasi transfer akan dihasilkan. Biaya ini dikenakan berdasarkan volume data.

    PutObject

    Permintaan PUT

    Biaya permintaan dihitung berdasarkan jumlah permintaan sukses.

    Biaya penyimpanan

    Biaya penyimpanan dikenakan berdasarkan kelas penyimpanan, ukuran, dan durasi objek.

    HeadObject

    Permintaan GET

    Biaya permintaan dihitung berdasarkan jumlah permintaan sukses.

  • IMM: Untuk informasi lebih lanjut tentang harga, lihat Item yang dapat ditagih IMM.

    Penting

    Mulai pukul 11:00 (UTC+8) pada 28 Juli 2025, harga layanan tangkapan video IMM akan dikurangi. Item yang dapat ditagih spesifik adalah VideoFraming. Untuk informasi lebih lanjut, lihat Pengumuman Penyesuaian Penagihan IMM.

    API

    Item yang dapat ditagih

    Deskripsi

    CreateMediaConvertTask

    VideoFraming

    Biaya tangkapan video dihitung berdasarkan jumlah snapshot sukses.

Catatan

  • Tangkapan video hanya mendukung pemrosesan asinkron (metode x-oss-async-process).

  • Tangkapan video dapat gagal atau menghasilkan jumlah file gambar yang tidak sesuai karena timestamp video atau kerusakan aliran.

  • Akses anonim akan ditolak.

Pertanyaan Umum

  • Apakah fitur tangkapan video mendukung penyaringan layar hitam?

    Tidak.

  • Apakah fitur tangkapan video mendukung pembuatan thumbnail video pendek?

    Tidak, fitur ini tidak mendukung pembuatan thumbnail video pendek. Anda dapat menggunakan fitur konversi video ke gambar animasi. Untuk informasi lebih lanjut, lihat Konversi video ke gambar animasi.

  • Apakah ada batasan pada format video untuk tangkapan video?

    Tidak, tidak ada batasan. Semua format video utama didukung tanpa batasan apa pun.

  • Dalam mode cepat, jika waktu snapshot berada dalam detik pertama, apakah frame yang sebenarnya ditangkap adalah keyframe terdekat sebelum detik pertama?

    Ya, itu benar.

  • Saya ingin menampilkan frame tertentu dari video yang diunggah sebagai sampul, tetapi gambar abu-abu yang ditampilkan. Mengapa?

    Jika bitrate video terlalu tinggi, gambar abu-abu mungkin muncul selama proses tangkapan video. Untuk menghindari hal ini, Anda dapat mentranskode video terlebih dahulu.