このトピックでは、sys/saveas パラメーターの概念と使用上の注意について説明し、パラメーターの使用方法の例を示します。
sys/saveas とは
デフォルトでは、同期的に処理されたオブジェクトは保存されません。 リクエストで sys/saveas パラメーターを指定して、処理済みオブジェクトを特定のバケットに保存する必要があります。非同期処理はタスクの形式で使用されます。 リクエストに対してはタスク ID のみが返されます。 したがって、リクエストを送信する前に、リクエストで sys/saveas パラメーターを指定する必要があります。 この場合、処理済みオブジェクトは後続のアクセスに備えて特定のバケットに保存されます。
使用上の注意
必要な権限:
処理済みオブジェクトを保存するには、ソースオブジェクトが格納されているソースバケットに対する
oss:PostProcessTask
権限と、処理済みオブジェクトに対するoss:PutObject
権限が必要です。処理済みオブジェクトのアクセス制御リスト(ACL)は、オブジェクトを保存するバケットの ACL と同じであり、変更できません。
リージョンに関する要件: 処理済みオブジェクトは、ソースオブジェクトが格納されているのと同じバケット、または別のバケットに保存できます。 ただし、ソースバケットとデスティネーションバケットは同じ Alibaba Cloud アカウントに属し、同じリージョンに配置されている必要があります。
ストレージ方法: オブジェクト URL を使用して処理されたオブジェクトを特定のバケットに直接保存することはできません。 処理済みオブジェクトをローカルコンピューターに保存してから、デスティネーションバケットにアップロードできます。
処理済みオブジェクトの保存期間: 処理済みオブジェクトを特定の期間保存する場合は、オブジェクトのライフサイクルルールを構成して、オブジェクトの有効期限を指定します。 詳細については、「概要」をご参照ください。
パラメーターの説明
リクエストで sys/saveas
パラメーターを指定する場合は、次の表に示すオプションを指定する必要があります。
オプション | 説明 |
o | 処理済みオブジェクトの名前。 このオプションの値は、URL セーフな Base64 エンコードである必要があります。 詳細については、「ウォーターマーク関連のパラメーターをエンコードする」をご参照ください。 説明 o オプションは変数をサポートしています。 変数の形式は {varname} または文字列と {varname} の組み合わせです。 詳細については、「変数」をご参照ください。 |
b | 処理済みオブジェクトを保存するバケットの名前。 このオプションの値は、URL セーフな Base64 エンコードである必要があります。 このオプションを指定しない場合、処理済みオブジェクトはソースオブジェクトが格納されているバケットに保存されます。 説明 b オプションは変数をサポートしています。 変数の形式は {varname} または文字列と {varname} の組み合わせです。 詳細については、「変数」をご参照ください。 |
OSS SDK の使用
リクエストで sys/saveas パラメーターを指定して、OSS SDK を使用して処理されたオブジェクトを特定のバケットに保存できます。 次のサンプルコードは、一般的なプログラミング言語の OSS SDK を使用して処理されたオブジェクトを保存する方法の例を示しています。 他のプログラミング言語の OSS 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";
// Endpointに対応するリージョン情報を入力します。例: 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 x 100 ピクセルに変更します。
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");
// バケットが配置されているリージョンのエンドポイントを指定します。 たとえば、バケットが中国 (杭州) リージョンにある場合は、エンドポイントを 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);
// 処理するソース画像がソースバケットに存在しない場合は、D:\\localpath\\exampleobject.jpg からソースバケットに画像をアップロードする必要があります。
// $ossClient->uploadFile($bucket, $object, "D:\\localpath\\exampleobject.jpg");
// 画像のサイズを 100 × 100 ピクセルに変更し、画像を 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({
// バケットが配置されているリージョンを指定します。 たとえば、バケットが中国 (杭州) リージョンにある場合は、リージョンを 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 × 100 ピクセルに変更します。
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(taget_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 インスタンスを作成します。
// バケットが配置されているリージョンのエンドポイントを指定します。 たとえば、バケットが中国 (杭州) リージョンにある場合は、エンドポイントを 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 x 100 ピクセルに変更し、特定のバケットに画像を保存します。
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)
{
/* OSSにアクセスするために使用するアカウントに関する情報を初期化します。 */
/* バケットが配置されているリージョンのエンドポイントを指定します。 たとえば、バケットが中国 (杭州) リージョンにある場合は、エンドポイントを 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 x 100 ピクセルに変更し、現在のバケットに画像を保存します。 */
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;
}
RESTful API の使用
ビジネスで高度なカスタマイズが必要な場合は、OSS RESTful API を直接呼び出すことができます。その場合は、コードに署名計算を含める必要があります。
画像を処理するには、PostObject 操作を呼び出し、PostObject リクエストのメッセージ本文で x-oss-process
を渡します。 次に、リクエストで sys/saveas
パラメーターを指定して、処理済み画像を特定のバケットに保存します。 詳細については、「PostObject」をご参照ください。
このコードは、fetch API を使用して、/wp-json/wp/v2/posts エンドポイントからデータを取得します。詳細については、「Fetch API」をご参照ください。
IMG パラメーターを使用してイメージを処理し、処理済みオブジェクトを特定のバケットに保存する
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 ピクセルに比例的にサイズ変更し、処理済みイメージを 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
// example.docx オブジェクトのフォーマットを DOCX から PNG に変更し、処理されたイメージを oss://test-bucket/doc_images/ に保存します。
x-oss-async-process=doc/convert,target_png,source_docx|sys/saveas,b_dGVzdC1idWNrZXQ,o_ZG9jX2ltYWdlcy97aW5kZXh9LnBuZw
IMG パラメーターを使用して画像を処理し、処理済みオブジェクトを特定のバケットに保存する
ソースオブジェクトとデスティネーションオブジェクトに関する情報
ソースオブジェクト
オブジェクトフォーマット: DOCX
ソースオブジェクト名:
example.docx
デスティネーションオブジェクト
ストレージパス:
oss://test-bucket/doc_images/
JavaScript から WordPress REST API にアクセスする方法 /* some CSS styles */ JavaScript から WordPress REST API にアクセスする方法 このチュートリアルでは、JavaScript を使用して WordPress REST API にアクセスする方法を学びます。REST API を使用すると、WordPress データを操作するための柔軟で強力な方法が提供されます。 REST API のエンドポイント WordPress REST API には、さまざまなデータタイプにアクセスするためのさまざまなエンドポイントがあります。たとえば、投稿を取得するには、次のエンドポイントを使用できます。 /wp-json/wp/v2/posts 特定の投稿を取得するには、投稿 ID を使用できます。 /wp-json/wp/v2/posts/123 JavaScript での REST API の使用 JavaScript で REST API を使用するには、fetch API を使用できます。たとえば、すべての投稿を取得するには、次のコードを使用できます。 fetch('/wp-json/wp/v2/posts') .then(response => response.json()) .then(posts => { // 投稿データを処理します console.log(posts); }); 詳細については、「WordPress REST API ハンドブック」をご参照ください。 注: このチュートリアルでは、基本的な JavaScript の知識があることを前提としています。 WordPress バージョン 5.0 以降が必要です。 ```
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
// example.docx オブジェクトを examplestyle スタイルを使用して処理し、処理済みオブジェクトを 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 Mbit/s
オーディオ情報
オーディオストリームフォーマット: AAC
オーディオビットレート: 100 Kbit/s
字幕ストリーム: 無効
ビデオストレージパス:
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、解像度を 1920 x 1080、フレームレートを 30 fps、ビデオビットレートを 2 Mbit/s、オーディオストリームのフォーマットを AAC、オーディオビットレートを 100 Kbit/s に変更し、字幕ストリームを無効にします。トランスコード後、処理されたオブジェクトを 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
// example.avi オブジェクトを examplestyle スタイルを使用してトランスコードし、処理済みオブジェクトを oss://outbucket/outobjprefix.mp4 として保存します。
x-oss-async-process=style/examplestyle|sys/saveas,b_b3V0YnVja2V0,o_b3V0b2JqcHJlZml4LnthdXRvZXh0fQ
処理パラメーターを使用して動画をアニメーション ステッカーに変換し、処理済みオブジェクトを特定のバケットに保存する
ソース オブジェクトとデスティネーション オブジェクトに関する情報
ソース オブジェクト
動画名: example.mkv
デスティネーション オブジェクト
アニメーション ステッカー
フォーマット: GIF
動画間隔: 1 秒
解像度: 100 x 100
オブジェクト ストレージ パス
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 x 100 ピクセル、間隔が 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
デスティネーションオブジェクト
オブジェクト ストレージ パス
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 秒
サブイメージの解像度: 100 x 100
スプライトスナップショットの構成: 1 行に 10 個のイメージ。1 列に 10 個のイメージ。パディングとマージンはどちらも 0 です。
オブジェクトストレージパス
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
オブジェクトストレージパス
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 オブジェクトから examplestyle スタイルを使用してスプライトスナップショットを取得します。
x-oss-async-process=style/examplestyle|sys/saveas,b_b3V0YnVja2V0,o_b3V0b2JqcHJlZml4LXtpbmRleH0ue2F1dG9leHR9Cg
処理パラメーターを使用してビデオからスナップショットをキャプチャし、特定のバケットに保存する
ソースオブジェクトとデスティネーションオブジェクトに関する情報
ソースオブジェクト
動画名: example.mkv
デスティネーションオブジェクト
スナップショット情報
フォーマット: JPG
スナップショットをキャプチャする時間間隔: 10秒
解像度: 100 x 100
オブジェクトストレージパス
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
オブジェクトストレージ パス
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 オブジェクトから examplestyle スタイルを使用してスナップショットをキャプチャします。
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 秒目まで
デスティネーションオブジェクト
動画情報
動画フォーマット: h264
動画フレームレート: 25 fps
動画ビットレート: 1 Mbit/s
音声情報
音声フォーマット: AAC
音声構成: サンプリングレート 48 kHz、バイノーラル サウンドチャンネル
音声ビットレート: 96 Kbit/s
オブジェクトストレージパス
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
// 前述の要件に基づいて、pre.mov、example.mkv、sur.mov を新しい動画にマージします。
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 Kbit/s
オブジェクトストレージパス
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
オブジェクトストレージパス
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 オブジェクトに対して examplestyle スタイルを使用してオーディオトランスコードを実行します。
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 Kbit/s
オブジェクトストレージ パス
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
// 上記の要件に基づいて、pre1.mp3、pre2.wav、example.mp3、sur1.aac、および sur2.wma を新しいオーディオオブジェクトにマージします。
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