

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

# Amazon Kinesis Video Streams Edge 에이전트 빌드
<a name="gs-build-agent"></a>

**Amazon Kinesis Video Streams Edge 에이전트 빌드**

1. 제공된 링크를 사용하여 `tar` 파일을 다운로드합니다.

   Amazon Kinesis Video Streams Edge 에이전트 관심 양식을 작성한 경우 이메일에서 다운로드 링크를 확인하세요. 양식을 작성하지 않은 경우 [여기에서](https://pages.awscloud.com/GLOBAL-launch-DL-KVS-Edge-2023-learn.html) 작성하세요.

1. 체크섬을 확인합니다.

1. 디바이스에서 바이너리와 jar을 추출합니다.

   유형: `tar -xvf kvs-edge-agent.tar.gz`.

   추출 후 폴더 구조는 다음과 같습니다.

   ```
   kvs-edge-agent/LICENSE
   kvs-edge-agent/THIRD-PARTY-LICENSES
   kvs-edge-agent/pom.xml
   kvs-edge-agent/KvsEdgeComponent
   kvs-edge-agent/KvsEdgeComponent/recipes
   kvs-edge-agent/KvsEdgeComponent/recipes/recipe.yaml
   kvs-edge-agent/KvsEdgeComponent/artifacts
   kvs-edge-agent/KvsEdgeComponent/artifacts/aws.kinesisvideo.KvsEdgeComponent
   kvs-edge-agent/KvsEdgeComponent/artifacts/aws.kinesisvideo.KvsEdgeComponent/{{EdgeAgentVersion}}
   kvs-edge-agent/KvsEdgeComponent/artifacts/aws.kinesisvideo.KvsEdgeComponent/{{EdgeAgentVersion}}/edge_log_config
   kvs-edge-agent/KvsEdgeComponent/artifacts/aws.kinesisvideo.KvsEdgeComponent/{{EdgeAgentVersion}}/kvs-edge-agent.jar
   kvs-edge-agent/KvsEdgeComponent/artifacts/aws.kinesisvideo.KvsEdgeComponent/{{EdgeAgentVersion}}/libgstkvssink.so
   kvs-edge-agent/KvsEdgeComponent/artifacts/aws.kinesisvideo.KvsEdgeComponent/{{EdgeAgentVersion}}/libIngestorPipelineJNI.so
   kvs-edge-agent/KvsEdgeComponent/artifacts/aws.kinesisvideo.KvsEdgeComponent/{{EdgeAgentVersion}}/lib
   kvs-edge-agent/KvsEdgeComponent/artifacts/aws.kinesisvideo.KvsEdgeComponent/{{EdgeAgentVersion}}/lib/libcproducer.so
   kvs-edge-agent/KvsEdgeComponent/artifacts/aws.kinesisvideo.KvsEdgeComponent/{{EdgeAgentVersion}}/lib/libKinesisVideoProducer.so
   ```
**참고**  
릴리스 폴더 이름은 최신 바이너리 릴리스 번호를 반영하는 방식으로 설정해야 합니다. 예를 들어 1.0.0 릴리스의 폴더 이름은 1.0.0으로 설정됩니다.

1. 종속성 jar을 빌드합니다.
**참고**  
에 포함된 jar에는 종속성이 `kvs-edge-agent.tar.gz` 없습니다. 다음 단계에 따라 해당 라이브러리를 빌드합니다.

   가 포함된 `kvs-edge-agent` 폴더로 이동합니다`pom.xml`.

   유형 `mvn clean package`

   이렇게 하면에서 Amazon Kinesis Video Streams Edge Agent에 필요한 종속성이 포함된 jar 파일이 생성됩니다`kvs-edge-agent/target/libs.jar`.

1. 구성 요소의 아티팩트가 포함된 `libs.jar` 폴더에를 배치합니다.

   유형 `mv ./target/libs.jar ./KvsEdgeComponent/artifacts/aws.kinesisvideo.KvsEdgeComponent/{{EdgeAgentVersion}}/`

1. 이전 단계의 값을 사용하여 환경 변수를 설정합니다. 다음 표에서는 변수에 대한 설명을 제공합니다.    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/ko_kr/kinesisvideostreams/latest/dg/gs-build-agent.html)

