全部产品
Search
文档中心

Object Storage Service:Simpan sebagai

更新时间:Nov 10, 2025

Topik ini menjelaskan fitur Save As, mencakup konsep, catatan penting, parameter, serta contoh.

Apa itu Simpan Sebagai

Secara default, operasi pemrosesan sinkron tidak menyimpan file hasil. Untuk menyimpan file, Anda perlu menambahkan parameter Simpan Sebagai ke permintaan dan menentukan bucket tujuan. Operasi pemrosesan asinkron berbasis tugas hanya mengembalikan ID tugas. Oleh karena itu, gunakan parameter Simpan Sebagai untuk menyimpan file yang telah diproses ke bucket agar dapat diakses nanti.

Catatan

  • Persyaratan Izin:

    • Operasi Simpan Sebagai memerlukan izin oss:PostProcessTask untuk bucket sumber dan izin oss:PutObject untuk objek tujuan.

    • Daftar kontrol akses (ACL) file yang disimpan secara default akan mewarisi ACL dari bucket. ACL kustom tidak didukung.

  • Persyaratan Wilayah: Bucket sumber dan bucket tujuan dapat sama atau berbeda, tetapi harus termasuk dalam akun Alibaba Cloud yang sama dan berada di wilayah yang sama.

  • Metode Simpan Sebagai: Menyimpan file yang diproses langsung dari URL ke bucket tidak didukung. Anda harus menyimpan file yang telah diproses ke komputer lokal terlebih dahulu, lalu mengunggahnya ke bucket tujuan.

  • Durasi Penyimpanan File Tersimpan: Untuk menyesuaikan durasi penyimpanan file tersimpan, Anda dapat mengonfigurasi kebijakan kedaluwarsa file menggunakan aturan siklus hidup. Untuk informasi lebih lanjut, lihat Pengenalan Aturan Siklus Hidup.

Parameter

Saat menggunakan parameter sys/saveas, sertakan opsi berikut:

Opsi

Arti

o

Nama objek tujuan. Nama tersebut harus dienkripsi dalam format URL-safe Base64. Untuk informasi lebih lanjut, lihat Enkode watermark.

Catatan

Opsi o mendukung variabel. Format variabel adalah {varname} atau kombinasi dari string dan {varname}. Untuk informasi lebih lanjut, lihat Variabel.

b

Nama bucket tujuan. Nama tersebut harus dienkripsi dalam format URL-safe Base64. Jika Anda tidak menentukan bucket tujuan, file akan disimpan ke bucket sumber secara default.

Catatan

Opsi b mendukung variabel. Format variabel adalah {varname} atau kombinasi dari string dan {varname}. Untuk informasi lebih lanjut, lihat Variabel.

Gunakan Alibaba Cloud SDK

Anda dapat menyimpan file yang telah diproses menggunakan Alibaba Cloud SDK ke bucket tertentu dengan menambahkan parameter `sys/saveas`. Kode berikut menunjukkan contoh cara menyimpan citra yang telah diproses menggunakan SDK umum. Untuk contoh penggunaan SDK lainnya, lihat Ikhtisar.

import com.aliyun.oss.*;
import com.aliyun.oss.common.auth.*;
import com.aliyun.oss.common.comm.SignVersion;
import com.aliyun.oss.common.utils.BinaryUtil;
import com.aliyun.oss.common.utils.IOUtils;
import com.aliyun.oss.model.GenericResult;
import com.aliyun.oss.model.ProcessObjectRequest;
import java.util.Formatter;

