Java 类com.amazonaws.services.elastictranscoder.model.VideoParameters 实例源码

项目:amediamanager    文件:ElasticTranscoderPipelineResource.java   
private String provisionPreset() {
    String presetId = config.getProperty(ConfigProps.TRANSCODE_PRESET);

    if (presetId == null) {
        LOG.info("Provisioning ETS Preset.");
        state = ProvisionState.PROVISIONING;
        Map<String, String> codecOptions = new HashMap<String, String>();
        codecOptions.put("Profile", "main");
        codecOptions.put("Level", "3.1");
        codecOptions.put("MaxReferenceFrames", "3");

        VideoParameters video = new VideoParameters()
            .withCodec("H.264")
            .withCodecOptions(codecOptions)
            .withKeyframesMaxDist("90")
            .withFixedGOP("false")
            .withBitRate("2200")
            .withFrameRate("30")
            .withMaxWidth("1280")
            .withMaxHeight("720")
            .withSizingPolicy("ShrinkToFit")
            .withPaddingPolicy("NoPad")
            .withDisplayAspectRatio("auto");

        AudioParameters audio = new AudioParameters()
            .withCodec("AAC")
            .withSampleRate("44100")
            .withBitRate("160")
            .withChannels("2");

        Thumbnails thumbnails = new Thumbnails()
            .withFormat("png")
            .withInterval("60")
            .withMaxWidth("500")
            .withMaxHeight("300")
            .withSizingPolicy("ShrinkToFit")
            .withPaddingPolicy("NoPad");

        CreatePresetRequest presetRequest = new CreatePresetRequest()
            .withName("amm-reinvent-preset-" + UUID.randomUUID().toString().replace("-", "").substring(0, 20).toUpperCase())
            .withDescription("Preset used by aMediaManager re:Invent 2013")
            .withContainer("mp4")
            .withVideo(video)
            .withAudio(audio)
            .withThumbnails(thumbnails);

        try {
            CreatePresetResult result = transcoderClient.createPreset(presetRequest);
            presetId = result.getPreset().getId();
            config.getConfigurationProvider().persistNewProperty(ConfigProps.TRANSCODE_PRESET, presetId);
            LOG.info("Preset {} created. Persisting to configuration provider.", presetId);
        } catch (AmazonServiceException e) {
            LOG.error("Failed creating transcoder preset {}", presetRequest.getName(), e);
            state = ProvisionState.UNPROVISIONED;
        }
    }
    return presetId;
}