Topik ini menjelaskan konsep, catatan penggunaan, dan deskripsi parameter sys/saveas, serta menyediakan contoh penggunaannya.
Apa itu sys/saveas?
Secara default, objek yang diproses secara sinkron tidak disimpan. Anda harus menentukan parameter sys/saveas dalam permintaan untuk menyimpan objek hasil pemrosesan ke bucket tertentu. Pemrosesan asinkron dilakukan dalam bentuk task, dan hanya ID task yang dikembalikan sebagai respons permintaan. Oleh karena itu, Anda harus menentukan parameter sys/saveas sebelum mengirim permintaan agar objek hasil pemrosesan disimpan di bucket tujuan untuk akses selanjutnya.
Catatan penggunaan
Izin yang diperlukan:
Untuk menyimpan objek hasil pemrosesan, Anda harus memiliki izin
oss:PostProcessTaskpada bucket sumber tempat objek asli disimpan dan izinoss:PutObjectpada objek hasil pemrosesan.Daftar kontrol akses (ACL) objek hasil pemrosesan mengikuti ACL bucket tempat objek tersebut disimpan dan tidak dapat diubah.
Persyaratan wilayah: Anda dapat menyimpan objek hasil pemrosesan ke bucket yang sama dengan bucket objek asli atau ke bucket berbeda, asalkan bucket sumber dan bucket tujuan berada dalam Akun Alibaba Cloud yang sama dan berlokasi di wilayah yang sama.
Metode penyimpanan: Anda tidak dapat langsung menyimpan objek hasil pemrosesan menggunakan URL objek ke bucket tertentu. Sebagai gantinya, unduh terlebih dahulu objek tersebut ke komputer lokal, lalu unggah ke bucket tujuan.
Durasi penyimpanan objek hasil pemrosesan: Jika Anda ingin menyimpan objek hasil pemrosesan selama periode tertentu, konfigurasikan aturan lifecycle untuk menentukan waktu kedaluwarsanya. Untuk informasi lebih lanjut, lihat Ikhtisar.
Deskripsi parameter
Jika Anda menentukan parameter sys/saveas dalam permintaan, Anda harus menentukan opsi yang dijelaskan dalam tabel berikut.
Opsi | Deskripsi |
o | Nama objek hasil pemrosesan. Nilai opsi ini harus dikodekan dalam format Base64 yang aman untuk URL. Untuk informasi lebih lanjut, lihat Pengkodean Watermark. Catatan Opsi o mendukung variabel. Variabel menggunakan format {varname} atau kombinasi string dan {varname}. Untuk informasi lebih lanjut, lihat Variabel. |
b | Nama bucket tempat Anda ingin menyimpan objek hasil pemrosesan. Nilai opsi ini harus dikodekan dalam format Base64 yang aman untuk URL. Jika opsi ini tidak ditentukan, objek hasil pemrosesan akan disimpan ke bucket tempat objek asli berada. Catatan Opsi b mendukung variabel. Variabel menggunakan format {varname} atau kombinasi string dan {varname}. Untuk informasi lebih lanjut, lihat Variabel. |
Menggunakan OSS SDK
Anda dapat menentukan parameter sys/saveas dalam permintaan untuk menyimpan objek hasil pemrosesan ke bucket tertentu menggunakan OSS SDK. Contoh kode berikut menunjukkan cara menyimpan hasil pemrosesan gambar menggunakan OSS SDK untuk berbagai bahasa pemrograman umum. Untuk informasi lebih lanjut tentang penggunaan OSS SDK pada bahasa pemrograman lainnya, lihat 简介.
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 {
// Tentukan endpoint wilayah. Dalam contoh ini, digunakan endpoint wilayah China (Hangzhou). Ganti dengan endpoint aktual Anda.
String endpoint = "https://oss-cn-hangzhou.aliyuncs.com";
// Tentukan ID wilayah yang sesuai dengan endpoint. Contoh: cn-hangzhou.
String region = "cn-hangzhou";
// Disarankan agar Anda tidak menyimpan kredensial akses dalam kode proyek. Jika tidak, kredensial akses dapat bocor dan membahayakan keamanan semua sumber daya dalam akun Anda. Dalam contoh ini, kredensial akses diambil dari variabel lingkungan. Pastikan variabel lingkungan telah dikonfigurasi sebelum menjalankan kode contoh.
EnvironmentVariableCredentialsProvider credentialsProvider = CredentialsProviderFactory.newEnvironmentVariableCredentialsProvider();
// Tentukan nama bucket. Contoh: examplebucket.
String bucketName = "examplebucket";
// Tentukan path lengkap objek yang ingin diproses. Jangan sertakan nama bucket dalam path lengkap.
String sourceImage = "exampleimage.png";
// Buat instance OSSClient.
// Panggil metode shutdown untuk melepaskan sumber daya saat OSSClient tidak lagi digunakan.
ClientBuilderConfiguration clientBuilderConfiguration = new ClientBuilderConfiguration();
// Secara eksplisit deklarasikan penggunaan algoritma signature V4.
clientBuilderConfiguration.setSignatureVersion(SignVersion.V4);
OSS ossClient = OSSClientBuilder.create()
.endpoint(endpoint)
.credentialsProvider(credentialsProvider)
.clientConfiguration(clientBuilderConfiguration)
.region(region)
.build();
try {
// Ubah ukuran gambar menjadi 100 × 100 piksel.
StringBuilder sbStyle = new StringBuilder();
Formatter styleFormatter = new Formatter(sbStyle);
String styleType = "image/resize,m_fixed,w_100,h_100";
// Simpan gambar hasil pemrosesan sebagai example-resize.png ke bucket saat ini.
// Tentukan path lengkap objek yang ingin diproses. Jangan sertakan nama bucket dalam path lengkap.
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("Terjadi OSSException, artinya permintaan Anda sampai ke OSS, "
+ "tetapi ditolak dengan respons error karena suatu alasan.");
System.out.println("Pesan Error:" + oe.getErrorMessage());
System.out.println("Kode Error:" + oe.getErrorCode());
System.out.println("ID Permintaan:" + oe.getRequestId());
System.out.println("Host ID:" + oe.getHostId());
} catch (ClientException ce) {
System.out.println("Terjadi ClientException, artinya klien mengalami "
+ "masalah internal serius saat mencoba berkomunikasi dengan OSS, "
+ "misalnya tidak dapat mengakses jaringan.");
System.out.println("Pesan Error:" + 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;
// Ambil kredensial akses dari variabel lingkungan. Sebelum menjalankan kode contoh, pastikan variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET telah dikonfigurasi.
$accessKeyId = getenv("OSS_ACCESS_KEY_ID");
$accessKeySecret = getenv("OSS_ACCESS_KEY_SECRET");
// Tentukan endpoint wilayah tempat bucket berada. Misalnya, jika bucket berada di wilayah China (Hangzhou), atur endpoint ke https://oss-cn-hangzhou.aliyuncs.com.
$endpoint = "yourEndpoint";
// Tentukan nama bucket. Contoh: examplebucket.
$bucket= "examplebucket";
// Tentukan path lengkap objek sumber. Contoh: exampledir/exampleobject.jpg. Jangan sertakan nama bucket dalam path lengkap.
$object = "exampledir/exampleobject.jpg";
// Tentukan path lengkap tempat Anda ingin menyimpan objek hasil pemrosesan. Contoh: 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 gambar sumber yang ingin diproses tidak ada di bucket sumber, Anda harus mengunggah gambar tersebut ke bucket sumber dari D:\\localpath\\exampleobject.jpg.
// $ossClient->uploadFile($bucket, $object, "D:\\localpath\\exampleobject.jpg");
// Ubah ukuran gambar menjadi 100 × 100 piksel dan putar gambar 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);
// Simpan gambar hasil pemrosesan sebagai example-new.png ke bucket saat ini.
$result = $ossClient->processObject($bucket, $object, $process);
// Tampilkan hasil pemrosesan.
print($result);const OSS = require('ali-oss');
const client = new OSS({
// Tentukan wilayah tempat bucket berada. Misalnya, jika bucket berada di wilayah China (Hangzhou), atur region ke oss-cn-hangzhou.
region: 'yourregion',
// Ambil kredensial akses dari variabel lingkungan. Sebelum menjalankan kode contoh, pastikan variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET telah dikonfigurasi.
accessKeyId: process.env.OSS_ACCESS_KEY_ID,
accessKeySecret: process.env.OSS_ACCESS_KEY_SECRET,
// Tentukan nama bucket sumber.
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);
}
// Ubah ukuran gambar dan simpan gambar hasil pemrosesan.
processImage("image/resize,m_fixed,w_100,h_100")
// Potong gambar dan simpan gambar hasil pemrosesan.
processImage("image/crop,w_100,h_100,x_100,y_100,r_1")
// Putar gambar dan simpan gambar hasil pemrosesan.
processImage("image/rotate,90")
// Pertajam gambar dan simpan gambar hasil pemrosesan.
processImage("image/sharpen,100")
// Tambahkan watermark ke gambar dan simpan gambar hasil pemrosesan.
processImage("image/watermark,text_SGVsbG8g5Zu-54mH5pyN5YqhIQ")
// Konversi format gambar dan simpan gambar hasil pemrosesan.
processImage("image/format,jpg")
// Konversi format gambar dan konfigurasikan bucket tujuan tempat Anda ingin menyimpan gambar hasil pemrosesan.
processImage("image/format,jpg", "target bucket")# -*- coding: utf-8 -*-
import os
import base64
import oss2
from oss2.credentials import EnvironmentVariableCredentialsProvider
# Ambil kredensial akses dari variabel lingkungan. Sebelum menjalankan kode contoh, pastikan variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET telah dikonfigurasi.
auth = oss2.ProviderAuth(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 nama bucket tempat gambar sumber disimpan.
source_bucket_name = 'srcbucket'
# Tentukan nama bucket tempat Anda ingin menyimpan gambar hasil pemrosesan. Bucket ini harus berada di wilayah yang sama dengan bucket sumber.
target_bucket_name = 'destbucket'
# Tentukan nama gambar sumber. Jika gambar tidak disimpan di direktori root bucket, Anda harus menentukan path lengkap gambar. Contoh: example/example.jpg.
source_image_name = 'example/example.jpg'
# Tentukan klien bucket. Anda harus menggunakan klien bucket untuk memanggil semua metode terkait objek.
bucket = oss2.Bucket(auth, endpoint, source_bucket_name)
# Ubah ukuran gambar menjadi 100 × 100 piksel.
style = 'image/resize,m_fixed,w_100,h_100'
# Tentukan nama gambar hasil pemrosesan. Jika gambar tidak disimpan di direktori root bucket, Anda harus menentukan path lengkap gambar. Contoh: 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 (
"encoding/base64"
"fmt"
"os"
"github.com/aliyun/aliyun-oss-go-sdk/oss"
)
// HandleError menangani error: mencetak error dan keluar.
func HandleError(err error) {
fmt.Println("Error:", err)
os.Exit(-1)
}
func main() {
/// Ambil kredensial akses 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 China (Hangzhou), atur endpoint ke https://oss-cn-hangzhou.aliyuncs.com. Ganti dengan endpoint aktual Anda.
client, err := oss.New("yourEndpoint", "", "", oss.SetCredentialsProvider(&provider))
if err != nil {
fmt.Println("Error:", err)
os.Exit(-1)
}
// Tentukan nama bucket tempat gambar sumber disimpan. Contoh: srcbucket.
bucketName := "srcbucket"
bucket, err := client.Bucket(bucketName)
if err != nil {
HandleError(err)
}
// Tentukan nama gambar sumber. Jika gambar sumber tidak disimpan di direktori root bucket, Anda harus menentukan path lengkap gambar. Contoh: example/example.jpg.
sourceImageName := "example/example.jpg"
// Tentukan nama bucket tujuan. Bucket tujuan harus berada di wilayah yang sama dengan bucket sumber.
targetBucketName := "destbucket"
// Tentukan nama gambar hasil pemrosesan. Jika gambar tidak disimpan di direktori root bucket, Anda harus menentukan path lengkap gambar. Contoh: exampledir/example.jpg.
targetImageName := "exampledir/example.jpg"
// Ubah ukuran gambar menjadi 100 × 100 piksel dan simpan gambar ke bucket tertentu.
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 akun yang digunakan untuk mengakses OSS. */
/* Tentukan endpoint wilayah tempat bucket berada. Misalnya, jika bucket berada di wilayah China (Hangzhou), atur endpoint ke https://oss-cn-hangzhou.aliyuncs.com. */
std::string Endpoint = "yourEndpoint";
/* Tentukan nama bucket sumber. Contoh: examplebucket. */
std::string BucketName = "examplebucket";
/* Tentukan nama gambar sumber. Jika gambar sumber tidak disimpan di direktori root bucket, Anda harus menentukan path lengkap gambar. Contoh: example/example.jpg. */
std::string SourceObjectName = "example/example.jpg";
/* Tentukan nama gambar hasil pemrosesan. Jika gambar tidak disimpan di direktori root bucket, Anda harus menentukan path lengkap gambar. Contoh: exampledir/example.jpg. */
std::string TargetObjectName = "exampledir/example.jpg";
/* Inisialisasi sumber daya, seperti sumber daya jaringan. */
InitializeSdk();
ClientConfiguration conf;
/* Ambil kredensial akses dari variabel lingkungan. Sebelum menjalankan kode contoh, pastikan variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET telah dikonfigurasi. */
auto credentialsProvider = std::make_shared<EnvironmentVariableCredentialsProvider>();
OssClient client(Endpoint, credentialsProvider, conf);
/* Ubah ukuran gambar menjadi 100 × 100 piksel dan simpan gambar 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 sumber daya jaringan. */
ShutdownSdk();
return 0;
}Menggunakan RESTful API
Jika bisnis Anda memerlukan tingkat kustomisasi yang tinggi, Anda dapat langsung memanggil RESTful API OSS, yang mengharuskan Anda menyertakan perhitungan signature dalam kode Anda.
Untuk memproses gambar, panggil operasi PostObject dan sertakan parameter x-oss-process dalam isi pesan permintaan. Kemudian, tentukan parameter sys/saveas dalam permintaan untuk menyimpan gambar hasil pemrosesan ke bucket tertentu. Untuk informasi lebih lanjut, lihat PostObject.
Contoh kode berikut menunjukkan cara menyimpan objek hasil pemrosesan ke bucket tertentu:
Gunakan parameter pemrosesan untuk memproses gambar dan menyimpan objek hasil pemrosesan ke bucket tertentu
POST /ObjectName?x-oss-process HTTP/1.1
Host: oss-example.oss.aliyuncs.com
Content-Length: 247
Date: Fri, 04 May 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 proporsional gambar sumber bernama test.jpg menjadi lebar 100 piksel dan simpan gambar hasil pemrosesan ke bucket test.
x-oss-process=image/resize,w_100|sys/saveas,o_dGVzdC5qcGc,b_dGVzdAGunakan parameter style untuk memproses gambar dan menyimpan objek hasil pemrosesan ke bucket tertentu
POST /ObjectName?x-oss-process HTTP/1.1
Host: oss-example.oss.aliyuncs.com
Content-Length: 247
Date: Fri, 04 May 2012 03:22:13 GMT
Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,AdditionalHeaders=content-length,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e
// Gunakan style bernama examplestyle untuk memproses gambar sumber bernama test.jpg dan simpan gambar hasil pemrosesan ke bucket test.
x-oss-process=style/examplestyle|sys/saveas,o_dGVzdC5qcGc,b_dGVzdAGunakan parameter pemrosesan untuk mengonversi dokumen dan menyimpan objek hasil pemrosesan ke bucket tertentu
Informasi objek sumber dan tujuan
Objek sumber
Format objek: DOCX
Nama objek sumber:
example.docx
Objek tujuan
Format objek: PNG
Path penyimpanan:
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 format objek example.docx dari DOCX ke PNG dan simpan gambar hasil pemrosesan di oss://test-bucket/doc_images/.
x-oss-async-process=doc/convert,target_png,source_docx|sys/saveas,b_dGVzdC1idWNrZXQ,o_ZG9jX2ltYWdlcy97aW5kZXh9LnBuZwGunakan parameter style untuk mengonversi dokumen dan menyimpan objek hasil pemrosesan ke bucket tertentu
Informasi objek sumber dan tujuan
Objek sumber
Format objek: DOCX
Nama objek sumber:
example.docx
Objek tujuan
Path penyimpanan:
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
// Gunakan style examplestyle untuk memproses objek example.docx dan simpan objek hasil pemrosesan di oss://test-bucket/doc_images/.
x-oss-async-process=style/examplestyle|sys/saveas,b_dGVzdC1idWNrZXQ,o_ZG9jX2ltYWdlcy97aW5kZXh9LnBuZwGunakan parameter pemrosesan untuk melakukan transkoding video dan menyimpan objek hasil pemrosesan ke bucket tertentu
Informasi objek sumber dan tujuan
Objek sumber
Format video: AVI
Nama video:
example.avi
Objek tujuan
Informasi video
Format video: MP4
Nama video:
outobjprefix.mp4Format aliran video: H.265
Resolusi video: 1920 × 1080
Laju frame video: 30 fps
Bitrate video: 2 Mbit/s
Informasi audio
Format aliran audio: AAC
Bitrate audio: 100 Kbit/s
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: Fri, 28 Oct 2022 06:40:10 GMT
Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e
// Lakukan transkoding pada objek example.avi untuk mengubah format objek menjadi MP4, format aliran video menjadi H.265, resolusi menjadi 1920 × 1080, laju frame menjadi 30 fps, bitrate video menjadi 2 Mbit/s, format aliran audio menjadi AAC, dan bitrate audio menjadi 100 Kbit/s, serta nonaktifkan aliran subtitle. Setelah transkoding selesai, simpan objek hasil pemrosesan 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_b3V0b2JqcHJlZml4LnthdXRvZXh0fQGunakan parameter style untuk melakukan transkoding video dan menyimpan objek hasil pemrosesan ke bucket tertentu
Informasi objek sumber dan tujuan
Objek sumber
Format video: AVI
Nama video:
example.avi
Objek tujuan
Format video: MP4
Nama video:
outobjprefix.mp4Path penyimpanan video:
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
// Gunakan style examplestyle untuk melakukan transkoding pada objek example.avi dan simpan objek hasil pemrosesan sebagai oss://outbucket/outobjprefix.mp4.
x-oss-async-process=style/examplestyle|sys/saveas,b_b3V0YnVja2V0,o_b3V0b2JqcHJlZml4LnthdXRvZXh0fQGunakan parameter pemrosesan untuk mengubah video menjadi stiker animasi dan menyimpan objek hasil pemrosesan ke bucket tertentu
Informasi objek sumber dan tujuan
Objek sumber
Nama video: example.mkv
Objek tujuan
Stiker animasi
Format: GIF
Interval video: 1s
Resolusi: 100 × 100
Path penyimpanan objek
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: Fri, 28 Oct 2022 06:40:10 GMT
Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e
// Ubah objek example.mkv menjadi stiker animasi dengan format GIF, ukuran 100 × 100 piksel, dan interval 1 detik. Setelah transformasi selesai, simpan objek hasil pemrosesan sebagai oss://outbucket/outobjprefix.gif.
x-oss-async-process=video/animation,f_gif,w_100,h_100,inter_1000|sys/saveas,b_b3V0YnVja2V0,o_b3V0b2JqcHJlZml4LnthdXRvZXh0fQGunakan parameter style untuk mengubah video menjadi stiker animasi dan menyimpan objek hasil pemrosesan ke bucket tertentu
Informasi objek sumber dan tujuan
Objek sumber
Nama video: example.mkv
Stiker animasi
Format: GIF
Objek tujuan
Path penyimpanan objek
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: Fri, 28 Oct 2022 06:40:10 GMT
Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e
// Gunakan style examplestyle untuk mengubah objek example.mkv menjadi stiker animasi. Setelah transformasi selesai, simpan objek hasil pemrosesan sebagai oss://outbucket/outobjprefix.gif.
x-oss-async-process=style/examplestyle|sys/saveas,b_b3V0YnVja2V0,o_b3V0b2JqcHJlZml4LnthdXRvZXh0fQGunakan parameter pemrosesan untuk mengambil snapshot sprite dari video dan menyimpan snapshot sprite ke bucket tertentu
Informasi objek sumber dan tujuan
Objek sumber
Nama video: example.mkv
Objek tujuan
Snapshot sprite
Format: JPG
Interval waktu pengambilan snapshot sprite: 10s
Resolusi sub-gambar: 100 × 100
Konfigurasi snapshot sprite: 10 gambar per baris, 10 gambar per kolom. Nilai pad dan margin keduanya 0.
Path penyimpanan objek
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 snapshot sprite dari objek 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_b3V0b2JqcHJlZml4LXtpbmRleH0ue2F1dG9leHR9CgGunakan parameter style untuk mengambil snapshot sprite dari video dan menyimpan snapshot sprite ke bucket tertentu
Informasi objek sumber dan tujuan
Objek sumber
Nama video: example.mkv
Objek tujuan
Snapshot sprite
Format: JPG
Path penyimpanan objek
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
// Gunakan style examplestyle untuk mengambil snapshot sprite dari objek example.mkv.
x-oss-async-process=style/examplestyle|sys/saveas,b_b3V0YnVja2V0,o_b3V0b2JqcHJlZml4LXtpbmRleH0ue2F1dG9leHR9CgGunakan parameter pemrosesan untuk mengambil snapshot dari video dan menyimpan snapshot ke bucket tertentu
Informasi objek sumber dan tujuan
Objek sumber
Nama video: example.mkv
Objek tujuan
Informasi snapshot
Format: JPG
Interval waktu pengambilan snapshot: 10s
Resolusi: 100 × 100
Path penyimpanan objek
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 objek example.mkv.
x-oss-async-process=video/snapshots,f_jpg,w_100,h_100,scaletype_crop,inter_10000|sys/saveas,b_b3V0YnVja2V0,o_b3V0b2JqcHJlZml4LXtpbmRleH0ue2F1dG9leHR9CgGunakan parameter style untuk mengambil snapshot dari video dan menyimpan snapshot ke bucket tertentu
Informasi objek sumber dan tujuan
Objek sumber
Nama video: example.mkv
Objek tujuan
Informasi snapshot
Format: JPG
Path penyimpanan objek
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
// Gunakan style examplestyle untuk mengambil tangkapan video dari objek example.mkv.
x-oss-async-process=style/examplestyle|sys/saveas,b_b3V0YnVja2V0,o_b3V0b2JqcHJlZml4LXtpbmRleH0ue2F1dG9leHR9CgGunakan parameter pemrosesan untuk menggabungkan video dan menyimpan video hasil gabungan ke bucket tertentu
Informasi objek sumber dan tujuan
Objek sumber
Nama video: pre.mov, example.mkv, sur.mov
Metode penggabungan
Durasi dan urutan:
Nama video
Urutan
Durasi
pre.mov
1
Seluruh video
example.mkv
2
Dari detik ke-10 hingga akhir video
sur.mov
3
Dari awal video hingga detik ke-10
Objek tujuan
Informasi video
Format video: h264
Laju frame video: 25 fps
Bitrate video: 1 Mbit/s
Informasi audio
Format audio: AAC
Konfigurasi audio: laju pengambilan sampel 48 kHz dan saluran suara stereo
Bitrate audio: 96 Kbit/s
Path penyimpanan objek
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
// Gabungkan pre.mov, example.mkv, dan sur.mov menjadi video baru berdasarkan persyaratan di atas.
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_b3V0b2JqcHJlZml4LnthdXRvZXh0fQGunakan parameter pemrosesan untuk melakukan transkoding objek audio dan menyimpan objek hasil pemrosesan ke bucket tertentu
Informasi objek sumber dan tujuan
Objek sumber
Format audio: MP3
Nama audio: example.mp3
Metode penanganan
Durasi transkoding: dimulai dari milidetik ke-1.000 objek audio dan berlangsung selama 60.000 milidetik
Objek tujuan
Informasi audio
Format audio: AAC
Konfigurasi audio: pertahankan laju pengambilan sampel dan saluran suara asli
Bitrate audio: 96 Kbit/s
Path penyimpanan objek
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
// Lakukan transkoding audio pada example.mp3.
x-oss-async-process=audio/convert,ss_10000,t_60000,f_aac,ab_96000|sys/saveas,b_b3V0YnVja2V0,o_b3V0b2JqcHJlZml4LnthdXRvZXh0fQGunakan parameter style untuk melakukan transkoding objek audio dan menyimpan objek hasil pemrosesan ke bucket tertentu
Informasi objek sumber dan tujuan
Objek sumber
Format audio: MP3
Nama audio: example.mp3
Objek tujuan
Informasi audio
Format audio: AAC
Path penyimpanan objek
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
// Gunakan style examplestyle untuk melakukan transkoding audio pada objek example.mp3.
x-oss-async-process=style/examplestyle|sys/saveas,b_b3V0YnVja2V0,o_b3V0b2JqcHJlZml4LnthdXRvZXh0fQGunakan parameter pemrosesan untuk menggabungkan objek audio dan menyimpan audio hasil gabungan ke bucket tertentu
Informasi objek sumber dan tujuan
Objek sumber
Nama audio: pre1.mp3, pre2.wav, example.mp3, sur1.aac, dan sur2.wma
Metode penggabungan
Durasi dan urutan:
Nama audio
Urutan
Durasi
pre1.mp3
1
Seluruh objek audio
pre2.wav
2
2 detik pertama
example.mp3
3
Seluruh objek audio
sur1.aac
4
Dari detik ke-4 hingga detik ke-10
sur2.wma
5
Dari detik ke-10 hingga akhir objek audio
Objek tujuan
Informasi audio
Format audio: AAC
Konfigurasi audio: laju pengambilan sampel 48 kHz dan saluran suara mono
Bitrate audio: 96 Kbit/s
Path penyimpanan objek
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
// Gabungkan pre1.mp3, pre2.wav, example.mp3, sur1.aac, dan sur2.wma menjadi objek audio baru berdasarkan persyaratan di atas.
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