public class Demo {
    public static void main(String[] args) throws Throwable {
        // Wilayah Tiongkok (Hangzhou) digunakan dalam contoh ini. Tentukan endpoint sebenarnya.
        String endpoint = "https://oss-cn-hangzhou.aliyuncs.com";
        // Tentukan ID wilayah yang sesuai dengan endpoint. Contohnya, cn-hangzhou.
        String region = "cn-hangzhou";
        // Kami sangat menyarankan agar Anda tidak menyimpan kredensial akses di kode proyek Anda. Ini dapat menyebabkan kredensial akses Anda bocor, yang mengancam keamanan semua sumber daya di akun Anda. Contoh ini menunjukkan cara memperoleh kredensial akses dari variabel lingkungan. Sebelum menjalankan contoh ini, konfigurasikan variabel lingkungan.
        EnvironmentVariableCredentialsProvider credentialsProvider = CredentialsProviderFactory.newEnvironmentVariableCredentialsProvider();
        // Tentukan nama bucket. Contohnya, examplebucket.
        String bucketName = "examplebucket";
        // Tentukan jalur lengkap objek. Jalur lengkap tidak boleh berisi nama bucket.
        String sourceImage = "exampleimage.png";

        // Buat instance OSSClient.
        // Saat instance OSSClient tidak lagi digunakan, panggil metode shutdown untuk melepaskan sumber daya.
        ClientBuilderConfiguration clientBuilderConfiguration = new ClientBuilderConfiguration();
        // Secara eksplisit nyatakan penggunaan algoritma tanda tangan V4.
        clientBuilderConfiguration.setSignatureVersion(SignVersion.V4);
        OSS ossClient = OSSClientBuilder.create()
                .endpoint(endpoint)
                .credentialsProvider(credentialsProvider)
                .clientConfiguration(clientBuilderConfiguration)
                .region(region)
                .build();

        try {
            // Ubah ukuran citra menjadi ukuran tetap 100 px × 100 px.
            StringBuilder sbStyle = new StringBuilder();
            Formatter styleFormatter = new Formatter(sbStyle);
            String styleType = "image/resize,m_fixed,w_100,h_100";
            // Beri nama citra yang diproses example-resize.png dan simpan di bucket saat ini.
            // Tentukan jalur lengkap objek. Jalur lengkap tidak boleh berisi nama bucket.
            String targetImage = "example-resize.png";
            styleFormatter.format("%s|sys/saveas,o_%s,b_%s", styleType,
                    BinaryUtil.toBase64String(targetImage.getBytes()),
                    BinaryUtil.toBase64String(bucketName.getBytes()));
            System.out.println(sbStyle.toString());
            ProcessObjectRequest request = new ProcessObjectRequest(bucketName, sourceImage, sbStyle.toString());
            GenericResult processResult = ossClient.processObject(request);
            String json = IOUtils.readStreamAsString(processResult.getResponse().getContent(), "UTF-8");
            processResult.getResponse().getContent().close();
            System.out.println(json);
        } catch (OSSException oe) {
            System.out.println("Tangkap OSSException, yang berarti permintaan Anda sampai ke OSS, "
                    + "tetapi ditolak dengan tanggapan kesalahan karena suatu alasan.");
            System.out.println("Pesan Kesalahan:" + oe.getErrorMessage());
            System.out.println("Kode Kesalahan:" + oe.getErrorCode());
            System.out.println("ID Permintaan:" + oe.getRequestId());
            System.out.println("ID Host:" + oe.getHostId());
        } catch (ClientException ce) {
            System.out.println("Tangkap ClientException, yang berarti klien mengalami "
                    + "masalah internal serius saat mencoba berkomunikasi dengan OSS, "
                    + "seperti tidak dapat mengakses jaringan.");
            System.out.println("Pesan Kesalahan:" + ce.getMessage());
        } finally {
            if (ossClient != null) {
                ossClient.shutdown();
            }
        }
    }
}
<?php
if (is_file(__DIR__ . '/../autoload.php')) {
    require_once __DIR__ . '/../autoload.php';
}
if (is_file(__DIR__ . '/../vendor/autoload.php')) {
    require_once __DIR__ . '/../vendor/autoload.php';
}

use OSS\OssClient;

// Dapatkan kredensial akses dari variabel lingkungan. Sebelum menjalankan contoh ini, pastikan bahwa variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET dikonfigurasi.
$accessKeyId = getenv("OSS_ACCESS_KEY_ID");
$accessKeySecret = getenv("OSS_ACCESS_KEY_SECRET");
// Setel yourEndpoint ke endpoint wilayah tempat bucket berada. Misalnya, jika bucket berada di wilayah Tiongkok (Hangzhou), setel endpoint ke https://oss-cn-hangzhou.aliyuncs.com.
$endpoint = "yourEndpoint";
// Tentukan nama bucket. Contohnya, examplebucket.
$bucket= "examplebucket";
// Tentukan jalur lengkap objek sumber. Contohnya, exampledir/exampleobject.jpg. Jalur lengkap tidak boleh berisi nama bucket.
$object = "exampledir/exampleobject.jpg";
// Tentukan jalur lengkap objek tujuan. Contohnya, example-new.jpg.
$save_object = "example-new.jpg";

