AmazonQ 가 생성한 자바코드
불의정령

Lv.1 불의정령 (121.♡.122.206)

2024년 6월 10일 PM 03:36 · 수정됨(16:24)

조회 1,185 공감 0

제가 AWS Media서비스에 관계되어 있다보니 코드적으로 MediaService를 제어하는데 흥미가 있습니다.

그래서 AmazonQ에 "make mediaconvert create job for HD resolution video to SD resolution with H264 Codec" 라고 프롬프트를 준 결과입니다.


import software.amazon.awssdk.regions.Region;
import software.amazon.awssdk.services.mediaconvert.MediaConvertClient;
import software.amazon.awssdk.services.mediaconvert.model.*;
publicclass TranscodeHDtoSD {
    publicstaticvoid main(String[] args) {
        // Create a MediaConvert client
        MediaConvertClient mediaConvertClient = MediaConvertClient.builder()
                .region(Region.US_EAST_1)
                .build();
        try {
            // Set up the job input
            JobInput input = JobInput.builder()
                    .fileInput("s3://input-bucket/input-video.mp4")
                    .build();
            // Set up the video output
            VideoDescription videoDescription = VideoDescription.builder()
                    .codecSettings(VideoCodecSettings.builder()
                            .codec(VideoCodecSettings.codecCodecAvc())
                            .build())
                    .height(480) // SD resolution height
                    .width(640) // SD resolution width
                    .build();
            ContainerSettings containerSettings = ContainerSettings.builder()
                    .container(ContainerType.MP4)
                    .build();
            Output output = Output.builder()
                    .videoDescription(videoDescription)
                    .containerSettings(containerSettings)
                    .build();
            OutputGroup outputGroup = OutputGroup.builder()
                    .outputGroupSettings(OutputGroupSettings.builder()
                            .type(OutputGroupType.FILE_GROUP)
                            .fileGroupSettings(FileGroupSettings.builder()
                                    .destination("s3://output-bucket/output-video.mp4")
                                    .build())
                            .build())
                    .outputs(output)
                    .build();
            // Create the job settings
            JobSettings jobSettings = JobSettings.builder()
                    .inputs(input)
                    .outputGroups(outputGroup)
                    .build();
            // Create the job request
            CreateJobRequest createJobRequest = CreateJobRequest.builder()
                    .jobSettings(jobSettings)
                    .build();
            // Submit the job
            CreateJobResponse createJobResponse = mediaConvertClient.createJob(createJobRequest);
            System.out.println("Job created: " + createJobResponse.job().id());
        } catch (MediaConvertException e) {
            System.err.println(e.getMessage());
            System.exit(1);
        }
    }
}

깔끔하게 그냥 빌드해서 쓸 수 있는 코드를 만들어버리네요..
다시금 놀랍다는 생각이 듭니다..대충 질문던져도 찰떡같이 알아듣고 코드를 만들어냅니다.

댓글 (3)

  • 와싸다 Lv.1

    24.06.10 · 110.♡.98.240

    저건 클로드 기반인가요? 아님 아마존 자체 모델인가요?
  • 불의정령

    불의정령 Lv.1 → 와싸다 작성자

    24.06.10 · 121.♡.122.206

    따로 명시되어 있는 모델은 없습니다.
  • Life2Buff

    Life2Buff Lv.1 → 와싸다

    24.06.10 · 59.♡.207.48

    작년 발표 때 밝힌 걸로는 Amazon의 Titan, Anthropic의 Claude, Meta의 Llama를 통합해서 사용한다고 했는데, 이게 지금도 그런지는 확실하진 않네요.

댓글을 작성하려면 이 필요합니다.