1. GStreamer 캐시를 지웁니다. 유형: 

   ```
   rm ~/.cache/gstreamer-1.0/registry.{{your-os-architecture}}.bin
   ```

   자세한 내용은 [GStreamer 레지스트리 설명서를](https://gstreamer.freedesktop.org/documentation/gstreamer/gstregistry.html?gi-language=c) 참조하세요.

1. java 명령을 준비하고 실행합니다. Amazon Kinesis Video Streams Edge 에이전트는 다음 인수를 허용합니다.    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/ko_kr/kinesisvideostreams/latest/dg/gs-build-agent.html)

   이를 설정하려면 jar`-D{{java-property-name}}={{value}}`를 실행하는 데 사용되는 java 명령에를 추가합니다.

   예제:

   ```
   java -Djava.library.path=/{{download-location}}/kvs-edge-agent/KvsEdgeComponent/artifacts/aws.kinesisvideo.KvsEdgeComponent/{{EdgeAgentVersion}} \
     --add-opens java.base/jdk.internal.misc=ALL-UNNAMED \
     -Dio.netty.tryReflectionSetAccessible=true \
     -cp kvs-edge-agent.jar:libs.jar \
     com.amazonaws.kinesisvideo.edge.controller.ControllerApp
   ```
**중요**  
와 동일한 디렉터리에서 위의 java 명령을 실행합니다`/{{download-location}}/kvs-edge-agent/KvsEdgeComponent/artifacts/aws.kinesisvideo.KvsEdgeComponent/{{EdgeAgentVersion}}`.

1. 를 사용하여 애플리케이션에 구성을 전송합니다 AWS CLI.

   1. 새 파일을 생성합니다`{{example-edge-configuration}}.json`.

      다음 코드를 파일에 붙여 넣습니다. 이는 매일 오전 9:00:00부터 오후 4:59:59까지( AWS IoT 디바이스의 시스템 시간에 따라)를 기록하는 샘플 구성입니다. 또한 매일 오후 7:00:00부터 오후 9:59:59까지 기록된 미디어를 업로드합니다.

      자세한 내용은 [StartEdgeConfigurationUpdate](API_StartEdgeConfigurationUpdate.md) 단원을 참조하십시오.

      ```
      {
          "StreamARN": "arn:aws:kinesisvideo:{{your-region}}:{{your-account-id}}:stream/{{your-stream}}/{{0123456789012}}",
          "EdgeConfig": {
              "HubDeviceArn": "arn:aws:iot:{{your-region}}:{{your-account-id}}:thing/{{kvs-edge-agent-demo}}",
              "RecorderConfig": {
                  "MediaSourceConfig": {
                      "MediaUriSecretArn": "arn:aws:secretsmanager:{{your-region}}:{{your-account-id}}:secret:{{your-secret}}-{{dRbHJQ}}",
                      "MediaUriType": "RTSP_URI"
                  },
                  "ScheduleConfig": {
                      "ScheduleExpression": "0 0 9,10,11,12,13,14,15,16 ? * * *",
                      "DurationInSeconds": 3599
                  }
              },
              "UploaderConfig": {
                  "ScheduleConfig": {
                      "ScheduleExpression": "0 0 19,20,21 ? * * *",
                      "DurationInSeconds": 3599
                  }
              },
              "DeletionConfig": {
                  "EdgeRetentionInHours": 15,
                  "LocalSizeConfig": {
                    "MaxLocalMediaSizeInMB": 2800,
                    "StrategyOnFullSize": "DELETE_OLDEST_MEDIA"
                  },
                  "DeleteAfterUpload": true
              }
          }
      }
      ```

   1. Amazon Kinesis Video Streams Edge 에이전트로 파일을 보내려면에 AWS CLI다음을 입력합니다.

      ```
      aws kinesisvideo start-edge-configuration-update --cli-input-json "file://{{example-edge-configuration}}.json"
      ```

1. Amazon Kinesis Video Streams Edge 에이전트의 각 스트림에 대해 이전 단계를 반복합니다.