

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 코드 작성 및 검사
<a name="producersdk-javaapi-writecode"></a>

[Java 생산자 라이브러리 절차의](https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/producer-sdk-javaapi.html)이 섹션에서는 이전 섹션에서 다운로드한 Java 예제 코드를 작성하고 검사합니다.

Java 테스트 애플리케이션([https://github.com/awslabs/amazon-kinesis-video-streams-producer-sdk-java/blob/master/src/main/demo/com/amazonaws/kinesisvideo/demoapp/DemoAppMain.java](https://github.com/awslabs/amazon-kinesis-video-streams-producer-sdk-java/blob/master/src/main/demo/com/amazonaws/kinesisvideo/demoapp/DemoAppMain.java))은 다음과 같은 코딩 패턴을 보입니다.
+ `KinesisVideoClient`의 인스턴스를 만듭니다.
+ `MediaSource`의 인스턴스를 만듭니다.
+ `MediaSource`를 클라이언트에 등록합니다.
+ 스트리밍을 시작합니다. 를 시작`MediaSource`하면 클라이언트로 데이터 전송이 시작됩니다.

다음 단원들에서 세부 정보가 제공됩니다.



## KinesisVideoClient 인스턴스 생성
<a name="producersdk-javaapi-review-code-create-client"></a>

`createKinesisVideoClient` 작업을 호출하여 `KinesisVideoClient` 객체를 생성합니다.

```
final KinesisVideoClient kinesisVideoClient = KinesisVideoJavaClientFactory
    .createKinesisVideoClient(
        Regions.US_WEST_2,
        AuthHelper.getSystemPropertiesCredentialsProvider());
```

`KinesisVideoClient`가 네트워크 호출을 하려면 인증을 위한 자격 증명이 필요합니다. `SystemPropertiesCredentialsProvider` 인스턴스를 전달하면, 인스턴스가 자격 증명 파일에 있는 기본 프로필의 `AWSCredentials`을 읽습니다.

```
[default]
aws_access_key_id = ABCDEFGHIJKLMOPQRSTU
aws_secret_access_key = AbCd1234EfGh5678IjKl9012MnOp3456QrSt7890
```





## MediaSource 인스턴스 생성
<a name="producersdk-javaapi-review-code-create-mediasource"></a>

Kinesis 비디오 스트림으로 바이트를 전송하려면 데이터를 생성해야 합니다. Amazon Kinesis Video Streams는 데이터 소스를 나타내는 `MediaSource` 인터페이스를 제공합니다.

예를 들어 Kinesis Video Streams Java 라이브러리는 `MediaSource` 인터페이스 `ImageFileMediaSource` 구현을 제공합니다. 이 클래스는 Kinesis 비디오 스트림이 아닌 일련의 미디어 파일에서만 데이터를 읽지만 코드를 테스트하는 데 사용할 수 있습니다.

```
final MediaSource bytesMediaSource = createImageFileMediaSource();
```

## MediaSource를 클라이언트에 등록
<a name="producersdk-javaapi-review-code-register-mediasource"></a>

클라이언트에 관해 알도록 생성한 미디어 원본을 `KinesisVideoClient`에 등록합니다(그런 다음 데이터를 클라이언트에 전송할 수 있습니다).

```
kinesisVideoClient.registerMediaSource(mediaSource);
```



## 미디어 소스 시작
<a name="producersdk-javaapi-review-code-start-mediasource"></a>

미디어 소스가 데이터 생성을 시작하고 클라이언트로 전송할 수 있도록 미디어 소스를 시작합니다.

```
bytesMediaSource.start();
```

