Qualcomm Linux 샘플 앱: IoT 애플리케이션에서 AI 추론 및 비디오를 위한 기본 요소
로봇이 우리 사회에서 더 큰 역할을 하려면, 역동적인 환경과 지능적으로 상호작용할 수 있어야 합니다. 이를 실현하는 데 있어 하나의 과제는 다수의 카메라와 센서에서 방대한 데이터를 통합하는 것입니다. 미리 작성된 Linux® 소프트웨어 블록은 이 작업을 더 쉽게 만들어줍니다. 이 Qualcomm 기사에서는 IoT 및 로봇 애플리케이션에서 AI 추론 및 비디오의 샘플 애플리케이션을 탐구합니다.
멀티 카메라 스트리밍
명령줄 애플리케이션 gst-multi-camera-example은 두 개의 카메라 센서에서 동시에 스트리밍하는 기능을 시연합니다. 이 애플리케이션은 비디오 스트림을 나란히 합성하여 디스플레이 장치에 보여주거나, 스트림을 인코딩하여 파일로 저장할 수 있습니다.
애플리케이션 파이프라인은 다음과 같습니다:
애플리케이션은 두 가지 설정을 지원합니다:
- 구성 및 표시 – qtimmfsrc 플러그인이 카메라 0과 카메라 1에서 두 개의 카메라 센서 데이터를 캡처합니다. qtivcomposer가 구성을 수행한 후, waylandsink가 화면에 스트림을 나란히 표시합니다.
- 비디오 인코딩 – 카메라 0과 카메라 1에서 qtimmfsrc 플러그인이 두 카메라 센서의 데이터를 캡처하여 v4l2h264enc 플러그인에 전달합니다. 해당 플러그인은 카메라 스트림을 H.264 형식으로 인코딩 및 압축한 다음, 각각 h264parse와 mp4mux 플러그인을 사용하여 파싱 및 멀티플렉싱 작업을 진행합니다. 마지막으로, 스트림은 filesink 플러그인으로 전달되어 파일로 저장됩니다.
다음은 첫 번째 구성에서의 출력 예시입니다: 오른쪽 이미지가 단색으로 표시되며, 개발 키트의 두 번째 카메라 센서가 단색 센서이기 때문입니다.
이 애플리케이션을 언제 사용하시겠습니까?
gst-multi-camera-example은 두 개의 카메라 센서에서 데이터를 캡처하기 위한 빌딩 블록으로, 비디오 스트림을 구성하고 화면에 표시하거나 스트림을 파일로 인코딩하여 저장하는 옵션을 제공합니다. 이 샘플 애플리케이션은 차량용 블랙박스 및 스테레오 카메라를 포함한 카메라 캡처/인코딩 애플리케이션의 기반으로 사용할 수 있습니다.
비디오 월 – 다중 채널 비디오 디코딩 및 디스플레이
명령줄 응용 프로그램 gst-concurrent-videoplay-composition은 AVC로 인코딩된 동영상의 동시 디코드 및 재생을 제공합니다. 이 애플리케이션은 파일 또는 네트워크(예: IP 카메라)에서 가져온 여러 동영상 스트림을 조합하여 비디오 월로 표시합니다.
이 애플리케이션은 여러 개(예: 4개 또는 8개)의 비디오 파일을 입력으로 받아, 압축된 비디오를 모두 디코딩하고, 크기를 조정하며, 이를 비디오 월로 구성할 수 있습니다. 이 애플리케이션은 최소한 하나의 입력 비디오 파일이 필요하며, MP4 형식과 AVC 코덱을 사용해야 합니다.
애플리케이션 파이프라인은 4개의 채널에 대해 다음과 같이 보입니다:
각 채널은 다음과 같은 처리를 수행하기 위해 플러그인을 사용합니다:
- filesrc를 사용하여 파일에서 압축된 비디오 데이터를 읽습니다.
- 파일을 qtdemux로 디멀티플렉싱합니다.
- h264parse를 사용하여 H.264 비디오 스트림을 파싱합니다.
- v4l2h264dec를 사용하여 스트림을 디코딩합니다.
모든 채널에서 디코딩된 스트림은 qtivcomposer를 사용하여 함께 구성된 후 waylandsink를 사용해 화면에 표시됩니다.
다음은 4개의 비디오 스트림에서 앱 gst-concurrent-videoplay-composition을 사용하는 예입니다:
언제 이 애플리케이션을 사용하시겠습니까?
gst-concurrent-videoplay-composition을 사용하면 여러 개의 압축된 비디오 스트림을 디코딩한 후 이를 비디오 월로 구성할 수 있습니다. 예를 들어, 소매 공간이나 디지털 사이니지에서 활용할 수 있습니다. 비디오 감시를 위한 엣지 박스에서는 여러 IP 카메라의 입력을 캡처하여 단일 화면에 표시할 수 있습니다. 비디오 회의 애플리케이션에서는 통화 중 여러 사람의 피드를 처리하고 표시할 수 있으며, 각 참가자는 비디오를 스트리밍합니다.
다음 단계
GitHub에서 해당 애플리케이션이나 전체 Qualcomm Intelligent Multimedia SDK를 다운로드할 수 있습니다. 그런 다음 이를 귀하의 애플리케이션에 통합하기 시작할 수 있습니다.
기사 태그