로봇이 사회에서 차지하는 비중이 커지려면, 로봇은 역동적인 환경과 지능적으로 상호작용할 수 있어야 합니다. 이를 달성하는 데 있어 과제 중 하나는 많은 카메라와 센서에서 수집한 방대한 양의 데이터를 통합하는 것입니다. 사전 작성된 Linux® 소프트웨어 블록을 사용하면 이 작업이 더 쉬워집니다. Qualcomm에서 제공한 이 문서에서는 IoT 및 로보틱스 애플리케이션 분야의 AI 추론 및 비디오용 샘플 애플리케이션을 살펴봅니다.
다중 카메라 스트리밍
명령줄 애플리케이션 gst-multi-camera-example은 두 개의 카메라 센서에서 동시에 스트리밍하는 것을 보여줍니다. 비디오 스트리밍을 나란히 구성하여 디스플레이 장치에 표시할 수도 있고, 스트리밍을 인코딩하여 파일에 저장할 수도 있습니다.
애플리케이션 파이프라인은 다음과 같습니다.

애플리케이션은 두 가지 구성을 지원합니다.
- 구성 및 디스플레이 – 카메라 0과 카메라 1의 qtimmfsrc 플러그인은 두 카메라 센서에서 데이터를 캡처합니다. qtivcomposer가 구성을 수행한 다음 waylandsink가 스트리밍을 화면에 나란히 표시합니다.
- 비디오 인코딩 – 카메라 0과 카메라 1의 qtimmfsrc 플러그인은 두 카메라 센서에서 데이터를 캡처하여 v4l2h264enc 플러그인으로 전달합니다. 해당 플러그인은 카메라 스트림을 H.264 포맷으로 인코딩하고 압축한 후, 각각 h264parse 및 mp4mux 플러그인을 사용하여 이를 파싱 및 멀티플렉싱합니다. 마지막으로, 스트림은 filesink 플러그인으로 전달되어 파일로 저장됩니다.
다음은 첫 번째 구성의 출력 예입니다. 오른쪽 이미지는 흑백인데, 개발 키트의 두 번째 카메라 센서가 흑백이기 때문입니다.

이 애플리케이션을 언제 사용하나요?
gst-multi-camera-example 은 두 개의 카메라 센서에서 데이터를 캡처하기 위한 빌딩 블록으로, 비디오 스트림을 구성하여 표시하거나 스트림을 인코딩하여 파일에 저장할 수 있는 옵션을 제공합니다. 이 샘플 앱을 대시캠 및 스테레오 카메라 등의 카메라 캡처/인코딩 애플리케이션의 기반으로 사용할 수 있습니다.
비디오 월 - 다중 채널 비디오 디코딩 및 디스플레이
명령줄 애플리케이션 gst-concurrent-videoplay-composition 은 AVC로 코딩된 비디오의 동시 비디오 디코딩과 재생을 용이하게 해줍니다. 이 앱은 파일이나 네트워크(예: IP 카메라)에서 들어오는 여러 비디오 스트림을 합성하여 비디오 월로 표시합니다.
이 애플리케이션은 여러 개의 비디오 파일(예: 4개 또는 8개)을 입력으로 받아서 압축된 모든 비디오를 디코딩하고 크기를 조정하여 비디오 월로 구성할 수 있습니다. 이 애플리케이션에는 AVC 코덱이 포함된 MP4 형식의 비디오 파일을 하나 이상 입력해야 합니다.
4개 채널에 대한 애플리케이션 파이프라인은 다음과 같습니다.

각 채널은 플러그인을 사용하여 다음 처리를 수행합니다.
- filesrc를 사용하여 파일에서 압축된 비디오 데이터를 읽습니다.
- qtdemux로 파일의 다중화를 해제합니다.
- h264parse를 사용하여 H.264 비디오 스트림을 구문 분석합니다.
- v4l2h264dec를 사용하여 스트림을 디코딩합니다.
모든 채널에서 디코딩된 스트림은 qtivcomposer를 사용하여 구성되고 waylandsink를 사용하여 표시됩니다.
다음은 4개의 비디오 스트림에서 앱 gst-concurrent-videoplay-composition 을 사용하는 예입니다.

이 애플리케이션을 언제 사용하나요?
gst-concurrent-videoplay-composition 을 사용하면 여러 개의 압축 비디오 스트림을 디코딩한 다음 이를 비디오 월로 구성할 수 있습니다. 예를 들어, 매장 공간과 디지털 간판에 적용할 수 있습니다. 비디오 감시를 위한 엣지 박스로, 여러 대의 IP 카메라에서 입력을 캡처하여 단일 화면에 표시할 수 있습니다. 화상 회의 애플리케이션의 경우 참여 중인 여러 사람의 피드를 처리하고 표시할 수 있으며 각 참가자는 비디오를 스트리밍할 수 있습니다.
다음 단계
GitHub에서 해당 애플리케이션이나 전체 Qualcomm Intelligent Multimedia SDK를 다운로드할 수 있습니다. 그런 다음 해당 항목을 자체 애플리케이션에 통합할 수 있습니다.
