本文为您介绍另存为的概念、注意事项、参数说明和使用示例。
什么是另存为
同步处理默认不保存处理后的文件,您需要在处理请求内添加另存为参数,将处理后的文件作为对象 (Object) 保存到指定的存储空间 (Bucket) 内。异步处理由于是以任务形式对文件进行异步数据处理,请求返回时只会返回任务ID,所以要求您在提交时必须添加另存为参数,将处理完成后的文件作为对象 (Object) 保存到指定的存储空间 (Bucket) 内,以便后续访问。
注意事项
-
权限要求:
-
进行另存为操作要求具有源Bucket的
oss:PostProcessTask
权限,以及目标Object的oss:PutObject
权限。 -
另存为文件的读写权限ACL默认继承Bucket,不支持自定义。
-
-
地域要求:源文件所在Bucket和处理后另存为的目标Bucket可以相同也可以不同,但必须属于同一阿里云账号下的相同地域。
-
另存为方式:不支持将文件URL处理后的文件直接转存至指定Bucket。您可以将处理后的文件保存到本地,然后再上传至指定Bucket。
-
另存为文件存储时长:如果您需要调整另存为文件的存储时长,请结合生命周期规则介绍配置合理的文件过期策略。
参数说明
使用sys/saveas
参数时,您需要携带以下选项:
选项 |
含义 |
o |
目标Object名称,名称需经过URL安全的Base64编码。具体操作,请参见水印编码。 |
b |
目标Bucket名称,名称需经过URL安全的Base64编码。如果不指定目标Bucket,则默认保存至原文件所在Bucket。 |
使用阿里云SDK
您可以通过添加另存为参数(sys/saveas)的方式将阿里云SDK处理后的文件保存至指定Bucket。以下仅列举常见SDK的图片处理另存为的代码示例。关于其他SDK的代码示例,请参见简介。
import com.aliyun.oss.*;
import com.aliyun.oss.common.auth.*;
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";
// 强烈建议不要把访问凭证保存到工程代码里,否则可能导致访问凭证泄露,威胁您账号下所有资源的安全。本代码示例以从环境变量中获取访问凭证为例。运行本代码示例之前,请先配置环境变量。
EnvironmentVariableCredentialsProvider credentialsProvider = CredentialsProviderFactory.newEnvironmentVariableCredentialsProvider();
// 填写Bucket名称,例如examplebucket。
String bucketName = "examplebucket";
// 填写Object完整路径。Object完整路径中不能包含Bucket名称。
String sourceImage = "exampleimage.png";
// 创建OSSClient实例。
OSS ossClient = new OSSClientBuilder().build(endpoint, credentialsProvider);
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();
}
}
}
}
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在同一地域。
taget_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(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实例。
// 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
#include
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();
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请求。直接发起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: OSS qn6qrrqxo2oawuk53otf****:KU5h8YMUC78M30dXqf3JxrT****=
// 将目标图片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: OSS qn6qrrqxo2oawuk53otf****:KU5h8YMUC78M30dXqf3JxrT****=
// 使用名称为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: OSS qn6qrrqxo2oawuk53otf****:UNQDb7GapEgJkcde6OhZ9J****
// 将类型为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: OSS qn6qrrqxo2oawuk53otf****:UNQDb7GapEgJkcde6OhZ9J****
// 使用名称为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
-
视频分辨率: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: OSS qn6qrrqxo2oawuk53otf****:UNQDb7GapEgJkcde6OhZ9J****
// 对文件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: OSS qn6qrrqxo2oawuk53otf****:UNQDb7GapEgJkcde6OhZ9J****
// 使用名称为examplestyle的样式将文件example.avi进行视频转码,转码完成后将得到的文件保存为oss://outbucket/outobjprefix.mp4。
x-oss-async-process=style/examplestyle|sys/saveas,b_b3V0YnVja2V0,o_b3V0b2JqcHJlZml4LnthdXRvZXh0fQ
使用处理参数处理视频转动图并转存至指定Bucket
截帧信息
-
转动图前
-
视频名称:example.mkv
-
-
转动图后
-
动图信息
-
动图格式:gif
-
视频间隔:1s
-
输出图片分辨率:100×100
-
-
文件存储路径
-
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: OSS qn6qrrqxo2oawuk53otf****:UNQDb7GapEgJkcde6OhZ9J****
// 对文件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: OSS qn6qrrqxo2oawuk53otf****:UNQDb7GapEgJkcde6OhZ9J****
// 使用名称为examplestyle的样式对文件example.mkv进行视频转动图,转换完成后将得到的文件保存为oss://outbucket/outobjprefix.gif。
x-oss-async-process=style/examplestyle|sys/saveas,b_b3V0YnVja2V0,o_b3V0b2JqcHJlZml4LnthdXRvZXh0fQ
使用处理参数处理视频截雪碧图并转存至指定Bucket
截帧信息
-
截雪碧图前
-
视频名称:example.mkv
-
-
截雪碧图后
-
雪碧图信息
-
雪碧图格式:jpg
-
抽帧间隔:10s
-
子图分辨率:100×100
-
雪碧图配置:每行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: OSS qn6qrrqxo2oawuk53otf****:UNQDb7GapEgJkcde6OhZ9J****
// 对文件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: OSS qn6qrrqxo2oawuk53otf****:UNQDb7GapEgJkcde6OhZ9J****
// 使用名称为examplestyle的样式对文件example.mkv进行视频截雪碧图。
x-oss-async-process=style/examplestyle|sys/saveas,b_b3V0YnVja2V0,o_b3V0b2JqcHJlZml4LXtpbmRleH0ue2F1dG9leHR9Cg
使用处理参数处理视频截帧并转存至指定Bucket
截帧信息
-
截帧前
-
视频名称:example.mkv
-
-
截帧后
-
截帧信息
-
截帧格式:jpg
-
视频间隔:10s
-
输出图片分辨率: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: OSS qn6qrrqxo2oawuk53otf****:UNQDb7GapEgJkcde6OhZ9J****
// 对文件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: OSS qn6qrrqxo2oawuk53otf****:UNQDb7GapEgJkcde6OhZ9J****
// 使用名称为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 /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: OSS qn6qrrqxo2oawuk53otf****:UNQDb7GapEgJkcde6OhZ9J****
// 对文件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: OSS qn6qrrqxo2oawuk53otf****:UNQDb7GapEgJkcde6OhZ9J****
// 对文件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: OSS qn6qrrqxo2oawuk53otf****:UNQDb7GapEgJkcde6OhZ9J****
// 使用名称为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: OSS qn6qrrqxo2oawuk53otf****:UNQDb7GapEgJkcde6OhZ9J****
// 对文件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
内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家
阿里云企业补贴进行中: 马上申请
腾讯云限时活动1折起,即将结束: 马上收藏
同尘科技为腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利:同意关联,立享优惠
转转请注明出处:https://www.yunxiaoer.com/158730.html