媒体处理 MPC
媒体处理 MPC
链接复制成功!
新建转码模板
您可以通过SDK新建转码模板,用于转码时的转码模板设置。具体的模板参数可以参考新建转码模板接口。
核心代码
- 设置转码模板的参数。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
//创建转码模板请求 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)));
- 发送新建转码模板请求,并显示返回消息。
1 2 3 4
//发送创建转码模板请求 CreateTransTemplateResponse rsp = initMpcClient().createTransTemplate(req); //打印返回消息 System.out.println("CreateTransTemplateResponse=" + JsonUtils.toJSON(rsp));
完整代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 |
import com.huaweicloud.sdk.core.auth.BasicCredentials;
import com.huaweicloud.sdk.core.exception.ClientRequestException;
import com.huaweicloud.sdk.core.exception.ConnectionException;
import com.huaweicloud.sdk.core.exception.RequestTimeoutException;
import com.huaweicloud.sdk.core.http.HttpConfig;
import com.huaweicloud.sdk.core.utils.JsonUtils;
import com.huaweicloud.sdk.mpc.v1.MpcClient;
import com.huaweicloud.sdk.mpc.v1.model.Audio;
import com.huaweicloud.sdk.mpc.v1.model.Common;
import com.huaweicloud.sdk.mpc.v1.model.CreateTransTemplateRequest;
import com.huaweicloud.sdk.mpc.v1.model.CreateTransTemplateResponse;
import com.huaweicloud.sdk.mpc.v1.model.TransTemplate;
import com.huaweicloud.sdk.mpc.v1.model.Video;
import com.obs.services.internal.ServiceException;
public class TestTranscodeTemplate {
/**
* 初始化 MpcClient
* @return
*/
public static MpcClient initMpcClient() {
HttpConfig httpConfig = HttpConfig.getDefaultHttpConfig().withIgnoreSSLVerification(true).withTimeout(3);
//http代理设置,请根据实际情况设置
//httpConfig.withProxyHost("xxxxxx").withProxyPort(xxxxxx).withProxyUsername("xxxxxx").
// withProxyPassword("xxxxxx");
//根据实际填写ak,sk,在控制台账号名下“我的凭证 > 访问密钥”上创建和查看您的AK/SK
String ak = System.getenv("SDK_AK");
String sk = System.getenv("SDK_SK");
//根据实际填写项目ID,在控制台账号名下“我的凭证 > API凭证”下查看您的项目ID
String projectId = System.getenv("PROJECT_ID");
//根据实际填写所需endpoint,这里以“region01”为例
String endpoint = "https://mpc.region01.myhuaweicloud.com";
BasicCredentials auth = new BasicCredentials().withAk(ak).withSk(sk).withProjectId(projectId);
return MpcClient.newBuilder()
.withHttpConfig(httpConfig)
.withCredential(auth)
.withEndpoint(endpoint)
.build();
}
/**
* 创建转码模板
* @param args
*/
public static void main(String[] args) {
//创建转码模板请求
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)));
//发送转码模板请求
try {
CreateTransTemplateResponse rsp = initMpcClient().createTransTemplate(req);
System.out.println("CreateTransTemplateResponse=" + JsonUtils.toJSON(rsp));
} catch (ClientRequestException | ConnectionException | RequestTimeoutException | ServiceException e) {
System.out.println(e);
}
}
}
|
父主题: 配置转码模板