本文為您介紹另存新檔的概念、注意事項、參數說明和使用樣本。
什麼是另存新檔
同步處理預設不儲存處理後的檔案。您需要在處理請求內添加另存新檔參數,將處理後的檔案儲存到指定的儲存空間 (Bucket) 內。非同步處理是以任務形式進行的,請求返回時只會返回任務ID。因此,您在提交時必須添加另存新檔參數,將處理完成後的檔案儲存到指定的儲存空間 (Bucket) 內,以便後續訪問。
注意事項
許可權要求:
進行另存新檔操作要求具有源Bucket的
oss:PostProcessTask許可權,以及目標Object的oss:PutObject許可權。另存新檔檔案的讀寫權限ACL預設繼承Bucket,不支援自訂。
地區要求:源檔案所在Bucket和處理後另存新檔的目標Bucket可以相同也可以不同,但必須屬於同一阿里雲帳號下的相同地區。
另存新檔方式:不支援將檔案URL處理後的檔案直接轉存至指定Bucket。您可以將處理後的檔案儲存到本地,然後再上傳至指定Bucket。
另存新檔檔案儲存體時間長度:如果您需要調整另存新檔檔案的儲存時間長度,請結合生命週期規則介紹配置合理的檔案到期策略。
參數說明
使用sys/saveas參數時,您需要攜帶以下選項:
選項 | 含義 |
o | 目標Object名稱,名稱需經過URL安全的Base64編碼。具體操作,請參見浮水印編碼。 說明 o支援變數,變數引用格式為{varname}或字串與{varname}的組合形式。更多資訊,請參見變數。 |
b | 目標Bucket名稱,名稱需經過URL安全的Base64編碼。如果不指定目標Bucket,則預設儲存至原檔案所在Bucket。 說明 b支援變數,變數引用格式為{varname}或字串與{varname}的組合形式。更多資訊,請參見變數。 |
使用阿里雲SDK
您可以通過添加另存新檔參數(sys/saveas)的方式將阿里雲SDK處理後的檔案儲存至指定Bucket。以下僅列舉常見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 {
// Endpoint以華東1(杭州)為例,其它Region請按實際情況填寫。
String endpoint = "https://oss-cn-hangzhou.aliyuncs.com";
// 填寫Endpoint對應的Region資訊,例如cn-hangzhou。
String region = "cn-hangzhou";
// 強烈建議不要把訪問憑證儲存到工程代碼裡,否則可能導致訪問憑證泄露,威脅您帳號下所有資源的安全。本程式碼範例以從環境變數中擷取訪問憑證為例。運行本程式碼範例之前,請先配置環境變數。
EnvironmentVariableCredentialsProvider credentialsProvider = CredentialsProviderFactory.newEnvironmentVariableCredentialsProvider();
// 填寫Bucket名稱,例如examplebucket。
String bucketName = "examplebucket";
// 填寫Object完整路徑。Object完整路徑中不能包含Bucket名稱。
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。
StringBuilder sbStyle = new StringBuilder();
Formatter styleFormatter = new Formatter(sbStyle);
String styleType = "image/resize,m_fixed,w_100,h_100";
// 將處理後的圖片命名稱為example-resize.png並儲存到當前Bucket。
// 填寫Object完整路徑。Object完整路徑中不能包含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("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填寫Bucket所在地區對應的Endpoint。以華東1(杭州)為例,Endpoint填寫為https://oss-cn-hangzhou.aliyuncs.com。
$endpoint = "yourEndpoint";
// 填寫Bucket名稱,例如examplebucket。
$bucket= "examplebucket";
// 填寫源Object完整路徑,例如exampledir/exampleobject.jpg。Object完整路徑中不能包含Bucket名稱。
$object = "exampledir/exampleobject.jpg";
// 填寫目標Object完整路徑,例如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);
// 如果靶心圖表片不在指定Bucket中,需上傳圖片到目標Bucket。
// $ossClient->uploadFile($bucket, $object, "D:\\localpath\\exampleobject.jpg");
// 將圖片縮放為固定寬高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並儲存到當前Bucket。
$result = $ossClient->processObject($bucket, $object, $process);
// 列印處理結果。
print($result);const OSS = require('ali-oss');
const client = new OSS({
// yourregion填寫Bucket所在地區。以華東1(杭州)為例,Region填寫為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")
// 圖片處理持久化:格式轉換,並設定儲存圖片處理持久化結果的目標Bucket。
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())
# 填寫Bucket所在地區對應的Endpoint。以華東1(杭州)為例,Endpoint填寫為https://oss-cn-hangzhou.aliyuncs.com。
endpoint = 'https://oss-cn-hangzhou.aliyuncs.com'
# 指定原圖所在的Bucket名稱。
source_bucket_name = 'srcbucket'
# 指定用於存放處理後圖片的Bucket名稱,該Bucket需與原圖所在Bucket在同一地區。
target_bucket_name = 'destbucket'
# 指定原圖名稱。如果圖片不在Bucket根目錄,需攜帶檔案完整訪問路徑,例如example/example.jpg。
source_image_name = 'example/example.jpg'
# 指定Bucket執行個體,所有檔案相關的方法都需要通過Bucket執行個體來調用。
bucket = oss2.Bucket(auth, endpoint, source_bucket_name)
# 將圖片縮放為固定寬高100 px。
style = 'image/resize,m_fixed,w_100,h_100'
# 指定處理後圖片名稱。如果圖片不在Bucket根目錄,需攜帶檔案完整訪問路徑,例如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填寫Bucket對應的Endpoint,以華東1(杭州)為例,填寫為https://oss-cn-hangzhou.aliyuncs.com。其它Region請按實際情況填寫。
client, err := oss.New("yourEndpoint", "", "", oss.SetCredentialsProvider(&provider))
if err != nil {
fmt.Println("Error:", err)
os.Exit(-1)
}
// 指定原圖所在Bucket的名稱,例如srcbucket。
bucketName := "srcbucket"
bucket, err := client.Bucket(bucketName)
if err != nil {
HandleError(err)
}
// 指定原圖名稱。如果圖片不在Bucket根目錄,需攜帶檔案完整路徑,例如example/example.jpg。
sourceImageName := "example/example.jpg"
// 指定用於存放處理後圖片的Bucket名稱,該Bucket需與原圖所在Bucket在同一地區。
targetBucketName := "destbucket"
// 指定處理後圖片名稱。如果圖片不在Bucket根目錄,需攜帶檔案完整訪問路徑,例如exampledir/example.jpg。
targetImageName = "exampledir/example.jpg"
// 將圖片縮放為固定寬高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)
{
/* 初始化OSS帳號資訊。*/
/* 指定Bucket所在地區對應的Endpoint。以華東1(杭州)為例,Endpoint填寫為https://oss-cn-hangzhou.aliyuncs.com。*/
std::string Endpoint = "yourEndpoint";
/* 指定Bucket名稱,例如examplebucket。*/
std::string BucketName = "examplebucket";
/* 指定原圖名稱。如果圖片不在Bucket根目錄,需攜帶檔案完整路徑,例如example/example.jpg。*/
std::string SourceObjectName = "example/example.jpg";
/* 指定處理後圖片名稱。如果圖片不在Bucket根目錄,需攜帶檔案完整訪問路徑,例如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後轉存到當前Bucket。*/
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介面處理服務時,通過Body的方式傳遞x-oss-process,並在請求中增加sys/saveas參數以儲存處理後的檔案至指定Bucket。更多資訊,請參見PostObject。
如下列舉各種檔案另存新檔情境的請求樣本。
使用處理參數處理圖片並轉存至指定Bucket
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的Bucket中。
x-oss-process=image/resize,w_100|sys/saveas,o_dGVzdC5qcGc,b_dGVzdA使用樣式參數處理圖片並轉存至指定Bucket
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的Bucket中。
x-oss-process=style/examplestyle|sys/saveas,o_dGVzdC5qcGc,b_dGVzdA使用處理參數處理文檔轉換並轉存至指定Bucket
轉換資訊
轉換前
檔案類型: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使用樣式參數處理文檔轉換並轉存至指定Bucket
轉換資訊
轉換前
檔案類型: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使用處理參數處理視頻轉碼並轉存至指定Bucket
轉碼資訊
轉碼前
視頻格式:AVI
視頻名稱:
example.avi
轉碼後
視頻資訊
視頻格式:MP4
視頻名稱:
outobjprefix.mp4視頻流格式:H.265
視頻解析度:1920x1080
視訊框架率: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使用樣式參數處理視頻轉碼並轉存至指定Bucket
轉碼資訊
轉碼前
視頻格式: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使用處理參數處理視頻轉動圖並轉存至指定Bucket
截幀資訊
轉動圖前
視頻名稱:example.mkv
轉動圖後
動圖資訊
動圖格式:gif
視頻間隔:1s
輸出圖片解析度:100x100
檔案儲存體路徑
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,輸出圖片寬度為100px,高度為100px,間隔時間為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使用樣式參數處理視頻轉動圖並轉存至指定Bucket
截幀資訊
轉動圖前
視頻名稱: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使用處理參數處理視頻截雪碧圖並轉存至指定Bucket
截幀資訊
截雪碧圖前
視頻名稱:example.mkv
截雪碧圖後
雪碧圖資訊
雪碧圖格式:jpg
抽幀間隔:10s
子圖解析度:100x100
雪碧圖配置:每行10張,每列10張,pad、margin均為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使用樣式參數處理視頻截雪碧圖並轉存至指定Bucket
截幀資訊
截雪碧圖前
視頻名稱: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使用處理參數處理視頻截幀並轉存至指定Bucket
截幀資訊
截幀前
視頻名稱:example.mkv
截幀後
截幀資訊
截框架格式:jpg
視頻間隔:10s
輸出圖片解析度:100x100
檔案儲存體路徑
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使用樣式參數處理視頻截幀並轉存至指定Bucket
截幀資訊
截幀前
視頻名稱: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使用處理參數處理視頻拼接並轉存至指定Bucket
拼接資訊
拼接前
視頻名稱:pre.mov、example.mkv、sur.mov
處理方式
拼接時間長度與順序:
視頻名稱
順序
時間長度
pre.mov
1
整段視頻
example.mkv
2
第10秒到結尾
sur.mov
3
開頭到第10秒
拼接後
視頻資訊
視頻格式:h264
視訊框架率:25fps
視頻碼率:1 Mbps
音頻資訊
音頻格式:aac
音頻配置:48kHz採樣率,雙聲道
音頻碼率: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使用處理參數處理音頻轉碼並轉存至指定Bucket
轉碼資訊
轉碼前
音頻格式:mp3
音頻名稱:example.mp3
處理方式
轉碼時間長度:從輸入媒體檔案的第1000毫秒開始並持續60000毫秒進行音頻轉碼
轉碼後
音頻資訊
音頻格式: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使用樣式參數處理音頻轉碼並轉存至指定Bucket
轉碼資訊
轉碼前
音頻格式: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使用處理參數處理音頻拼接並轉存至指定Bucket
拼接資訊
拼接前
音頻名稱: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
音頻配置:48kHz採樣率,單聲道
音頻碼率: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