All Products
Search
Document Center

Object Storage Service:Pengambilan frame

Last Updated:May 07, 2026

Anda dapat menggunakan fitur pengambilan frame untuk menangkap frame video sesuai kebutuhan dan mengonversinya ke format tertentu. Topik ini menjelaskan parameter yang dapat dikonfigurasi serta menyediakan contoh cara melakukan pengambilan frame.

Pengenalan fitur

Pengambilan frame mengacu pada proses mengekstraksi gambar frame tertentu dari video untuk menyimpan momen spesifik dalam video sebagai gambar statis.

image

Skenario

  • Snapshot: Simpan momen tertentu dalam video sebagai gambar statis untuk membuat poster.

  • Analis: Ekstrak keyframe untuk analisis selanjutnya, seperti pengenalan wajah dan deteksi objek.

  • Pembuatan thumbnail: Buat thumbnail atau gambar sampul untuk video.

  • Rangkuman pemutaran: Pilih beberapa momen kunci dari video untuk menghasilkan ringkasan atau pratinjau yang ringkas.

  • Berbagi dan perekaman tangkapan layar: Saat pengguna menonton video dan ingin menyimpan atau membagikan frame yang disukai, mereka dapat mengambil frame video pada saat tersebut.

Penggunaan

Prasyarat

Pengambilan frame video

Anda hanya dapat menggunakan SDK OSS untuk Java, Python, atau Go untuk menjalankan tugas pengambilan frame dalam mode asinkron.

Penting

Saat menentukan path output untuk pengambilan frame video, jangan sertakan ekstensi file seperti ".jpg". Jika Anda melakukannya, hanya snapshot terakhir yang disimpan. Tanpa ekstensi, sistem secara otomatis menambahkan nomor urut (misalnya, "_0_1.jpg") ke setiap nama file output. Untuk menyesuaikan nomor urut tersebut, Anda dapat mengonfigurasinya menggunakan variabel pemrosesan media.

Java