function base64url_encode($data)
{
    return rtrim(strtr(base64_encode($data), '+/', '-_'), '=');
}

$ossClient = new OssClient($accessKeyId, $accessKeySecret, $endpoint, false);
// Jika citra tujuan tidak ada di bucket yang ditentukan, unggah citra ke bucket tujuan.
// $ossClient->uploadFile($bucket, $object, "D:\\localpath\\exampleobject.jpg");

// Ubah ukuran citra menjadi ukuran tetap 100 px × 100 px, lalu putar 90 derajat.
$style = "image/resize,m_fixed,w_100,h_100/rotate,90";

$process = $style.
           '|sys/saveas'.
           ',o_'.base64url_encode($save_object).
           ',b_'.base64url_encode($bucket);

// Beri nama citra yang diproses example-new.png dan simpan di bucket saat ini.
$result = $ossClient->processObject($bucket, $object, $process);
// Cetak hasil pemrosesan.
print($result);
const OSS = require('ali-oss');

const client = new OSS({
  // Setel yourregion ke wilayah tempat bucket berada. Misalnya, jika bucket berada di wilayah Tiongkok (Hangzhou), setel wilayah ke oss-cn-hangzhou.
  region: 'yourregion',
  // Dapatkan kredensial akses dari variabel lingkungan. Sebelum menjalankan contoh ini, pastikan bahwa variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET dikonfigurasi.
  accessKeyId: process.env.OSS_ACCESS_KEY_ID,
  accessKeySecret: process.env.OSS_ACCESS_KEY_SECRET,
  // Tentukan nama bucket.
  bucket: 'yourbucketname'
});

const sourceImage = 'sourceObject.png';
const targetImage = 'targetObject.jpg';
async function processImage(processStr, targetBucket) {
  const result = await client.processObjectSave(
    sourceImage,
    targetImage,
    processStr,
    targetBucket
  );
  console.log(result.res.status);
}

// Secara permanen ubah ukuran citra.
processImage("image/resize,m_fixed,w_100,h_100")

// Secara permanen potong citra.
processImage("image/crop,w_100,h_100,x_100,y_100,r_1")

// Secara permanen putar citra.
processImage("image/rotate,90")

// Secara permanen tajamkan citra.
processImage("image/sharpen,100")

// Secara permanen tambahkan watermark ke citra.
processImage("image/watermark,text_SGVsbG8g5Zu-54mH5pyN5YqhIQ")

// Secara permanen konversi format citra.
processImage("image/format,jpg")

// Secara permanen konversi format citra dan atur bucket tujuan untuk menyimpan hasilnya.
processImage("image/format,jpg", "target bucket")
# -*- coding: utf-8 -*-
import os
import base64
import oss2
from oss2.credentials import EnvironmentVariableCredentialsProvider

# Dapatkan kredensial akses dari variabel lingkungan. Sebelum menjalankan contoh ini, pastikan bahwa variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET dikonfigurasi.
auth = oss2.ProviderAuth(EnvironmentVariableCredentialsProvider())
# Setel endpoint ke yang sesuai dengan wilayah tempat bucket berada. Misalnya, jika bucket berada di wilayah Tiongkok (Hangzhou), setel endpoint ke https://oss-cn-hangzhou.aliyuncs.com.
endpoint = 'https://oss-cn-hangzhou.aliyuncs.com'
# Tentukan nama bucket tempat citra sumber disimpan.
source_bucket_name = 'srcbucket'
# Tentukan nama bucket yang digunakan untuk menyimpan citra yang diproses. Bucket ini harus berada di wilayah yang sama dengan bucket sumber.
target_bucket_name = 'destbucket'
# Tentukan nama citra sumber. Jika citra tidak berada di direktori root bucket, Anda harus menentukan jalur lengkap file. Contohnya, example/example.jpg.
source_image_name = 'example/example.jpg'

# Tentukan instance bucket. Semua metode terkait file harus dipanggil melalui instance bucket.
bucket = oss2.Bucket(auth, endpoint, source_bucket_name)

