This topic provides examples on how to use the API operations of the transcoding template module. API操作は、ApsaraVideo VOD SDK for Javaにカプセル化されています。 APIを呼び出して、トランスコードテンプレートグループを作成、変更、削除、および照会できます。 コード変換テンプレートグループをデフォルトとして指定することもできます。
クライアントを初期化
SDKを使用する前に、クライアントを初期化してください。 詳細については、「初期化」をご参照ください。
トランスコードテンプレートグループの作成
AddTranscodeTemplateGroup操作を呼び出して、トランスコードテンプレートグループを作成できます。
For more information about the request and response parameters of this operation, see AddTranscodeTemplateGroup. 例:
com.aliyuncs.vod.mo del.v20170321.AddTranscodeTemplateGroupRequestをインポートします。com.aliyuncs.vod.mo del.v20170321.AddTranscodeTemplateGroupResponseをインポートします。/**
* コード変換テンプレートグループを作成します。
*/
public static AddTranscodeTemplateGroupResponse addTranscodeTemplateGroup(DefaultAcsClient client) throws Exception {
AddTranscodeTemplateGroupRequestリクエスト=新しいAddTranscodeTemplateGroupRequest();
// トランスコードテンプレートのID。
request.setName("grouptest");
request.setTranscodeTemplateList(buildTranscodeTemplateList().toJSONString());
return client.getAcsResponse (リクエスト);
}
/**
* 追加するトランスコードテンプレートのパラメーターをビルドします。
*
* @return
* /
public static JSONArray buildTranscodeTemplateList() {
JSONObject transcodeTemplate = new JSONObject();
// テンプレートの名前。
transcodeTemplate.put("TemplateName" 、"testtemplate");
// 定義。
transcodeTemplate.put("定義" 、"LD");
// ビデオストリームのトランスコードの設定。
JSONObject video = new JSONObject();
video.put("幅" 、640);
video.put("ビットレート" 、400);
video.put("Fps" 、25);
video.put("Remove", false);
video.put("Codec", "H.264");
video.put("Gop", "250");
transcodeTemplate.put("ビデオ" 、ビデオ);
// The configurations of audio stream transcoding.
JSONObject audio = new JSONObject();
audio.put("Codec", "AAC");
audio.put("ビットレート" 、"64");
audio.put("Channels", "2");
audio.put("Samplerate" 、"32000");
transcodeTemplate.put("オーディオ" 、オーディオ);
// カプセル化のためのコンテナ。
JSONObject container = new JSONObject();
container.put("Format", "mp4");
transcodeTemplate.put("Container", container);
// 条件付きトランスコードの設定。
JSONObject transconfig = new JSONObject();
transconfig.put("IsCheckReso", false);
transconfig.put("IsCheckResoFail", false);
transconfig.put("IsCheckVideoBitrate", false);
transconfig.put("IsCheckVideoBitrateFail" 、false);
transconfig.put("IsCheckAudioBitrate" 、false);
transconfig.put("IsCheckAudioBitrateFail" 、false);
transcodeTemplate.put("TransConfig" 、transconfig);
// M3U8ビデオでのみサポートされている暗号化の設定。
//JSONObject encryptSetting = new JSONObject();
// encryptSetting.put("EncryptType", "Private");
// transcodeTemplate.put("EncryptSetting", encryptSetting);
// The IDs of associated watermarks.
JSONArray watermarkIdList=新しいJSONArray();
watermarkIdList.add("263261bdc1ff65782f8995c6dd22a16a");
// USER_DEFAULT_WATERMARKは、デフォルトの透かしのIDを示します。
watermarkIdList.add("USER_DEFAULT_WATERMARK");
transcodeTemplate.put("WatermarkIds" 、watermarkIdList);
JSONArray transcodeTemplateList = new JSONArray();
transcodeTemplateList.add(transcodeTemplate);
transcodeTemplateListを返します。}
/**
* Call example
* /
public static void main(String[] args) throws ClientException {
DefaultAcsClient client = initVodClient("<Your AccessKeyId>", "<Your AccessKeySecret>");
AddTranscodeTemplateGroupResponse response = new AddTranscodeTemplateGroupResponse();
try {
response = addTranscodeTemplateGroup(client);
System.out.println("TranscodeTemplateGroupId = " + response.getTranscodeTemplateGroupId());
} catch (Exception e) {
System.out.println("ErrorMessage = " + e.getLocalizedMessage());
}
System.out.println("RequestId = " + response.getRequestId());
}
Modify a transcoding template group
UpdateTranscodeTemplateGroup操作を呼び出して、トランスコードテンプレートグループを変更できます。
この操作のリクエストパラメーターとレスポンスパラメーターの詳細については、「UpdateTranscodeTemplateGroup」をご参照ください。 例:
import com.aliyuncs.vod.model.v20170321.UpdateTranscodeTemplateGroupRequest;
import com.aliyuncs.vod.model.v20170321.UpdateTranscodeTemplateGroupResponse;
/**
* コード変換テンプレートグループを変更します。
*/
public static UpdateTranscodeTemplateGroupResponse updateTranscodeTemplateGroup(DefaultAcsClient client) throws Exception {
UpdateTranscodeTemplateGroupRequest request = new UpdateTranscodeTemplateGroupRequest();
request.setName("grouptest1");
// The ID of the transcoding template group.
request.setTranscodeTemplateGroupId("4c71a339fecec0152b4fa6f452 ****");
request.setTranscodeTemplateList(buildTranscodeTemplateList().toJSONString());
return client.getAcsResponse (リクエスト);
}
/**
* 変更するトランスコードテンプレートのパラメーターをビルドします。
*
* @return
* /
public static JSONArray buildTranscodeTemplateList() {
JSONObject transcodeTemplate = new JSONObject();
// トランスコードテンプレートのID。
transcodeTemplate.put("TranscodeTemplateId", "85c2b18ac08fda33e8f6d9c56242f");
// テンプレートの名前。
transcodeTemplate.put("TemplateName" 、"testtemplate");
// The configurations of video stream transcoding.
JSONObject video = new JSONObject();
video.put("幅" 、960);
video.put("ビットレート" 、900);
video.put("Fps" 、25);
video.put("Remove", false);
video.put("Codec", "H.264");
video.put("Gop" 、"250");
transcodeTemplate.put("ビデオ" 、ビデオ);
// オーディオストリームのトランスコードの設定。
JSONObject audio = new JSONObject();
audio.put("Codec", "AAC");
audio.put("ビットレート" 、"96");
audio.put("Channels", "2");
audio.put("Samplerate" 、"32000");
transcodeTemplate.put("オーディオ" 、オーディオ);
// カプセル化のためのコンテナ。
JSONObject container = new JSONObject();
container.put("Format", "mp4");
transcodeTemplate.put("コンテナ" 、コンテナ);
// 条件付きトランスコードの設定。
JSONObject transconfig = new JSONObject();
transconfig.put("IsCheckReso" 、false);
transconfig.put("IsCheckResoFail" 、false);
transconfig.put("IsCheckVideoBitrate" 、false);
transconfig.put("IsCheckVideoBitrateFail" 、false);
transconfig.put("IsCheckAudioBitrate" 、false);
transconfig.put("IsCheckAudioBitrateFail" 、false);
transcodeTemplate.put("TransConfig" 、transconfig);
// The configurations of encryption, which is supported only for M3U8 videos.
JSONObject encryptSetting = new JSONObject();
encryptSetting.put("EncryptType", "Private");
// 関連する透かしのID。
JSONArray watermarkIdList=新しいJSONArray();
watermarkIdList.add("263261bdc1ff65782f95c6dd22a16a");
// USER_DEFAULT_WATERMARKは、デフォルトの透かしのIDを示します。
watermarkIdList.add("USER_DEFAULT_WATERMARK");
transcodeTemplate.put("WatermarkIds", watermarkIdList);
JSONArray transcodeTemplateList = new JSONArray();
transcodeTemplateList.add(transcodeTemplate);
transcodeTemplateListを返します。}
/**
* 呼び出し例
* /
public static void main(String[] args) throws ClientException {
DefaultAcsClient client = initVodClient("<Your AccessKeyId>", "<Your AccessKeySecret>");
UpdateTranscodeTemplateGroupResponseレスポンス=new UpdateTranscodeTemplateGroupResponse();
try {
response = updateTranscodeTemplateGroup (クライアント);
System.out.println("TranscodeTemplateGroupId = " + response.getTranscodeTemplateGroupId());
} catch (Exception e) {
System.out.println("ErrorMessage = " + e.getLocalizedMessage());
}
System.out.println("RequestId = " + response.getRequestId());
}
コード変換テンプレートグループの照会
ListTranscodeTemplateGroup操作を呼び出して、トランスコードテンプレートグループを照会できます。
この操作のリクエストパラメーターとレスポンスパラメーターの詳細については、「ListTranscodeTemplateGroup」をご参照ください。 例:
com.aliyuncs.vod.mo del.v20170321.ListTranscodeTemplateGroupRequestをインポートします。com.aliyuncs.vod.mo del.v20170321.ListTranscodeTemplateGroupResponseをインポートします。/**
* コード変換テンプレートグループを照会します。
* /
パブリック静的ListTranscodeTemplateGroupResponse listTranscodeTemplateGroup(DefaultAcsClientクライアント) が例外 {をスローします
ListTranscodeTemplateGroupRequest request = new ListTranscodeTemplateGroupRequest();
return client.getAcsResponse(request);
}
/**
* 呼び出し例
* /
public static void main(String[] args) throws ClientException {
DefaultAcsClient client = initVodClient("<Your AccessKeyId>", "<Your AccessKeySecret>");
ListTranscodeTemplateGroupResponseレスポンス=new ListTranscodeTemplateGroupResponse();
try {
response = listTranscodeTemplateGroup (クライアント);
System.out.println("TranscodeTemplateGroupId = " + response.getTranscodeTemplateGroupList().get(0).getTranscodeTemplateGroupId());
System.out.println("GroupName = " + response.getTranscodeTemplateGroupList().get(0).getName());
} catch (Exception e) {
System.out.println("ErrorMessage = " + e.getLocalizedMessage());
}
System.out.println("RequestId = " + response.getRequestId());
}
Query a transcoding template group
You can call the GetTranscodeTemplateGroup operation to query details about a transcoding template group.
この操作のリクエストパラメーターとレスポンスパラメーターの詳細については、「GetTranscodeTemplateGroup」をご参照ください。 例:
import com.aliyuncs.vod.model.v20170321.GetTranscodeTemplateGroupRequest;
import com.aliyuncs.vod.model.v20170321.GetTranscodeTemplateGroupResponse;
/**
* コード変換テンプレートグループを照会します。
*/
public static GetTranscodeTemplateGroupResponse getTranscodeTemplateGroup(DefaultAcsClient client) throws Exception {
GetTranscodeTemplateGroupRequest request = new GetTranscodeTemplateGroupRequest();
request.setTranscodeTemplateGroupId("a0fa0fda545e50e7a3eb75491f9f4");
return client.getAcsResponse (リクエスト);
}
/**
* 呼び出し例
* /
public static void main(String[] args) throws ClientException {
DefaultAcsClient client = initVodClient("<Your AccessKeyId>", "<Your AccessKeySecret>");
GetTranscodeTemplateGroupResponseレスポンス=new GetTranscodeTemplateGroupResponse();
try {
response = getTranscodeTemplateGroup(client);
if (response.getTranscodeTemplateGroup().getTranscodeTemplateList().size() > 0) {
// コード変換テンプレートグループのID。
System.out.println("TranscodeTemplateGroupId = " + response.getTranscodeTemplateGroup().getTranscodeTemplateGroupId());
// トランスコードテンプレートグループの名前。
System.out.println("Name = " + response.getTranscodeTemplateGroup().getName());
// トランスコードテンプレートグループがデフォルトグループかどうか。
System.out.println("Name = " + response.getTranscodeTemplateGroup().getIsDefault());
// テンプレートでのビデオストリームのトランスコードの設定。
System.out.println("Video = " + response.getTranscodeTemplateGroup().getTranscodeTemplateList().get(0).getVideo());
// テンプレートでのオーディオストリームのトランスコーディングの設定。
System.out.println("Audio = " + response.getTranscodeTemplateGroup().getTranscodeTemplateList().get(0).getAudio());
// トランスコードテンプレートの定義。
System.out.println("Definition = " + response.getTranscodeTemplateGroup().getTranscodeTemplateList().get(0).getDefinition());
// トランスコードに関連する透かしのID。
System.out.println("WatermarkIds = " + response.getTranscodeTemplateGroup().getTranscodeTemplateList().get(0).getWatermarkIds());
// The container for encapsulation that the transcoding template uses.
System.out.println("Container = " + response.getTranscodeTemplateGroup().getTranscodeTemplateList().get(0).getContainer());
// トランスコードテンプレートのID。
System.out.println("TranscodeTemplateId = " + response.getTranscodeTemplateGroup().getTranscodeTemplateList().get(0).getTranscodeTemplateId());
// トランスコードテンプレートの名前。
System.out.println("TemplateName = " + response.getTranscodeTemplateGroup().getTranscodeTemplateList().get(0).getTemplateName());
}
} catch (Exception e) {
System.out.println("ErrorMessage = " + e.getLocalizedMessage());
}
System.out.println("RequestId = " + response.getRequestId());
}
コード変換テンプレートグループをデフォルトとして指定する
SetDefaultTranscodeTemplateGroup操作を呼び出して、コード変換テンプレートグループをデフォルトとして指定できます。
この操作のリクエストパラメーターとレスポンスパラメーターの詳細については、「SetDefaultTranscodeTemplateGroup」をご参照ください。 例:
com.aliyuncs.vod.mo del.v20170321.SetDefaultTranscodeTemplateGroupRequestをインポートします。com.aliyuncs.vod.mo del.v20170321.SetDefaultTranscodeTemplateGroupResponseをインポートします。/**
* コード変換テンプレートグループをデフォルトとして指定します。
* /
パブリック静的SetDefaultTranscodeTemplateGroupResponse setDefaultTranscodeTemplateGroup(DefaultAcsClientクライアント) が例外 {をスローします
SetDefaultTranscodeTemplateGroupRequestリクエスト=新しいSetDefaultTranscodeTemplateGroupRequest();
request.setTranscodeTemplateGroupId("ecf03526c945ae022165c469f4548e");
return client.getAcsResponse (リクエスト);
}
/**
* 呼び出し例
* /
public static void main(String[] args) throws ClientException {
DefaultAcsClient client = initVodClient("<Your AccessKeyId>", "<Your AccessKeySecret>");
SetDefaultTranscodeTemplateGroupResponse応答=新しいSetDefaultTranscodeTemplateGroupResponse();
try {
response = setDefaultTranscodeTemplateGroup (クライアント);
} catch (Exception e) {
System.out.println("ErrorMessage = " + e.getLocalizedMessage());
}
System.out.println("RequestId = " + response.getRequestId());
}
Delete a transcoding template group
DeleteTranscodeTemplateGroup操作を呼び出して、トランスコードテンプレートグループを削除できます。
この操作のリクエストパラメーターとレスポンスパラメーターの詳細については、「DeleteTranscodeTemplateGroup」をご参照ください。 例:
com.aliyuncs.vod.mo del.v20170321.DeleteTranscodeTemplateGroupRequestをインポートします。com.aliyuncs.vod.mo del.v20170321.DeleteTranscodeTemplateGroupResponseをインポートします。/**
* コード変換テンプレートグループを削除します。
* /
public static DeleteTranscodeTemplateGroupResponse deleteTranscodeTemplateGroup(DefaultAcsClientクライアント) throws Exception {
DeleteTranscodeTemplateGroupRequestリクエスト=新しいDeleteTranscodeTemplateGroupRequest();
request.setTranscodeTemplateGroupId("a0fa0fda545e50e91a3eb75491 ****");
request.setForceDelGroup("false");
request.setTranscodeTemplateIds("ddddddd,ffffffff");
return client.getAcsResponse (リクエスト);
}
/**
* 呼び出し例
* /
public static void main(String[] args) throws ClientException {
DefaultAcsClient client = initVodClient("<Your AccessKeyId>", "<Your AccessKeySecret>");
DeleteTranscodeTemplateGroupResponseレスポンス=new DeleteTranscodeTemplateGroupResponse();
try {
response = deleteTranscodeTemplateGroup (クライアント);
} catch (Exception e) {
System.out.println("ErrorMessage = " + e.getLocalizedMessage());
}
System.out.println("RequestId = " + response.getRequestId());
}