このトピックでは、名前を付けて保存機能の概念、重要な注意事項、パラメーター、および例について説明します。
名前を付けて保存とは
デフォルトでは、同期処理操作では結果のファイルは保存されません。ファイルを保存するには、リクエストに名前を付けて保存パラメーターを追加し、宛先バケットを指定する必要があります。非同期処理操作はタスクベースであり、タスク ID のみを返します。したがって、後でアクセスするために、名前を付けて保存パラメーターを使用して、処理されたファイルをバケットに保存する必要があります。
注意事項
権限要件:
名前を付けて保存操作には、ソースバケットに対する
oss:PostProcessTask権限と、宛先オブジェクトに対するoss:PutObject権限が必要です。保存されたファイルのアクセス制御リスト (ACL) は、デフォルトでバケットから ACL を継承します。カスタム ACL はサポートされていません。
リージョン要件: ソースバケットと宛先バケットは、同じでも異なっていてもかまいません。ただし、それらは同じ Alibaba Cloud アカウントに属し、同じリージョンにある必要があります。
名前を付けて保存メソッド: URL から処理されたファイルをバケットに直接保存することはサポートされていません。処理されたファイルをローカルコンピューターに保存してから、宛先バケットにアップロードする必要があります。
保存されたファイルの保存期間: 保存されたファイルの保存期間を調整するには、ライフサイクルルールを使用してファイルの有効期限ポリシーを構成できます。詳細については、「ライフサイクルルールの概要」をご参照ください。
パラメーター
sys/saveas パラメーターを使用する場合は、次のオプションを含めます。
オプション | 意味 |
o | 宛先オブジェクトの名前。名前は URL セーフな Base64 エンコードである必要があります。詳細については、「ウォーターマークのエンコード」をご参照ください。 説明 o オプションは変数をサポートしています。変数のフォーマットは {varname} または文字列と {varname} の組み合わせです。詳細については、「変数」をご参照ください。 |
b | 宛先バケットの名前。名前は URL セーフな Base64 エンコードである必要があります。宛先バケットを指定しない場合、ファイルはデフォルトでソースバケットに保存されます。 説明 b オプションは変数をサポートしています。変数のフォーマットは {varname} または文字列と {varname} の組み合わせです。詳細については、「変数」をご参照ください。 |
Alibaba Cloud SDK の使用
`sys/saveas` パラメーターを追加することで、Alibaba Cloud SDK を使用して処理されたファイルを指定されたバケットに保存できます。次のコードは、一般的な SDK を使用して処理されたイメージを保存する方法の例を示しています。他の SDK の使用例については、「概要」をご参照ください。
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 {
// この例では、中国 (杭州) リージョンが使用されています。実際の エンドポイントを指定します。
String endpoint = "https://oss-cn-hangzhou.aliyuncs.com";
// エンドポイントに対応するリージョン ID を指定します。例: cn-hangzhou。
String region = "cn-hangzhou";
// プロジェクトコードにアクセス資格情報を保存しないことを強くお勧めします。これにより、アクセス資格情報が漏洩し、アカウント内のすべてのリソースのセキュリティが脅かされる可能性があります。この例では、環境変数からアクセス資格情報を取得する方法を示します。この例を実行する前に、環境変数を構成してください。
EnvironmentVariableCredentialsProvider credentialsProvider = CredentialsProviderFactory.newEnvironmentVariableCredentialsProvider();
// バケット名を指定します。例: examplebucket。
String bucketName = "examplebucket";
// オブジェクトの完全なパスを指定します。完全なパスにバケット名を含めることはできません。
String sourceImage = "exampleimage.png";
// OSSClient インスタンスを作成します。
// OSSClient インスタンスが不要になったら、shutdown メソッドを呼び出してリソースを解放します。
ClientBuilderConfiguration clientBuilderConfiguration = new ClientBuilderConfiguration();
// V4 署名アルゴリズムの使用を明示的に宣言します。
clientBuilderConfiguration.setSignatureVersion(SignVersion.V4);
OSS ossClient = OSSClientBuilder.create()
.endpoint(endpoint)
.credentialsProvider(credentialsProvider)
.clientConfiguration(clientBuilderConfiguration)
.region(region)
.build();
try {
// イメージを 100 px × 100 px の固定サイズにサイズ変更します。
StringBuilder sbStyle = new StringBuilder();
Formatter styleFormatter = new Formatter(sbStyle);
String styleType = "image/resize,m_fixed,w_100,h_100";
// 処理されたイメージに example-resize.png という名前を付け、現在のバケットに保存します。
// オブジェクトの完全なパスを指定します。完全なパスにバケット名を含めることはできません。
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("Caught an OSSException, which means your request made it to OSS, "
+ "but was rejected with an error response for some reason.");
System.out.println("Error Message:" + oe.getErrorMessage());
System.out.println("Error Code:" + oe.getErrorCode());
System.out.println("Request ID:" + oe.getRequestId());
System.out.println("Host ID:" + oe.getHostId());
} catch (ClientException ce) {
System.out.println("Caught an ClientException, which means the client encountered "
+ "a serious internal problem while trying to communicate with OSS, "
+ "such as not being able to access the network.");
System.out.println("Error Message:" + 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;
// 環境変数からアクセス資格情報を取得します。この例を実行する前に、OSS_ACCESS_KEY_ID および OSS_ACCESS_KEY_SECRET 環境変数が構成されていることを確認してください。
$accessKeyId = getenv("OSS_ACCESS_KEY_ID");
$accessKeySecret = getenv("OSS_ACCESS_KEY_SECRET");
// yourEndpoint を、バケットが配置されているリージョンのエンドポイントに設定します。たとえば、バケットが中国 (杭州) リージョンにある場合、エンドポイントを https://oss-cn-hangzhou.aliyuncs.com に設定します。
$endpoint = "yourEndpoint";
// バケット名を指定します。例: examplebucket。
$bucket= "examplebucket";
// ソースオブジェクトの完全なパスを指定します。例: exampledir/exampleobject.jpg。完全なパスにバケット名を含めることはできません。
$object = "exampledir/exampleobject.jpg";
// 宛先オブジェクトの完全なパスを指定します。例: 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);
// 宛先イメージが指定されたバケットにない場合は、イメージを宛先バケットにアップロードします。
// $ossClient->uploadFile($bucket, $object, "D:\\localpath\\exampleobject.jpg");
// イメージを 100 px × 100 px の固定サイズにサイズ変更し、90 度回転させます。
$style = "image/resize,m_fixed,w_100,h_100/rotate,90";
$process = $style.
'|sys/saveas'.
',o_'.base64url_encode($save_object).
',b_'.base64url_encode($bucket);
// 処理されたイメージに example-new.png という名前を付け、現在のバケットに保存します。
$result = $ossClient->processObject($bucket, $object, $process);
// 処理結果を出力します。
print($result);const OSS = require('ali-oss');
const client = new OSS({
// yourregion を、バケットが配置されているリージョンに設定します。たとえば、バケットが中国 (杭州) リージョンにある場合、リージョンを oss-cn-hangzhou に設定します。
region: 'yourregion',
// 環境変数からアクセス資格情報を取得します。この例を実行する前に、OSS_ACCESS_KEY_ID および OSS_ACCESS_KEY_SECRET 環境変数が構成されていることを確認してください。
accessKeyId: process.env.OSS_ACCESS_KEY_ID,
accessKeySecret: process.env.OSS_ACCESS_KEY_SECRET,
// バケット名を指定します。
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);
}
// イメージを永続的にスケーリングします。
processImage("image/resize,m_fixed,w_100,h_100")
// イメージを永続的にトリミングします。
processImage("image/crop,w_100,h_100,x_100,y_100,r_1")
// イメージを永続的に回転させます。
processImage("image/rotate,90")
// イメージを永続的にシャープにします。
processImage("image/sharpen,100")
// イメージに永続的にウォーターマークを追加します。
processImage("image/watermark,text_SGVsbG8g5Zu-54mH5pyN5YqhIQ")
// イメージフォーマットを永続的に変換します。
processImage("image/format,jpg")
// イメージフォーマットを永続的に変換し、結果を保存する宛先バケットを設定します。
processImage("image/format,jpg", "target bucket")# -*- coding: utf-8 -*-
import os
import base64
import oss2
from oss2.credentials import EnvironmentVariableCredentialsProvider
# 環境変数からアクセス資格情報を取得します。この例を実行する前に、OSS_ACCESS_KEY_ID および OSS_ACCESS_KEY_SECRET 環境変数が構成されていることを確認してください。
auth = oss2.ProviderAuth(EnvironmentVariableCredentialsProvider())
# バケットが配置されているリージョンに対応するエンドポイントを設定します。たとえば、バケットが中国 (杭州) リージョンにある場合、エンドポイントを https://oss-cn-hangzhou.aliyuncs.com に設定します。
endpoint = 'https://oss-cn-hangzhou.aliyuncs.com'
# ソースイメージが保存されているバケットの名前を指定します。
source_bucket_name = 'srcbucket'
# 処理されたイメージを保存するために使用されるバケットの名前を指定します。このバケットは、ソースバケットと同じリージョンにある必要があります。
target_bucket_name = 'destbucket'
# ソースイメージの名前を指定します。イメージがバケットのルートディレクトリにない場合は、ファイルの完全なパスを指定する必要があります。例: example/example.jpg。
source_image_name = 'example/example.jpg'
# バケットインスタンスを指定します。すべてのファイル関連のメソッドは、バケットインスタンスを介して呼び出す必要があります。
bucket = oss2.Bucket(auth, endpoint, source_bucket_name)
# イメージを 100 px × 100 px の固定サイズにサイズ変更します。
style = 'image/resize,m_fixed,w_100,h_100'
# 処理されたイメージの名前を指定します。イメージがバケットのルートディレクトリにない場合は、ファイルの完全なパスを指定する必要があります。例: 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() {
/// 環境変数からアクセス資格情報を取得します。この例を実行する前に、OSS_ACCESS_KEY_ID および OSS_ACCESS_KEY_SECRET 環境変数が構成されていることを確認してください。
provider, err := oss.NewEnvironmentVariableCredentialsProvider()
if err != nil {
fmt.Println("Error:", err)
os.Exit(-1)
}
// OSSClient インスタンスを作成します。
// yourEndpoint をバケットのエンドポイントに設定します。たとえば、バケットが中国 (杭州) リージョンにある場合、エンドポイントを https://oss-cn-hangzhou.aliyuncs.com に設定します。必要に応じて他のリージョンのエンドポイントを設定します。
client, err := oss.New("yourEndpoint", "", "", oss.SetCredentialsProvider(&provider))
if err != nil {
fmt.Println("Error:", err)
os.Exit(-1)
}
// ソースイメージが保存されているバケットの名前を指定します。例: srcbucket。
bucketName := "srcbucket"
bucket, err := client.Bucket(bucketName)
if err != nil {
HandleError(err)
}
// ソースイメージの名前を指定します。イメージがバケットのルートディレクトリにない場合は、ファイルの完全なパスを指定する必要があります。例: example/example.jpg。
sourceImageName := "example/example.jpg"
// 処理されたイメージを保存するために使用されるバケットの名前を指定します。このバケットは、ソースバケットと同じリージョンにある必要があります。
targetBucketName := "destbucket"
// 処理されたイメージの名前を指定します。イメージがバケットのルートディレクトリにない場合は、ファイルの完全なパスを指定する必要があります。例: exampledir/example.jpg。
targetImageName = "exampledir/example.jpg"
// イメージを 100 px × 100 px の固定サイズにサイズ変更し、指定されたバケットに保存します。
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)
{
/* Alibaba Cloud アカウントに関する情報を初期化します。*/
/* バケットが配置されているリージョンに対応するエンドポイントを指定します。たとえば、バケットが中国 (杭州) リージョンにある場合、エンドポイントを https://oss-cn-hangzhou.aliyuncs.com に設定します。*/
std::string Endpoint = "yourEndpoint";
/* バケット名を指定します。例: examplebucket。*/
std::string BucketName = "examplebucket";
/* ソースイメージの名前を指定します。イメージがバケットのルートディレクトリにない場合は、ファイルの完全なパスを指定する必要があります。例: example/example.jpg。*/
std::string SourceObjectName = "example/example.jpg";
/* 処理されたイメージの名前を指定します。イメージがバケットのルートディレクトリにない場合は、ファイルの完全なパスを指定する必要があります。例: exampledir/example.jpg。*/
std::string TargetObjectName = "exampledir/example.jpg";
/* ネットワークなどのリソースを初期化します。*/
InitializeSdk();
ClientConfiguration conf;
/* 環境変数からアクセス資格情報を取得します。この例を実行する前に、OSS_ACCESS_KEY_ID および OSS_ACCESS_KEY_SECRET 環境変数が構成されていることを確認してください。*/
auto credentialsProvider = std::make_shared<EnvironmentVariableCredentialsProvider>();
OssClient client(Endpoint, credentialsProvider, conf);
/* イメージを 100 px × 100 px の固定サイズにサイズ変更し、現在のバケットに保存します。*/
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);
/* ネットワークなどのリソースを解放します。*/
ShutdownSdk();
return 0;
}REST API の使用
プログラムをカスタマイズするには、REST API リクエストを直接送信し、署名を計算するコードを手動で記述します。
PostObject 操作を呼び出してファイルを処理するときは、リクエストボディに x-oss-process を渡し、リクエストに sys/saveas パラメーターを追加して、処理されたファイルを指定されたバケットに保存します。詳細については、「PostObject」をご参照ください。
次のセクションでは、さまざまな名前を付けて保存シナリオのリクエスト例を示します。
処理パラメーターを使用してイメージを処理し、指定されたバケットに保存する
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
// 宛先イメージ test.jpg を幅 100 px に比例してサイズ変更し、test という名前のバケットに保存します。
x-oss-process=image/resize,w_100|sys/saveas,o_dGVzdC5qcGc,b_dGVzdAスタイルパラメーターを使用してイメージを処理し、指定されたバケットに保存する
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
// examplestyle という名前のスタイルを使用して宛先イメージ test.jpg を処理し、処理されたイメージを test という名前のバケットに保存します。
x-oss-process=style/examplestyle|sys/saveas,o_dGVzdC5qcGc,b_dGVzdA処理パラメーターを使用してドキュメントを変換し、指定されたバケットに保存する
変換情報
変換前
ファイルタイプ: DOCX
ファイル名:
example.docx
変換後
ファイルタイプ: PNG
ファイルストレージパス:
oss://test-bucket/doc_images/
リクエスト例
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
// DOCX ファイル example.docx を PNG イメージファイルに変換し、変換されたイメージを oss://test-bucket/doc_images/ パスに保存します。
x-oss-async-process=doc/convert,target_png,source_docx|sys/saveas,b_dGVzdC1idWNrZXQ,o_ZG9jX2ltYWdlcy97aW5kZXh9LnBuZwスタイルパラメーターを使用してドキュメントを変換し、指定されたバケットに保存する
変換情報
変換前
ファイルタイプ: DOCX
ファイル名:
example.docx
変換後
ファイルストレージパス:
oss://test-bucket/doc_images/
リクエスト例
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
// examplestyle という名前のスタイルを使用してファイル example.docx を変換し、変換されたファイルを oss://test-bucket/doc_images/ パスに保存します。
x-oss-async-process=style/examplestyle|sys/saveas,b_dGVzdC1idWNrZXQ,o_ZG9jX2ltYWdlcy97aW5kZXh9LnBuZw処理パラメーターを使用してビデオをトランスコードし、指定されたバケットに保存する
トランスコーディング情報
トランスコード前
ビデオフォーマット: AVI
ビデオ名:
example.avi
トランスコード後
ビデオ情報
ビデオフォーマット: MP4
ビデオ名:
outobjprefix.mp4ビデオストリームフォーマット: H.265
ビデオ解像度: 1920×1080
ビデオフレームレート: 30 fps
ビデオビットレート: 2 Mbps
オーディオ情報
オーディオストリームフォーマット: AAC
オーディオビットレート: 100 Kbps
字幕ストリーム: 無効
ビデオストレージパス:
oss://outbucket/outobj.mp4
リクエスト例
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
// ファイル example.avi をトランスコードします。出力メディアコンテナーは MP4 です。ビデオストリームのフォーマットは H.265、解像度は 1920x1080、フレームレートは 30 fps、ビデオビットレートは 2 Mbps です。オーディオストリームのフォーマットは AAC で、オーディオビットレートは 100 Kbps です。字幕ストリームは無効になっています。トランスコード後、結果のファイルを 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スタイルパラメーターを使用してビデオをトランスコードし、指定されたバケットに保存する
トランスコーディング情報
トランスコード前
ビデオフォーマット: AVI
ビデオ名:
example.avi
トランスコード後
フォーマット: MP4
名前:
outobjprefix.mp4パス:
oss://outbucket/outobjprefix.mp4
リクエスト例
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
// examplestyle という名前のスタイルを使用してファイル example.avi をトランスコードします。トランスコード後、結果のファイルを oss://outbucket/outobjprefix.mp4 として保存します。
x-oss-async-process=style/examplestyle|sys/saveas,b_b3V0YnVja2V0,o_b3V0b2JqcHJlZml4LnthdXRvZXh0fQ処理パラメーターを使用してビデオからアニメーション画像を生成し、指定されたバケットに保存する
スナップショット情報
回転前のグラフ
動画名: example.mkv
グラフの回転後
アニメーション画像情報
アニメーション画像フォーマット: GIF
ビデオ間隔: 1 s
出力画像解像度: 100×100
ファイルストレージパス
GIF ファイル: oss://outbucket/outobjprefix.gif
リクエスト例
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
// ファイル example.mkv からアニメーション画像を生成します。アニメーション画像のフォーマットは GIF、出力画像の幅は 100 px、高さは 100 px、間隔は 1 秒です。変換後、結果のファイルを oss://outbucket/outobjprefix.gif として保存します。
x-oss-async-process=video/animation,f_gif,w_100,h_100,inter_1000|sys/saveas,b_b3V0YnVja2V0,o_b3V0b2JqcHJlZml4LnthdXRvZXh0fQスタイルパラメーターを使用してビデオからアニメーション画像を生成し、指定されたバケットに保存する
スナップショット情報
アニメーション画像生成前
動画名: example.mkv
アニメーション画像情報
アニメーション画像フォーマット: GIF
グラフ回転後
ファイルストレージパス
GIF ファイル: oss://outbucket/outobjprefix.gif
リクエスト例
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
// examplestyle という名前のスタイルを使用してファイル example.mkv からアニメーション画像を生成します。変換後、結果のファイルを oss://outbucket/outobjprefix.gif として保存します。
x-oss-async-process=style/examplestyle|sys/saveas,b_b3V0YnVja2V0,o_b3V0b2JqcHJlZml4LnthdXRvZXh0fQ処理パラメーターを使用してビデオからスプライト画像を生成し、指定されたバケットに保存する
スナップショット情報
スプライト画像生成前
動画名: example.mkv
スプライト画像生成後
スプライト画像情報
スプライト画像フォーマット: JPG
フレーム間隔: 10 s
サブイメージ解像度: 100×100
スプライト画像構成: 1 行あたり 10 枚のイメージ、1 列あたり 10 枚のイメージ、パディングとページの余白は両方とも 0 に設定。
ファイルストレージパス
JPG ファイル: oss://outbucket/outobjprefix-%d.jpg
リクエスト例
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
// ファイル 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スタイルパラメーターを使用してビデオからスプライト画像を生成し、指定されたバケットに保存する
スナップショット情報
スプライト画像生成前
ビデオ名: example.mkv
スプライト画像生成後
スプライト画像情報
スプライト画像フォーマット: JPG
ファイルストレージパス
JPG ファイル: oss://outbucket/outobjprefix-%d.jpg
リクエスト例
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
// examplestyle という名前のスタイルを使用してファイル example.mkv からスプライト画像を生成します。
x-oss-async-process=style/examplestyle|sys/saveas,b_b3V0YnVja2V0,o_b3V0b2JqcHJlZml4LXtpbmRleH0ue2F1dG9leHR9Cg処理パラメーターを使用してビデオスナップショットを撮り、指定されたバケットに保存する
スナップショット情報
スナップショット撮影前
動画名: example.mkv
スナップショット撮影後
スナップショット情報
スナップショットフォーマット: JPG
ビデオ間隔: 10 s
出力画像解像度: 100×100
ファイルストレージパス
JPG ファイル: oss://outbucket/outobjprefix-%d.jpg
リクエスト例
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
// ファイル example.mkv のビデオスナップショットを撮ります。
x-oss-async-process=video/snapshots,f_jpg,w_100,h_100,scaletype_crop,inter_10000|sys/saveas,b_b3V0YnVja2V0,o_b3V0b2JqcHJlZml4LXtpbmRleH0ue2F1dG9leHR9Cgスタイルパラメーターを使用してビデオスナップショットを撮り、指定されたバケットに保存する
スナップショット情報
スナップショット撮影前
ビデオ名: example.mkv
スナップショット撮影後
スナップショット情報
スナップショットフォーマット: JPG
ファイルストレージパス
JPG ファイル: oss://outbucket/outobjprefix-%d.jpg
リクエスト例
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
// examplestyle という名前のスタイルを使用してファイル example.mkv のビデオスナップショットを撮ります。
x-oss-async-process=style/examplestyle|sys/saveas,b_b3V0YnVja2V0,o_b3V0b2JqcHJlZml4LXtpbmRleH0ue2F1dG9leHR9Cg処理パラメーターを使用してビデオを連結し、出力を指定されたバケットに保存する
連結情報
連結前
動画名: pre.mov、example.mkv、sur.mov
処理メソッド
連結時間と順序:
動画名
順序
期間
pre.mov
1
動画全体
example.mkv
2
10 秒目から最後まで
sur.mov
3
最初から 10 秒目まで
連結後
動画情報
ビデオフォーマット: H.264
動画フレームレート: 25 fps
ビデオビットレート: 1 Mbps
音声情報
音声フォーマット: AAC
オーディオ構成: 48 kHz サンプルレート、2 つのサウンドチャンネル
オーディオビットレート: 96 Kbps
ファイルストレージパス
MP4 ファイル: oss://outbucket/outobjprefix.mp4
リクエスト例
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
// ファイル 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処理パラメーターを使用してオーディオファイルをトランスコードし、指定されたバケットに保存する
トランスコーディング情報
トランスコード前
オーディオ形式: MP3
オーディオ名: example.mp3
処理メソッド
トランスコーディング期間: オーディオは、入力メディアファイルの 1,000 ミリ秒目から開始して 60,000 ミリ秒間トランスコードされます。
トランスコード後
オーディオ情報
オーディオ形式: AAC
オーディオ構成: 元のサンプルレートとサウンドチャンネル数が保持されます。
オーディオビットレート: 96 Kbps
ファイルストレージパス
AAC ファイル: oss://outbucket/outobjprefix.aac
リクエスト例
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
// オーディオファイル example.mp3 をトランスコードします。
x-oss-async-process=audio/convert,ss_10000,t_60000,f_aac,ab_96000|sys/saveas,b_b3V0YnVja2V0,o_b3V0b2JqcHJlZml4LnthdXRvZXh0fQスタイルパラメーターを使用してオーディオファイルをトランスコードし、指定されたバケットに保存する
トランスコーディング情報
トランスコード前
オーディオ形式: MP3
オーディオ名: example.mp3
トランスコード後
オーディオ情報
オーディオ形式: AAC
ファイルストレージパス
AAC ファイル: oss://outbucket/outobjprefix.aac
リクエスト例
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
// examplestyle という名前のスタイルを使用してオーディオファイル example.mp3 をトランスコードします。
x-oss-async-process=style/examplestyle|sys/saveas,b_b3V0YnVja2V0,o_b3V0b2JqcHJlZml4LnthdXRvZXh0fQ処理パラメーターを使用してオーディオファイルを連結し、出力を指定されたバケットに保存する
連結情報
連結前
オーディオ名: pre1.mp3, pre2.wav, example.mp3, sur1.aac, sur2.wma
処理メソッド
連結時間と順序:
オーディオ名
順序
期間
pre1.mp3
1
オーディオ全体
pre2.wav
2
最初の 2 秒
example.mp3
3
オーディオ全体
sur1.aac
4
4 秒目から 10 秒目まで
sur2.wma
5
10 秒目から最後まで
連結後
オーディオ情報
オーディオ形式: AAC
オーディオ構成: 48 kHz サンプルレート、単一サウンドチャンネル
オーディオビットレート: 96 Kbps
ファイルストレージパス
AAC ファイル: oss://outbucket/outobjprefix.aac
リクエスト例
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
// ファイル 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