# Ubah ukuran citra menjadi ukuran tetap 100 px × 100 px.
style = 'image/resize,m_fixed,w_100,h_100'
# Tentukan nama citra yang diproses. Jika citra tidak berada di direktori root bucket, Anda harus menentukan jalur lengkap file. Contohnya, exampledir/example.jpg.
target_image_name = 'exampledir/example.jpg'
process = "{0}|sys/saveas,o_{1},b_{2}".format(style, 
    oss2.compat.to_string(base64.urlsafe_b64encode(oss2.compat.to_bytes(target_image_name))),
    oss2.compat.to_string(base64.urlsafe_b64encode(oss2.compat.to_bytes(target_bucket_name))))
result = bucket.process_object(source_image_name, process)
print(result)
package main

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

func main() {
    /// Dapatkan kredensial akses dari variabel lingkungan. Sebelum menjalankan contoh ini, pastikan bahwa variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET dikonfigurasi.
    provider, err := oss.NewEnvironmentVariableCredentialsProvider()
    if err != nil {
        fmt.Println("Error:", err)
        os.Exit(-1)
    }

    // Buat instance OSSClient.
    // Setel yourEndpoint ke endpoint bucket. Misalnya, jika bucket berada di wilayah Tiongkok (Hangzhou), setel endpoint ke https://oss-cn-hangzhou.aliyuncs.com. Atur endpoint wilayah lain sesuai kebutuhan.
    client, err := oss.New("yourEndpoint", "", "", oss.SetCredentialsProvider(&provider))
    if err != nil {
        fmt.Println("Error:", err)
        os.Exit(-1)
    }   

    // Tentukan nama bucket tempat citra sumber disimpan. Contohnya, srcbucket.
    bucketName := "srcbucket"
    bucket, err := client.Bucket(bucketName)
    if err != nil {
     HandleError(err)
    }
    // Tentukan nama citra sumber. Jika citra tidak berada di direktori root bucket, tentukan jalur lengkap file. Contohnya, example/example.jpg.
    sourceImageName := "example/example.jpg"
    // Tentukan nama bucket yang digunakan untuk menyimpan citra yang diproses. Bucket ini harus berada di wilayah yang sama dengan bucket sumber.
    targetBucketName := "destbucket"
    // Tentukan nama citra yang diproses. Jika citra tidak berada di direktori root bucket, tentukan jalur lengkap file. Contohnya, exampledir/example.jpg.
    targetImageName = "exampledir/example.jpg"
    // Ubah ukuran citra menjadi ukuran tetap 100 px × 100 px dan simpan ke bucket yang ditentukan.
    style = "image/resize,m_fixed,w_100,h_100"
    process = fmt.Sprintf("%s|sys/saveas,o_%v,b_%v", style, base64.URLEncoding.EncodeToString([]byte(targetImageName)), base64.URLEncoding.EncodeToString([]byte(targetBucketName)))
    result, err = bucket.ProcessObject(sourceImageName, process)
    if err != nil {
    HandleError(err)
    } else {
        fmt.Println(result)
    }
}                      
#include <alibabacloud/oss/OssClient.h>
#include <sstream>
using namespace AlibabaCloud::OSS;

int main(void)
{
    /* Inisialisasi informasi tentang akun Alibaba Cloud. */
            
    /* Tentukan endpoint yang sesuai dengan wilayah tempat bucket berada. Misalnya, jika bucket berada di wilayah Tiongkok (Hangzhou), setel endpoint ke https://oss-cn-hangzhou.aliyuncs.com. */
    std::string Endpoint = "yourEndpoint";
    /* Tentukan nama bucket. Contohnya, examplebucket. */
    std::string BucketName = "examplebucket";
    /* Tentukan nama citra sumber. Jika citra tidak berada di direktori root bucket, tentukan jalur lengkap file. Contohnya, example/example.jpg. */
    std::string SourceObjectName = "example/example.jpg";
    /* Tentukan nama citra yang diproses. Jika citra tidak berada di direktori root bucket, tentukan jalur lengkap file. Contohnya, exampledir/example.jpg. */
    std::string TargetObjectName = "exampledir/example.jpg";

    /* Inisialisasi sumber daya seperti jaringan. */
    InitializeSdk();

    ClientConfiguration conf;
    /* Dapatkan kredensial akses dari variabel lingkungan. Sebelum menjalankan contoh ini, pastikan bahwa variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET dikonfigurasi. */
    auto credentialsProvider = std::make_shared<EnvironmentVariableCredentialsProvider>();
    OssClient client(Endpoint, credentialsProvider, conf);

    /* Ubah ukuran citra menjadi ukuran tetap 100 px × 100 px dan simpan ke bucket saat ini. */
    std::string Process = "image/resize,m_fixed,w_100,h_100";
    std::stringstream ss;
    ss  << Process 
    <<"|sys/saveas"
    << ",o_" << Base64EncodeUrlSafe(TargetObjectName)
    << ",b_" << Base64EncodeUrlSafe(BucketName);
    ProcessObjectRequest request(BucketName, SourceObjectName, ss.str());
    auto outcome = client.ProcessObject(request);

    /* Lepaskan sumber daya seperti jaringan. */
    ShutdownSdk();
    return 0;
}

