
# 更新转码模板
您可根据转码模板的ID，重新设置模板参数来更新转码模板。
#### 核心代码
1. **设置转码模板的参数。**
   ```
   //设置更新转码模板请求
   UpdateTransTemplateRequest req = new UpdateTransTemplateRequest()
           .withBody(new ModifyTransTemplateReq().withTemplateName("test_123").withTemplateId(346090L)
                   //设置视频参数
                   .withVideo(new Video()
                           // 视频编码格式，1表示H264，2表示H265
                           .withCodec(1)
                           // 设置视频码率，单位：kbit/s
                           .withBitrate(3200)
                           // 编码档次，建议设为3
                           .withProfile(3)
                           .withLevel(15)
                           // 编码质量, 值越大质量越高，耗时越长
                           .withPreset(3)
                           .withRefFramesCount(4)
                           .withMaxIframesInterval(5)
                           .withBframesCount(4)
                           .withHeight(480)
                           .withWidth(720))
                   //设置音频参数
                   .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. **发送更新转码模板请求，并显示返回消息** 。
   ```
   //发送更新转码模板请求
   UpdateTransTemplateResponse rsp = initMpcClient().updateTransTemplate(req);
   //打印返回参数
   System.out.println("UpdateTransTemplateResponse=" + 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.ModifyTransTemplateReq;
import com.huaweicloud.sdk.mpc.v1.model.UpdateTransTemplateRequest;
import com.huaweicloud.sdk.mpc.v1.model.UpdateTransTemplateResponse;
import com.huaweicloud.sdk.mpc.v1.model.Video;
import com.obs.services.internal.ServiceException;
public class TestUpdateTranscodeTemplate {
    /**
     * 初始化 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) {
        //设置更新转码模板请求
        UpdateTransTemplateRequest req = new UpdateTransTemplateRequest()
                .withBody(new ModifyTransTemplateReq().withTemplateName("test_123").withTemplateId(346090L)
                        //设置视频参数
                        .withVideo(new Video()
                                // 视频编码格式，1表示H264，2表示H265
                                .withCodec(1)
                                // 设置视频码率，单位：kbit/s
                                .withBitrate(3200)
                                // 编码档次，建议设为3
                                .withProfile(3)
                                .withLevel(15)
                                // 编码质量, 值越大质量越高，耗时越长
                                .withPreset(3)
                                .withRefFramesCount(4)
                                .withMaxIframesInterval(5)
                                .withBframesCount(4)
                                .withHeight(480)
                                .withWidth(720))
                        //设置音频参数
                        .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 {
            UpdateTransTemplateResponse rsp = initMpcClient().updateTransTemplate(req);
            System.out.println("UpdateTransTemplateResponse=" + JsonUtils.toJSON(rsp));
        } catch (ClientRequestException | ConnectionException | RequestTimeoutException | ServiceException e) {
            System.out.println(e);
        }
    }
}
```