Jika Anda ingin menggunakan SDK OSS untuk Java, pastikan versi SDK adalah V3.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 {
        // Tentukan endpoint wilayah tempat bucket Anda berada.
        String endpoint = "https://oss-cn-hangzhou.aliyuncs.com";
        // Tentukan ID wilayah. Contoh: cn-hangzhou.
        String region = "cn-hangzhou";
        // Dapatkan kredensial akses dari variabel lingkungan. Sebelum menjalankan contoh ini, pastikan variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET telah diatur.
        EnvironmentVariableCredentialsProvider credentialsProvider = CredentialsProviderFactory.newEnvironmentVariableCredentialsProvider();
        // Tentukan nama bucket. Contoh: examplebucket.
        String bucketName = "examplebucket";
        // Tentukan nama objek output. Menggunakan nama file dengan ekstensi hanya menyimpan snapshot terakhir. Lihat catatan di atas.
        String targetKey = "dest.png";
        // Tentukan nama objek video sumber.
        String sourceKey = "src.mp4";

        // Buat instance OSSClient.
        // Panggil shutdown() saat instance OSSClient tidak lagi diperlukan untuk melepaskan sumber dayanya.
        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 untuk pemrosesan video dan parameter pengambilan frame 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

Jika Anda ingin menggunakan SDK OSS untuk Python, pastikan versi SDK adalah V2.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, pastikan variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET telah dikonfigurasi.
    auth = oss2.ProviderAuthV4(EnvironmentVariableCredentialsProvider())
    # Tentukan endpoint wilayah tempat bucket berada. Misalnya, jika bucket berada di wilayah Tiongkok (Hangzhou), atur endpoint menjadi https://oss-cn-hangzhou.aliyuncs.com.
    endpoint = 'https://oss-cn-hangzhou.aliyuncs.com'
    # Tentukan ID wilayah Alibaba Cloud tempat bucket berada. Contoh: cn-hangzhou.
    region = 'cn-hangzhou'

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

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

    # Tentukan nama frame yang diambil.
    target_key = 'dest.png'

    # Tentukan parameter pengambilan frame.
    animation_style = 'video/snapshots,f_jpg,w_100,h_100,scaletype_crop,inter_10000'

    # Buat instruksi pemrosesan, yang mencakup path penyimpanan, nama bucket yang diencode Base64, dan nama frame yang diambil.
    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

Jika Anda ingin menggunakan SDK OSS untuk Go, pastikan versi SDK adalah V3.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, pastikan variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET telah dikonfigurasi.
    provider, err := oss.NewEnvironmentVariableCredentialsProvider()
    if err != nil {
    fmt.Println("Error:", err)
    os.Exit(-1)
    }
    // Buat instance OSSClient.
    // Tentukan endpoint wilayah tempat bucket berada. Misalnya, jika bucket berada di wilayah Tiongkok (Hangzhou), atur endpoint menjadi https://oss-cn-hangzhou.aliyuncs.com. Sesuaikan dengan endpoint aktual Anda.
    // Tentukan ID wilayah Alibaba Cloud tempat bucket berada. Contoh: 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. Contoh: examplebucket.
    bucketName := "examplebucket"

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

    // Tentukan nama video sumber.
    sourceKey := "src.mp4"
    // Tentukan nama frame yang diambil.
    targetKey := "dest.png"

    // Tentukan parameter pengambilan frame.
    animationStyle := "video/snapshots,f_jpg,w_100,h_100,scaletype_crop,inter_10000"

    // Buat instruksi pemrosesan, yang mencakup path penyimpanan, nama bucket yang diencode Base64, dan nama frame yang diambil.
    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 dapat Anda konfigurasikan saat menggunakan pengambilan frame.

Parameter

Jenis

Wajib

Deskripsi

ss

int

Tidak

Titik waktu dalam video tempat pengambilan frame dimulai. Satuan: milidetik. Nilai valid:

  • 0 (default): Pengambilan frame dimulai dari titik awal video.

  • Bilangan bulat lebih besar dari 0: Pengambilan frame dimulai pada jumlah milidetik tertentu dalam video.

f

string

Ya

Format nilai kembali. Nilai valid:

  • jpg

  • png

m

string

Tidak

Mode pengambilan frame. Default adalah inter. Nilai valid:

  • inter: mode interval tetap. Parameter inter menetapkan interval pengambilan, dan parameter num menetapkan jumlah frame.

  • key: mode key frame. Hanya mengambil frame IDR dari video sumber. Parameter num menetapkan jumlah frame. Mode ini mengabaikan parameter inter.

  • avg: mode rata-rata. Mengambil sejumlah frame, yang ditentukan oleh num, pada interval waktu rata-rata. Mode ini mengabaikan parameter inter.

  • dhash: mode dhash. Mengambil frame pada interval tetap dan memilih frame dengan perubahan paling signifikan yang melebihi ambang batas tertentu. Parameter inter menetapkan interval pengambilan, num menetapkan jumlah frame, dan thr menetapkan ambang batas.

thr

int

Tidak

Ambang batas untuk pengambilan frame dalam mode dhash. Nilai yang lebih besar menghasilkan jumlah frame yang lebih sedikit. Nilainya harus bilangan bulat antara 0 hingga 100. Default adalah 0.

Catatan

Parameter ini hanya berlaku ketika m diatur ke dhash.

Mode dhash sensitif terhadap ambang batas ini. Kami menyarankan menetapkan parameter ini ke nilai tidak lebih dari 25 dan menyesuaikannya berdasarkan kasus penggunaan spesifik Anda.

num

int

Tidak

Jumlah frame yang akan diambil. Nilai 0 (default) berarti jumlah frame tidak dibatasi. Perilaku nilai default bervariasi berdasarkan mode pengambilan frame:

  • mode interval tetap: Mengambil frame hingga akhir video.

  • mode key frame: Mengambil frame hingga akhir video.

  • mode rata-rata: Parameter ini tidak boleh diatur ke 0.

  • mode dhash: Mengambil semua frame di mana perubahan konten melebihi ambang batas thr.

Penting

Jumlah frame yang sebenarnya diambil mungkin kurang dari nilai yang ditentukan karena durasi video dan parameter pengambilan frame lainnya.

inter

int

Tidak

Interval antar pengambilan frame, dalam milidetik. Nilai 0 (default) mengambil semua frame video.

Catatan

Jika nilai parameter ini kurang dari interval frame video (kebalikan dari laju frame), frame diambil dari video berdasarkan interval frame video tersebut.

w

int

Tidak

Lebar frame yang diambil. Satuan: piksel. Nilai valid: 32 hingga 4096. Secara default, lebar frame sama dengan lebar video.

h

int

Tidak

Tinggi frame yang diambil. Satuan: piksel. Nilai valid: 32 hingga 4096. Secara default, tinggi frame sama dengan tinggi video.

pw

int

Tidak

Persentase lebar frame yang diambil terhadap lebar video. Nilai valid: (0, 200]. Nilai default: 100.

Catatan

Jika Anda menentukan w dan pw sekaligus, sistem akan mengabaikan pw.

ph

int

Tidak

Persentase tinggi frame yang diambil terhadap tinggi video. Nilai valid: (0, 200]. Nilai default: 100.

Catatan

Jika Anda menentukan h dan ph sekaligus, sistem akan mengabaikan ph.

scaletype

string

Tidak

Mode pengubahan ukuran. Nilai valid:

  • crop: ubah ukuran dan potong frame.

  • stretch (default): rentangkan frame agar mengisi seluruh ruang.

  • fill: ubah ukuran frame dan pertahankan batas hitam.

  • fit: ubah ukuran frame secara proporsional dan hapus batas hitam.

Catatan

Aksi ini juga menggunakan parameter sys/saveas dan notify. Untuk informasi lebih lanjut, lihat simpan sebagai dan notifikasi pesan.

API Terkait

Operasi di atas menggunakan panggilan API. Untuk kustomisasi lanjutan, Anda dapat membuat permintaan REST API secara langsung. Hal ini mengharuskan Anda menghitung signature secara manual. Untuk informasi tentang menghitung header Authorization, lihat Signature Version 4 (disarankan).

Sebelum memanggil API, Anda harus mengikat bucket ke proyek IMM Anda. Untuk informasi lebih lanjut, lihat Bind a bucket.

Mengambil satu frame setiap 10 detik untuk AI

Frame gambar diambil setiap 10 detik untuk pelatihan atau inferensi model AI. Resolusi gambar output dibatasi hingga 512x512.

Informasi tentang video dan frame yang diambil

  • File sumber

    • Nama video: example.mkv

  • Notifikasi pesan

    • Topik MNS: example-mns-topic

  • Konfigurasi output

    • Informasi tentang frame yang diambil

      • Format: JPG

      • Interval pengambilan frame: 10 detik

      • Resolusi output: 512x512

      • Metode penskalaan: Ubah ukuran dan potong

    • Path penyimpanan gambar

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

Contoh

// Ambil frame dari 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

Mengambil 5 frame dengan interval 4 detik

Informasi pengambilan frame

  • File sumber

    • Nama file: example.mkv

  • Notifikasi pesan

    • Topik MNS: example-mns-topic

  • Konfigurasi output

    • Detail pengambilan frame

      • Format: png

      • Waktu mulai: 11 detik

      • Interval: 4 detik

      • Jumlah frame: 5

      • Resolusi output: Setengah lebar dan tinggi video sumber

    • Path penyimpanan file

      • file png: oss://outbucket/outobjprefix-%d.png

Contoh permintaan

// Ambil frame dari 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

Ekstrak keyframe event dari video

Gunakan algoritma dhash untuk menganalisis kesamaan konten antar frame video dan ekstrak frame dengan perubahan visual signifikan sebagai keyframe event, berdasarkan ambang batas yang ditentukan.

Penting

Sesuaikan parameter ambang batas (thr) sesuai kasus penggunaan spesifik Anda.

Informasi pengambilan frame

  • File sumber

    • Nama file: example.mkv

  • Notifikasi pesan

    • Topik MNS: example-mns-topic

  • Konfigurasi output

    • Detail pengambilan frame

      • Mode pengambilan frame: dhash

      • Format: jpg

      • Ambang batas: 15

      • Interval: 1 detik

      • Resolusi output: Sama dengan video sumber

    • Path penyimpanan file

      • file jpg: oss://outbucket/outobjprefix-%d.jpg

Contoh permintaan

// Ambil frame dari 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

Ekstrak 5 keyframe representatif untuk inferensi

Gunakan algoritma dhash untuk menganalisis kesamaan konten antar frame video dan ekstrak lima frame yang menunjukkan perubahan visual paling signifikan.

Informasi pengambilan frame

  • File sumber

    • Nama file: example.mkv

  • Notifikasi pesan

    • Topik MNS: example-mns-topic

  • Konfigurasi output

    • Detail pengambilan frame

      • Mode pengambilan frame: dhash

      • Format: jpg

      • Jumlah frame: 5

      • Interval: 1 detik

      • Resolusi output: Sama dengan video sumber

    • Path penyimpanan file

      • file jpg: oss://outbucket/outobjprefix-%d.jpg

Contoh permintaan

// Ambil frame dari 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

Ekstrak semua frame IDR dari video

Informasi pengambilan frame

  • File sumber

    • Nama file: example.mkv

  • Notifikasi pesan

    • Topik MNS: example-mns-topic

  • Konfigurasi output

    • Detail pengambilan frame

      • Mode pengambilan frame: key

      • Format: jpg

      • Resolusi output: Sama dengan video sumber

    • Path penyimpanan file

      • file jpg: oss://outbucket/outobjprefix-%d.jpg

Contoh permintaan

// Ambil frame dari 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

Mengambil 10 frame pada interval merata

Informasi pengambilan frame

  • File sumber

    • Nama file: example.mkv

  • Notifikasi pesan

    • Topik MNS: example-mns-topic

  • Konfigurasi output

    • Detail pengambilan frame

      • Mode pengambilan frame: avg

      • Format: jpg

      • Jumlah frame: 10

      • Resolusi output: Sama dengan video sumber

    • Path penyimpanan file

      • file jpg: oss://outbucket/outobjprefix-%d.jpg

Contoh permintaan

// Ambil frame dari 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 gambar sampul audio

Beberapa file audio berisi seni sampul tersemat. Anda dapat menggunakan fitur pengambilan frame untuk mengekstrak seni sampul tersebut.

Informasi pengambilan frame

  • File sumber

    • Nama file: example.flac

  • Notifikasi pesan

    • Topik MNS: example-mns-topic

  • Konfigurasi output

    • Detail pengambilan frame

      • Format: jpg

      • Resolusi output: Sama dengan seni sampul tersemat

    • Path penyimpanan file

      • file jpg: oss://outbucket/cover.jpg

Contoh permintaan

// Ambil frame dari file example.flac.
POST /example.flac?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

Menggunakan fitur framing video memanggil layanan IMM dan menghasilkan item yang dapat ditagih berikut di OSS dan IMM:

  • OSS: Untuk informasi harga lengkap, lihat Harga OSS

    API

    Item yang dapat ditagih

    Deskripsi

    GetObject

    Permintaan GET

    Biaya didasarkan pada jumlah permintaan yang berhasil.

    Biaya trafik internet arah keluar

    Memanggil operasi GetObject dengan titik akhir publik (misalnya, oss-cn-hangzhou.aliyuncs.com) atau titik akhir akselerasi transfer (misalnya, oss-accelerate.aliyuncs.com) mengakibatkan biaya trafik internet arah keluar. Biaya ini didasarkan pada jumlah data yang ditransfer.

    Pengambilan data Akses Jarang

    Mengambil data dari kelas penyimpanan Akses Jarang mengakibatkan biaya pengambilan data berdasarkan jumlah data yang diambil.

    Pengambilan data baca langsung arsip

    Membaca objek arsip dari bucket dengan fitur baca langsung arsip yang diaktifkan mengakibatkan biaya pengambilan data berdasarkan jumlah data yang diambil.

    Akselerasi Transfer

    Jika Akselerasi Transfer diaktifkan, mengakses bucket Anda melalui nama domain akselerasi transfer mengakibatkan biaya Akselerasi Transfer berdasarkan jumlah data yang ditransfer.

    PutObject

    Permintaan PUT

    Biaya didasarkan pada jumlah permintaan yang berhasil.

    Biaya penyimpanan

    Biaya penyimpanan didasarkan pada kelas penyimpanan, ukuran, dan durasi penyimpanan objek.

    HeadObject

    Permintaan GET

    Biaya didasarkan pada jumlah permintaan yang berhasil.

  • IMM: Untuk informasi harga lengkap, lihat Item yang dapat ditagih IMM

    Penting

    Terhitung mulai pukul 11.00 (UTC+8) pada 28 Juli 2025, harga layanan framing video IMM akan diturunkan. Perubahan ini berlaku untuk item yang dapat ditagih VideoFraming. Untuk informasi lebih lanjut, lihat Pengumuman Penyesuaian Harga IMM.

    API

    Item yang dapat ditagih

    Deskripsi

    CreateMediaConvertTask

    VideoFraming

    Biaya framing video didasarkan pada jumlah frame yang berhasil diambil.

Catatan penggunaan

  • Pengambilan frame hanya mendukung pemrosesan asinkron (x-oss-async-process).

  • Pengambilan frame mungkin gagal atau menghasilkan jumlah frame yang salah karena kerusakan cap waktu video atau aliran kode.

  • Akses anonim akan ditolak.

FAQ

  • Apakah pengambilan frame menyaring layar hitam?

    Tidak, pengambilan frame tidak menyaring layar hitam.

  • Apakah pengambilan frame menghasilkan video thumbnail?

    Tidak, pengambilan frame tidak menghasilkan video thumbnail. Jika Anda ingin menghasilkan video thumbnail, Anda dapat menggunakan fitur konversi video ke gambar animasi. Untuk informasi lebih lanjut, lihat Konversi video ke gambar animasi.

  • Apakah pengambilan frame memberlakukan batasan pada format video?

    Tidak. Pengambilan frame mendukung semua format video utama.

  • Dalam mode cepat, jika frame yang diminta menggunakan pengambilan frame berada di detik pertama, apakah frame yang sebenarnya diambil mendekati keyframe terbaru sebelum detik pertama?

    Ya.

  • Apa yang harus saya lakukan jika gambar skala abu-abu, bukan frame tertentu, ditampilkan sebagai sampul video yang saya unggah?

    Masalah ini dapat terjadi karena bitrate video terlalu tinggi. Untuk mencegah masalah ini, Anda dapat melakukan transkode video terlebih dahulu.