Menggunakan REST API

Untuk menyesuaikan program Anda, Anda dapat langsung mengirim permintaan REST API serta menulis kode secara manual guna menghitung tanda tangan.

Saat memanggil operasi PostObject untuk memproses file, sertakan x-oss-process di badan permintaan dan tambahkan parameter sys/saveas ke permintaan guna menyimpan file yang telah diproses ke bucket yang ditentukan. Untuk informasi lebih lanjut, lihat PostObject.

Bagian berikut menyajikan contoh permintaan untuk berbagai skenario Save As.

Proses sebuah citra menggunakan parameter pemrosesan dan simpan ke bucket yang ditentukan

POST /ObjectName?x-oss-process HTTP/1.1
Host: oss-example.oss.aliyuncs.com
Content-Length: 247
Date: Jumat, 04 Mei 2012 03:21:12 GMT
Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,AdditionalHeaders=content-length,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e

// Ubah ukuran citra tujuan test.jpg secara proporsional menjadi lebar 100 px dan simpan ke bucket bernama test.
x-oss-process=image/resize,w_100|sys/saveas,o_dGVzdC5qcGc,b_dGVzdA

Proses sebuah citra menggunakan parameter gaya dan simpan ke bucket yang ditentukan

POST /ObjectName?x-oss-process HTTP/1.1
Host: oss-example.oss.aliyuncs.com
Content-Length: 247
Date: Jum, 04 Mei 2012 03:22:13 GMT
Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,AdditionalHeaders=content-length,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e

// Proses citra tujuan test.jpg menggunakan gaya bernama examplestyle dan simpan citra yang telah diproses ke bucket bernama test.
x-oss-process=style/examplestyle|sys/saveas,o_dGVzdC5qcGc,b_dGVzdA

Ubah dokumen menggunakan parameter pemrosesan dan simpan ke bucket yang ditentukan

Informasi konversi

  • Sebelum Konversi:

    • Tipe File: DOCX

    • Nama File: example.docx

  • Setelah Konversi:

    • Tipe File: PNG

    • Path Penyimpanan File: oss://test-bucket/doc_images/

Contoh permintaan

POST /exmaple.docx?x-oss-async-process HTTP/1.1
Host: doc-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

// Ubah file DOCX example.docx menjadi file Citra PNG dan simpan Citra yang dikonversi di path oss://test-bucket/doc_images/.
x-oss-async-process=doc/convert,target_png,source_docx|sys/saveas,b_dGVzdC1idWNrZXQ,o_ZG9jX2ltYWdlcy97aW5kZXh9LnBuZw

Ubah dokumen menggunakan parameter gaya dan simpan di bucket yang ditentukan

Informasi konversi

  • Sebelum Konversi:

    • Tipe File: DOCX

    • Nama File: example.docx

  • Setelah Konversi:

    Path Penyimpanan File: oss://test-bucket/doc_images/

Contoh permintaan

POST /exmaple.docx?x-oss-async-process HTTP/1.1
Host: doc-demo.oss-cn-hangzhou.aliyuncs.com
Date: Jum, 28 Okt 2022 06:40:10 GMT
Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e
 
 // Ubah file example.docx menggunakan gaya bernama examplestyle dan simpan file yang telah dikonversi di path oss://test-bucket/doc_images/.
x-oss-async-process=style/examplestyle|sys/saveas,b_dGVzdC1idWNrZXQ,o_ZG9jX2ltYWdlcy97aW5kZXh9LnBuZw

