
# 新建转码模板
您可以通过SDK新建转码模板，用于转码时的转码模板设置。具体的模板参数可以参考[新建转码模板](https://support.huaweicloud.com/api-mpc/mpc_04_0021.html)接口。
#### 核心代码
1. **设置转码模板的参数。**
   ```
   //创建转码模板请求
   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)));
   ```
   
2. **发送新建转码模板请求，并显示返回消息** 。
   ```
   //发送创建转码模板请求
   CreateTransTemplateResponse rsp = initMpcClient().createTransTemplate(req);
   //打印返回消息
   System.out.println("CreateTransTemplateResponse=" + JsonUtils.toJSON(rsp));
   ```
   
 
#### 完整代码
```
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);
        }
    }
}
```
