云服务器内容精选
-
使用限制 在使用 媒体处理 服务前,您需要了解本服务的使用限制信息。 表1 使用限制说明 限制项 说明 音视频存储 媒体处理服务无存储功能,需要将待转码的视频文件上传至OBS桶中,才能进行转码。 媒体处理服务和存储音视频文件的OBS桶必须在同一区域。示例:媒体处理服务和存储音视频文件的OBS桶都在“华北-北京四”区域。 视频编码格式 支持转码的视频编码格式:H.264、H.265、MPEG-2、MPEG-4、MJPEG、VP6/7/8/9、WMV1/2/3、ProRes 422等。若源文件的编码格式不在如上列出的格式中,则会出现转码失败。 音频编码格式 支持转码的音频编码格式:AAC、 AC3、EAC3、HE-AAC、MP2、MP3、PCM(s161e,s16be,s241e,s24be,dvd)、WMA等。若源文件的编码格式不在如上列出格式中,则会出现转码失败。 视频转封装格式 支持转封装的输入格式有:MP3、MP4、FLV、TS。 支持转封装的输出格式有:HLS、MP4。 API流控限制 目前转码的流控限制规则如下: 单租户接口流控:100次/分钟。 接口总体流控:1000次/分钟。
-
核心代码 设置查询参数。 根据水印模板ID查询。 1 ListWatermarkTemplateRequest req = new ListWatermarkTemplateRequest().withTemplateId(Collections.singletonList(215728)); 根据页数查询。 12 根据page和size进行分页查询ListWatermarkTemplateRequest req = new ListWatermarkTemplateRequest().withPage(1).withSize(10); 发送查询请求,并显示返回消息。 1234 // 发送查询水印模板请求给媒体处理服务ListWatermarkTemplateResponse rsp = initMpcClient().listWatermarkTemplate(req);// 打印返回消息System.out.println("rsp=" + JsonUtils.toJSON(rsp));
-
核心代码 设置转码模板的参数。 1 2 3 4 5 6 7 8 910111213141516171819202122232425262728293031323334353637 //创建转码模板请求CreateTransTemplateRequest req = new CreateTransTemplateRequest() .withBody(new TransTemplate().withTemplateName("test_123") //设置视频参数 .withVideo(new Video() // 视频编码格式,1表示H264,2表示H265 .withCodec(1) // 设置视频码率,单位:kbit/s .withBitrate(6000) // 编码档次,建议设为3 .withProfile(3) .withLevel(15) // 编码质量, 值越大质量越高,耗时越长 .withPreset(3) .withRefFramesCount(4) .withMaxIframesInterval(5) .withBframesCount(4) .withHeight(1080) .withWidth(1920)) //设置音频参数 .withAudio(new Audio() //设置音频编码格式,1:AAC,2:HEAAC1,3:HEAAC2,4:MP3 .withCodec(1) //采样率,1:AUDIO_SAMPLE_AUTO,2:22050Hz,3:32000Hz,4:44100Hz,5:48000Hz,6:96000Hz .withSampleRate(4) //音频码率,单位:kbit/s .withBitrate(128) //声道数 .withChannels(2)) //设置公共参数 .withCommon(new Common() .withDashInterval(5) .withHlsInterval(5) //高清低码开关 .withPvc(false) //封装类型,1:HLS,2:DASH,3:HLS+DASH,4:MP4,5:MP3,6:ADTS .withPackType(1))); 发送新建转码模板请求,并显示返回消息。 1234 //发送创建转码模板请求CreateTransTemplateResponse rsp = initMpcClient().createTransTemplate(req);//打印返回消息System.out.println("CreateTransTemplateResponse=" + JsonUtils.toJSON(rsp));
-
代码示例 调用前请根据实际情况替换如下变量:"SDK_AK"、"SDK_SK"、{your endpoint string}以及{your project id}。 1 2 3 4 5 6 7 8 91011121314151617181920212223242526272829303132333435363738394041424344454647484950 package mainimport ( "fmt" "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic" "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/config" "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/httphandler" mpc "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/mpc/v1" "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/mpc/v1/model" "net/http")func RequestHandler(request http.Request) { fmt.Println(request)}func ResponseHandler(response http.Response) { fmt.Println(response)}ak := os.Getenv("SDK_AK")sk := os.Getenv("SDK_SK")projectId := os.Getenv("{your project id}")func main() { client := mpc.NewMpcClient( mpc.MpcClientBuilder(). WithEndpoint("{your endpoint}"). WithCredential( basic.NewCredentialsBuilder(). WithAk(ak). WithSk(sk). WithProjectId(projectId). Build()). WithHttpConfig(config.DefaultHttpConfig(). WithIgnoreSSLVerification(true). WithHttpHandler(httphandler. NewHttpHandler(). AddRequestHandler(RequestHandler). AddResponseHandler(ResponseHandler))). Build()) request := &model.ListTranscodingTaskRequest{ TaskId:&[]int64{1900293}, } response, err := client.ListTranscodingTask(request) if err == nil { fmt.Println("%+v\n",response) } else { fmt.Println(err) }}
-
安装SDK 媒体转码Go SDK支持go 1.14及以上版本。执行go version检查当前Go的版本信息。 使用go get安装Go SDK,执行如下命令安装Go SDK库以及相关依赖库,具体的SDK版本号请参见SDK开发中心。 1234 # 安装Go库go get github.com/huaweicloud/huaweicloud-sdk-go-v3# 安装依赖go get github.com/json-iterator/go
-
开始使用 导入依赖模块。 123456789 import ( "fmt" "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic" "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/config" "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/httphandler" "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/mpc/v1" "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/mpc/v1/model" "net/http") 配置客户端属性。 默认配置 12 # Use default configurationhttpConfig := config.DefaultHttpConfig() 代理配置(可选)。 123456789 username := os.Getenv("USER_NAME")password := os.Getenv("USER_PASSWARD")// 根据需要配置网络代理httpConfig.WithProxy(config.NewProxy(). WithSchema("http"). WithHost("proxy.huaweicloud.com"). WithPort(80). WithUsername(username). WithPassword(password)) SSL配置(可选) 12 // 根据需要配置是否跳过SSL证书校验httpConfig.WithIgnoreSSLVerification(true); 初始化认证信息。 支持两种方式认证,您可以根据实际情况进行选择。 使用永久AK/SK 首先需要获取永久AK和SK,以及projectId,您可以参考开发前准备获取。 12345678 ak := os.Getenv("SDK_AK")sk := os.Getenv("SDK_SK")projectId := os.Getenv("PROJECT_ID")auth := basic.NewCredentialsBuilder(). WithAk(ak). WithSk(sk). WithProjectId(projectId). Build() 使用临时AK/SK 首先需要获得临时AK、SK和SecurityToken,您可以通过token获取或者通过委托授权获取。 1 2 3 4 5 6 7 8 910 ak := os.Getenv("SDK_AK")sk := os.Getenv("SDK_SK")projectId := os.Getenv("PROJECT_ID")securityToken := os.Getenv("SECURITY_TOKEN")auth := basic.NewCredentialsBuilder(). WithAk(ak). WithSk(sk). WithProjectId(projectId). WithSecurityToken(securityToken). Build() 相关参数说明如下所示: ak:账号Access Key。 sk:账号Secret Access Key 。 projectId:云服务所在项目ID ,根据你想操作的项目所属区域选择对应的项目ID。 securityToken:采用临时AK/SK认证场景下的安全票据。 初始化客户端。 12345678 # 初始化MPC的客户端client := mpc.NewMpcClient( mpcMpcClientBuilder(). WithEndpoint(endpoint). // endpoint值如 "https://mpc.region01.myhuaweicloud.com" WithCredential(auth). WithHttpConfig(config.DefaultHttpConfig()). Build()) endpoint:MPC应用区域和各服务的终端节点,具体请参见地区和终端节点。 发送请求并查看响应。 1 2 3 4 5 6 7 8 910 // 初始化请求,以调用接口查询转码模板为例request := &model.ListTranscodingTaskRequest{ TaskId:&[]int64{1900293},}response, err := client.ListTranscodingTask(request)if err == nil { fmt.Printf("%+v\n",response)} else { fmt.Println(err)} 异常处理。 表1 异常处理 一级分类 一级分类说明 ServiceResponseError service response error url.Error connect endpoint error 1234567 # 异常处理response, err := client.ListTranscodingTask(request)if err == nil { fmt.Println(response)} else { fmt.Println(err)} 原始Http侦听器。 在某些场景下可能对业务发出的Http请求进行Debug,需要看到原始的Http请求和返回信息,SDK提供侦听器功能来获取原始的为加密的Http请求和返回信息。 原始信息打印仅在debug阶段使用,请不要在生产系统中将原始的Http头和Body信息打印到日志,这些信息并未加密且其中包含敏感数据;当Body体为二进制内容,即Content-Type标识为二进制时 body为"***",详细内容不输出。 1 2 3 4 5 6 7 8 91011121314151617181920212223242526 func RequestHandler(request http.Request) { fmt.Println(request)}func ResponseHandler(response http.Response) { fmt.Println(response)}ak := os.Getenv("SDK_AK")sk := os.Getenv("SDK_SK")projectId := os.Getenv("{your project id}")client := mpc.NewMpcClient( mpc.MpcClientBuilder(). WithEndpoint("{your endpoint}"). WithCredential( basic.NewCredentialsBuilder(). WithAk(ak). WithSk(sk). WithProjectId(projectId). Build()). WithHttpConfig(config.DefaultHttpConfig(). WithIgnoreSSLVerification(true). WithHttpHandler(httphandler. NewHttpHandler(). AddRequestHandler(RequestHandler). AddResponseHandler(ResponseHandler))).Build())
-
代码示例 - 初始化MpcClient Endpoint调用前请您根据实际情况填写,并替换如下变量:"SDK_AK"、"SDK_SK"、{your endpoint string}和{your project id}。 package com.huaweicloud.sdk.test;import com.huaweicloud.sdk.core.auth.BasicCredentials;import com.huaweicloud.sdk.core.http.HttpConfig;import com.huaweicloud.sdk.mpc.v1.MpcClient;public class InitMpc { private static HttpConfig httpConfig; private static BasicCredentials auth; private static String endpoint; private static MpcClient mpcClient; public static MpcClient getMpcClient() { httpConfig = HttpConfig.getDefaultHttpConfig().withIgnoreSSLVerification(true).withTimeout(3); //http代理设置,请根据实际情况设置 //httpConfig.withProxyHost("xxxxx").withProxyPort(xxxxx).withProxyUsername("xxxxx"). // withProxyPassword("xxxxx"); String ak = System.getenv("SDK_AK"); String sk = System.getenv("SDK_SK"); String projectId = System.getenv("PROJECT_ID"); endpoint = "https://mpc.region01.myhuaweicloud.com"; auth = new BasicCredentials().withAk(ak).withSk(sk).withProjectId(projectId); mpcClient = MpcClient.newBuilder() .withHttpConfig(httpConfig) .withCredential(auth) .withEndpoint(endpoint) .build(); return mpcClient; }}
-
核心代码 123 DeleteAnimatedGraphicsTaskRequest req = new DeleteAnimatedGraphicsTaskRequest().withTaskId("3198527");DeleteAnimatedGraphicsTaskResponse rsp = initMpcClient().deleteAnimatedGraphicsTask(req);System.out.println("rsp=" + JsonUtils.toJSON(rsp));
-
核心代码 创建转封装任务。 1 2 3 4 5 6 7 8 9101112131415 //设置转封装输入视频地址和输出路径ObsObjInfo input = new ObsObjInfo().withBucket("mpc-east-2").withLocation("region01").withObject("ok.flv");ObsObjInfo output = new ObsObjInfo().withBucket("mpc-east-2").withLocation("region01").withObject("output");//创建转封装请求CreateRemuxTaskRequest req = new CreateRemuxTaskRequest() .withBody(new CreateRemuxTaskReq().withInput(input).withOutput(output) // 设置转封装参数 .withOutputParam(new RemuxOutputParam() //设置转封装格式 .withFormat("HLS") //转成hls切片间隔 .withSegmentDuration(5)));//发送转封装请求CreateRemuxTaskResponse rsp = initMpcClient().createRemuxTask(req);System.out.println(rsp.toString())
-
核心代码 创建截图任务请求。 新建截图任务请求包括输入文件、输出文件的路径。具体参数请参考新建截图任务接口。 1 2 3 4 5 6 7 8 91011121314151617 //设置截图输入视频地址ObsObjInfo input = new ObsObjInfo().withBucket("mpc-east-2").withLocation("region01").withObject("ok.mp4");//设置截图输出路径ObsObjInfo output = new ObsObjInfo().withBucket("mpc-east-2").withLocation("region01").withObject("output");//创建截图请求CreateThumbnailsTaskRequest req = new CreateThumbnailsTaskRequest() .withBody(new CreateThumbReq().withInput(input).withOutput(output) //设置截图类型,此处理按时间点截图 .withThumbnailPara(new ThumbnailPara().withType(ThumbnailPara.TypeEnum.DOTS) //设置截图输出文件名称 .withOutputFilename("photo") //设置截图的时间点 .withDots(Collections.singletonList(2)) //设置截图的宽 .withWidth(480) //设置截图的高 .withHeight(360))); 说明:生成的截图文件按截图时间戳命名,从首帧开始截取,中间按时间间隔截取,最后末帧截取一张。如视频文件20s,截图间隔为11s,则生成的截图文件为0.jpg,11.jpg,20.jpg。 发送创建截图任务请求并显示返回消息。 12 CreateThumbnailsTaskResponse rsp = initMpcClient().createThumbnailsTask(req);System.out.println("CreateThumbnailsTaskResponse=" + JsonUtils.toJSON(rsp));
-
核心代码 创建动图任务。 动图任务需要设置输入视频文件、输出动图路径、动图帧率、动图宽高等参数。 1 2 3 4 5 6 7 8 91011121314151617181920 //设置输入视频地址和输出路径ObsObjInfo input = new ObsObjInfo().withBucket("mpc-east-2").withLocation("region01").withObject("ok.mp4");ObsObjInfo output = new ObsObjInfo().withBucket("mpc-east-2").withLocation("region01").withObject("output");//创建动图请求CreateAnimatedGraphicsTaskRequest req = new CreateAnimatedGraphicsTaskRequest() .withBody(new CreateAnimatedGraphicsTaskReq().withInput(input).withOutput(output) .withOutputParam(new AnimatedGraphicsOutputParam() //设置动图格式 .withFormat(AnimatedGraphicsOutputParam.FormatEnum.GIF) //设置动图帧率 .withFrameRate(15) //设置起始时间,单位毫秒 .withStart(0) //设置结束时间,单位毫秒,最大时间间隔60s .withEnd(3_000)));// 发起请求CreateAnimatedGraphicsTaskResponse rsp = initMpcClient().createAnimatedGraphicsTask(req);// 打印结果System.out.println("CreateAnimatedGraphicsTaskResponse=" + JsonUtils.toJSON(rsp));
-
根据任务ID查询 123456 //根据任务ID查询,最多支持10个任务IDListEncryptTaskRequest req = new ListEncryptTaskRequest().withTaskId(Collections.singletonList("3223179"));// 向MPC发送查询独立加密任务的请求ListEncryptTaskResponse rsp = initMpcClient().listEncryptTask(req); // 打印返回消息 System.out.println(rsp.toString());
-
根据任务状态查询 123456 // 根据任务的状态查询ListEncryptTaskRequest req = new ListEncryptTaskRequest().withStatus(ListEncryptTaskRequest.StatusEnum.FAILED);// 向MPC发送查询独立加密任务的请求ListEncryptTaskResponse rsp = initMpcClient().listEncryptTask(req); // 打印返回消息 System.out.println(rsp.toString());
-
分页查询 123456 // 分页查询ListEncryptTaskRequest req = new ListEncryptTaskRequest().withPage(1).withSize(4);// 向MPC发送查询独立加密任务的请求ListEncryptTaskResponse rsp = initMpcClient().listEncryptTask(req); // 打印返回消息 System.out.println(rsp.toString());
-
根据时间段查询 123456 // 根据时间段查询ListEncryptTaskRequest req = new ListEncryptTaskRequest().withStartTime("20201220131400").withEndTime("20201221131400");// 向MPC发送查询独立加密任务的请求ListEncryptTaskResponse rsp = initMpcClient().listEncryptTask(req); // 打印返回消息 System.out.println(rsp.toString());
更多精彩内容
CDN加速
GaussDB
文字转换成语音
免费的服务器
如何创建网站
域名网站购买
私有云桌面
云主机哪个好
域名怎么备案
手机云电脑
SSL证书申请
云点播服务器
免费OCR是什么
电脑云桌面
域名备案怎么弄
语音转文字
文字图片识别
云桌面是什么
网址安全检测
网站建设搭建
国外CDN加速
SSL免费证书申请
短信批量发送
图片OCR识别
云数据库MySQL
个人域名购买
录音转文字
扫描图片识别文字
OCR图片识别
行驶证识别
虚拟电话号码
电话呼叫中心软件
怎么制作一个网站
Email注册网站
华为VNC
图像文字识别
企业网站制作
个人网站搭建
华为云计算
免费租用云托管
云桌面云服务器
ocr文字识别免费版
HTTPS证书申请
图片文字识别转换
国外域名注册商
使用免费虚拟主机
云电脑主机多少钱
鲲鹏云手机
短信验证码平台
OCR图片文字识别
SSL证书是什么
申请企业邮箱步骤
免费的企业用邮箱
云免流搭建教程
域名价格