Transkode video menggunakan parameter pemrosesan dan simpan ke bucket yang ditentukan

Informasi transkoding

  • Sebelum Transkoding

    • Format Video: AVI

    • Nama Video: example.avi

  • Setelah Transkoding

    • Informasi Video

      • Format Video: MP4

      • Nama Video: outobjprefix.mp4

      • Format Aliran Video: H.265

      • Resolusi Video: 1920×1080

      • Laju Frame Video: 30 fps

      • Bitrate Video: 2 Mbps

    • Informasi Audio

      • Format Aliran Audio: AAC

      • Bitrate Audio: 100 Kbps

      • Aliran Subtitle: Dinonaktifkan

    • Path Penyimpanan Video: oss://outbucket/outobj.mp4

Contoh permintaan

POST /exmaple.avi?x-oss-async-process HTTP/1.1
Host: video-demo.oss-cn-hangzhou.aliyuncs.com
Date: Jum, 28 Okt 2022 06:40:10 GMT
Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e

// Transkode file example.avi. Kontainer media output adalah MP4. Format aliran video adalah H.265, resolusi adalah 1920x1080, laju frame adalah 30 fps, dan bitrate video adalah 2 Mbps. Format aliran audio adalah AAC dan bitrate audio adalah 100 Kbps. Aliran subtitle dinonaktifkan. Setelah transkoding, simpan file hasil sebagai oss://outbucket/outobj.mp4.
x-oss-async-process=video/convert,f_mp4,vcodec_h265,s_1920x1080,vb_2000000,fps_30,acodec_aac,ab_100000,sn_1|sys/saveas,o_b3V0b2JqLnthdXRvZXh0fQo,o_b3V0b2JqcHJlZml4LnthdXRvZXh0fQ

Transkode video menggunakan parameter gaya dan simpan ke bucket yang ditentukan

Informasi transkoding

  • Sebelum Transkoding

    • Format Video: AVI

    • Nama Video: example.avi

  • Setelah Transkoding

    • Format: MP4

    • Nama: outobjprefix.mp4

    • Path: oss://outbucket/outobjprefix.mp4

Contoh permintaan

POST /exmaple.avi?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
 
 // Transkode file example.avi menggunakan gaya bernama examplestyle. Setelah transkoding, simpan file hasilnya sebagai oss://outbucket/outobjprefix.mp4.
x-oss-async-process=style/examplestyle|sys/saveas,b_b3V0YnVja2V0,o_b3V0b2JqcHJlZml4LnthdXRvZXh0fQ

Hasilkan citra animasi dari video menggunakan parameter pemrosesan dan simpan ke bucket yang ditentukan

Informasi snapshot

  • Graf Sebelum Rotasi

    • Nama Video: example.mkv

  • Setelah Rotasi Graf

    • Informasi Citra Animasi

      • Format Citra Animasi: GIF

      • Interval Video: 1 s

      • Resolusi Citra Keluaran: 100×100

    • Path Penyimpanan File

      • File GIF: oss://outbucket/outobjprefix.gif

Contoh permintaan

POST /exmaple.mkv?x-oss-async-process HTTP/1.1
Host: video-demo.oss-cn-hangzhou.aliyuncs.com
Date: Jum, 28 Okt 2022 06:40:10 GMT
Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e
 
// Hasilkan citra animasi dari file example.mkv. Format citra animasi adalah GIF, lebar citra keluaran adalah 100 px, tingginya 100 px, dan intervalnya 1 detik. Setelah konversi, simpan file hasilnya sebagai oss://outbucket/outobjprefix.gif.
x-oss-async-process=video/animation,f_gif,w_100,h_100,inter_1000|sys/saveas,b_b3V0YnVja2V0,o_b3V0b2JqcHJlZml4LnthdXRvZXh0fQ

Hasilkan citra animasi dari video menggunakan parameter gaya dan simpan ke bucket yang ditentukan

Informasi snapshot

  • Sebelum menghasilkan citra animasi:

    • Nama Video: example.mkv

  • Informasi citra animasi:

    • Format citra animasi: GIF

  • Setelah rotasi graf:

    • Path penyimpanan file:

      • File GIF: oss://outbucket/outobjprefix.gif

Contoh permintaan

