

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

# Kinesis Video Streams C\+\+ 생산자 SDK 다운로드 및 빌드
<a name="producersdk-cpp-rpi-download"></a>

아래 절차에 따라 [Kinesis Video Streams C\+\+ 생산자 SDK](https://github.com/awslabs/amazon-kinesis-video-streams-producer-sdk-cpp)를 다운로드하고 빌드합니다. 소프트웨어 사전 조건을 설치했는지 확인합니다. 해당 단계는 [소프트웨어 사전 조건 설치](producersdk-cpp-rpi-software.md) 섹션을 참조하세요.

1. 디렉터리 다운로드로 이동합니다. 터미널을 열고 원하는 다운로드 디렉터리로 변경합니다.

   예제:

   ```
   cd ~/Downloads
   ```

1. SDK 리포지토리를 복제합니다. `git clone` 명령을 사용하여 GitHub 리포지토리에서 SDK를 다운로드합니다. 유형: 

   ```
   git clone https://github.com/awslabs/amazon-kinesis-video-streams-producer-sdk-cpp.git --single-branch -b master kvs-producer-sdk-cpp
   ```

   이 명령은 단일 브랜치(`master`브랜치)만 복제하여 다운로드 크기와 시간을 줄입니다. 또한 다운로드한 콘텐츠를 현재 디렉터리 `kvs-producer-sdk-cpp` 내에서 라는 폴더에 배치합니다.

1. 다운로드를 확인합니다. 복제 프로세스가 완료되면 `kvs-producer-sdk-cpp` 폴더의 내용을 나열하여 SDK가 다운로드되었는지 확인합니다.

   ```
   ls kvs-producer-sdk-cpp
   ```

1. 빌드 디렉터리를 준비합니다. 유형: 

   ```
   mkdir -p kvs-producer-sdk-cpp/build
   cd kvs-producer-sdk-cpp/build
   ```

1. 빌드를 구성합니다. 다음 `cmake` 명령을 실행하여 특정 옵션으로 빌드 환경을 구성합니다.

   ```
   cmake .. -DBUILD_GSTREAMER_PLUGIN=ON -DBUILD_DEPENDENCIES=OFF -DALIGNED_MEMORY_MODEL=ON
   ```

   [CMake](https://cmake.org/cmake/help/latest/manual/cmake.1.html)는 다음 옵션을 사용하여 적절한를 생성합니다`Makefiles`.
   + 프로젝트 폴더(`..`)를 소스 디렉터리로 사용합니다.
   + 빌드 출력에 현재 디렉터리(`.`)(`build/`)를 사용합니다.
   + `-DBUILD_GSTREAMER_PLUGIN=ON`를 사용하면 GStreamer 플러그인 kvssink를 빌드할 수 있습니다.
   + `-DBUILD_DEPENDENCIES=OFF`는 소스에서 외부 종속성 빌드를 비활성화합니다. 프로젝트는 이전 단계에서 설치된 외부 종속성을 찾아 사용합니다.
   + `-DALIGNED_MEMORY_MODEL=ON`는 정렬되지 않은 메모리 모델을 비활성화합니다. 정렬되지 않은 메모리 액세스는 특정 Raspberry Pi 디바이스에서 지원되지 않습니다.
**참고**  
CMake 인수의 전체 목록은 섹션을 참조하세요[C\+\+ 생산자 라이브러리 코드 다운로드 및 구성](producersdk-cpp-download.md).

1. 프로젝트를 빌드합니다. 빌드를 구성한 후 `make` 명령을 사용하여에서 `Makefile` 생성된를 사용하여 컴파일합니다`cmake`.

   ```
   make -j$(nproc)
   ```

   에 대한 `-j` 인수를 `make` 사용하면 여러 컴파일 작업을 병렬로 실행할 수 있습니다. 빌드 시간을 줄이려면 `nproc` 명령을 사용하여 Raspberry Pi의 CPU 코어 수를 동적으로 계산합니다.

1. `libgstkvssink.so`이 존재하는지 확인합니다.

   현재 디렉터리의 파일을 나열합니다.

   **프롬프트:**

   ```
   ls
   ```

   **응답**:

   ```
   CMakeCache.txt       dependency                          kvs_gstreamer_sample
   CMakeFiles           kvs_gstreamer_audio_video_sample    kvssink_gstreamer_sample
   Makefile             kvs_gstreamer_file_uploader_sample  libKinesisVideoProducer.so
   cmake_install.cmake  kvs_gstreamer_multistream_sample    {{libgstkvssink.so}}
   ```

1. GStreamer가를 로드할 수 있는지 확인합니다`kvssink`.

   `GST_PLUGIN_PATH` 환경 변수를가 포함된 디렉터리로 설정합니다`libgstkvssink.so`.

   ```
   export GST_PLUGIN_PATH=`pwd`
   ```

   GStreamer 로드`kvssink`:

   ```
   gst-inspect-1.0 kvssink
   ```

   에 대한 몇 가지 설명서가 표시됩니다`kvssink`. 화살표 키를 사용하여 탐색하고를 눌러 종료`q`합니다.

1. (**선택 사항**) `GST_PLUGIN_PATH` 환경 변수 설정을 포함하도록 쉘의 시작 스크립트를 업데이트합니다. 이렇게 하면 새 터미널 세션 중에 `GST_PLUGIN_PATH`가 올바르게 설정됩니다. Raspberry Pi 디바이스에서 쉘의 시작 스크립트는 입니다`~/.bashrc`.

   다음 명령을 실행하여 셸의 시작 스크립트 끝에 명령을 추가합니다.

   ```
   echo "export GST_PLUGIN_PATH=~/{{Downloads}}/kvs-producer-sdk-cpp/build" >> ~/.bashrc
   ```

   다음을 입력하여 쉘의 시작 스크립트를 실행하거나 현재 쉘을 닫고 새 쉘을 엽니다.

   ```
   source ~/.bashrc
   ```

   가 설정`GST_PLUGIN_PATH`되었는지 확인하고를 로드할 수 있습니다`kvssink`.

   ```
   echo $GST_PLUGIN_PATH
   ```

   ```
   gst-inspect-1.0 kvssink
   ```