POST /example.mkv?x-oss-async-process HTTP/1.1
Host: video-demo.oss-cn-hangzhou.aliyuncs.com
Date: Jum, 28 Okt 2022 06:40:10 GMT
Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e
 
// Hasilkan citra animasi dari file example.mkv menggunakan gaya bernama examplestyle. Setelah konversi, simpan file yang dihasilkan sebagai oss://outbucket/outobjprefix.gif.
x-oss-async-process=style/examplestyle|sys/saveas,b_b3V0YnVja2V0,o_b3V0b2JqcHJlZml4LnthdXRvZXh0fQ

Hasilkan Sprite dari video menggunakan parameter pemrosesan dan simpan ke bucket yang ditentukan

Informasi snapshot

  • Sebelum menghasilkan sprite

    • Nama Video: example.mkv

  • Setelah menghasilkan sprite

    • Informasi Sprite

      • Format Sprite: JPG

      • Interval frame: 10 s

      • Resolusi sub-citra: 100×100

      • Konfigurasi Sprite: 10 gambar per baris dan 10 gambar per kolom, dengan padding dan margin keduanya disetel ke 0.

    • Path penyimpanan file

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

Contoh permintaan

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
 
// Hasilkan sprite dari file example.mkv.
x-oss-async-process=video/sprite,f_jpg,sw_100,sh_100,inter_10000,tw_10,th_10,pad_0,margin_0|sys/saveas,b_b3V0YnVja2V0,o_b3V0b2JqcHJlZml4LXtpbmRleH0ue2F1dG9leHR9Cg

Hasilkan sprite dari video menggunakan parameter gaya dan simpan ke bucket yang ditentukan

Informasi snapshot

  • Sebelum Menghasilkan Sprite

    • Nama Video: example.mkv

  • Setelah Menghasilkan Sprite

    • Informasi Sprite

      • Format Sprite: JPG

    • Path Penyimpanan File

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

Contoh permintaan

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
 
// Hasilkan sprite dari file example.mkv menggunakan gaya bernama examplestyle.
x-oss-async-process=style/examplestyle|sys/saveas,b_b3V0YnVja2V0,o_b3V0b2JqcHJlZml4LXtpbmRleH0ue2F1dG9leHR9Cg

Ambil tangkapan video menggunakan parameter pemrosesan dan simpan ke bucket yang ditentukan

Informasi Snapshot

  • Sebelum mengambil tangkapan:

    • Nama Video: example.mkv

  • Setelah mengambil tangkapan:

    • Informasi Snapshot

      • Format Snapshot: JPG

      • Interval video: 10 s

      • Resolusi citra keluaran: 100×100

    • Path penyimpanan file:

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

Contoh permintaan

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
 
// Ambil tangkapan video dari file example.mkv.
x-oss-async-process=video/snapshots,f_jpg,w_100,h_100,scaletype_crop,inter_10000|sys/saveas,b_b3V0YnVja2V0,o_b3V0b2JqcHJlZml4LXtpbmRleH0ue2F1dG9leHR9Cg

Ambil tangkapan video menggunakan parameter gaya dan simpan ke bucket yang ditentukan

Informasi tangkapan video

  • Sebelum mengambil tangkapan:

    • Nama Video: example.mkv

  • Setelah mengambil tangkapan:

    • Informasi Snapshot

      • Format tangkapan video: JPG

    • Path penyimpanan file:

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

Contoh permintaan

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
 
// Ambil tangkapan video dari file example.mkv menggunakan gaya bernama examplestyle.
x-oss-async-process=style/examplestyle|sys/saveas,b_b3V0YnVja2V0,o_b3V0b2JqcHJlZml4LXtpbmRleH0ue2F1dG9leHR9Cg

Menggabungkan video menggunakan parameter pemrosesan dan menyimpan hasilnya ke bucket yang ditentukan

Informasi penggabungan

  • Sebelum penggabungan:

    • Nama Video: pre.mov, example.mkv, sur.mov

  • Metode pemrosesan:

    • Durasi dan urutan penggabungan:

      Nama video

      Pesanan

      Durasi

      pre.mov

      1

      Seluruh video

      example.mkv

      2

      Dari detik ke-10 hingga akhir

      sur.mov

      3

      Dari awal hingga detik ke-10

  • Setelah penggabungan:

    • Informasi Video

      • Format video: H.264

      • Laju Frame Video: 25 fps

      • Bitrate video: 1 Mbps

    • Informasi Audio

      • Format Audio: AAC

      • Konfigurasi audio: laju sampel 48 kHz, dua saluran suara

      • Bitrate audio: 96 Kbps

    • Path penyimpanan file:

      • File MP4: oss://outbucket/outobjprefix.mp4

Contoh permintaan

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
 
// Menggabungkan video dengan file example.mkv.
x-oss-async-process=video/concat,ss_10000,f_mp4,vcodec_h264,fps_25,vb_1000000,acodec_aac,ab_96000,ar_48000,ac_2,align_1/pre,o_cHJlLm1vdgo/sur,o_c3VyLm1vdg,t_10000|sys/saveas,b_b3V0YnVja2V0,o_b3V0b2JqcHJlZml4LnthdXRvZXh0fQ

Transkode file audio menggunakan parameter pemrosesan dan simpan ke bucket yang ditentukan

Informasi Transkoding

  • Sebelum Transkoding

    • Format Audio: MP3

    • Nama Audio: example.mp3

  • Metode Pemrosesan

    • Durasi Transkoding: Audio ditranskode selama 60.000 milidetik, dimulai dari milidetik ke-1.000 file media input.

  • Setelah Transkoding

    • Informasi Audio

      • Format Audio: AAC

      • Konfigurasi Audio: Laju sampel asli dan jumlah saluran suara dipertahankan.

      • Bitrate Audio: 96 Kbps

    • Path Penyimpanan File

      • File AAC: oss://outbucket/outobjprefix.aac

Contoh permintaan

POST /exmaple.mp3?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
 
// Transkode file audio example.mp3.
x-oss-async-process=audio/convert,ss_10000,t_60000,f_aac,ab_96000|sys/saveas,b_b3V0YnVja2V0,o_b3V0b2JqcHJlZml4LnthdXRvZXh0fQ

Transkode file audio menggunakan parameter gaya dan simpan ke bucket yang ditentukan

Informasi transkoding

  • Sebelum Transkoding

    • Format Audio: MP3

    • Nama Audio: example.mp3

  • Setelah Transkoding

    • Informasi Audio

      • Format Audio: AAC

    • Path Penyimpanan File

      • File AAC: oss://outbucket/outobjprefix.aac

Contoh permintaan

POST /exmaple.mp3?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
 
// Transkode file audio example.mp3 menggunakan gaya bernama examplestyle.
x-oss-async-process=style/examplestyle|sys/saveas,b_b3V0YnVja2V0,o_b3V0b2JqcHJlZml4LnthdXRvZXh0fQ

Menggabungkan file audio menggunakan parameter pemrosesan dan menyimpan hasilnya ke bucket yang ditentukan

Informasi penggabungan

  • Sebelum Penggabungan

    • Nama Audio: pre1.mp3, pre2.wav, example.mp3, sur1.aac, sur2.wma

  • Metode Pemrosesan

    • Durasi dan Urutan Penggabungan:

      Nama audio

      Pesanan

      Durasi

      pre1.mp3

      1

      Seluruh audio

      pre2.wav

      2

      2 detik pertama

      example.mp3

      3

      Seluruh audio

      sur1.aac

      4

      Dari detik ke-4 hingga detik ke-10

      sur2.wma

      5

      Dari detik ke-10 hingga akhir

  • Setelah Penggabungan

    • Informasi Audio

      • Format Audio: AAC

      • Konfigurasi Audio: Laju Sampel 48 kHz, Saluran Suara Tunggal

      • Bitrate Audio: 96 Kbps

    • Path Penyimpanan File

      • File AAC: oss://outbucket/outobjprefix.aac

Contoh permintaan

POST /exmaple.mp3?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
 
// Menggabungkan file audio dengan file example.mp3.
x-oss-async-process=audio/concat,f_aac,ab_96000,ar_48000,ac_1,align_2/pre,o_cHJlMS5tcDMK/pre,o_cHJlMi53YXYK,t_2000/sur,o_c3VyMS5hYWMK,ss_4000,t_10000/sur,o_c3VyMi53bWEK,ss_10000|sys/saveas,b_b3V0YnVja2V0,o_b3V0b2JqcHJlZml4LnthdXRvZXh0fQ