저는 Yocto로 구축된 사용자 정의 배포판을 실행하는 임베디드 시스템을 가지고 있습니다. 나중에 USB 카메라를 시스템에 연결하겠지만 .mp4 파일을 "가상" 카메라로 사용하고 싶습니다.
내 목표는 USB를 통해 비디오 파일을 USB UVC 장치로 컴퓨터에 전송하여 컴퓨터가 내 임베디드 Linux 시스템을 USB 웹캠으로 볼 수 있도록 하는 것입니다.
저는 이 주제에 대한 문서를 찾을 수 없으며 임베디드 Linux 개발에 손을 대고 있는 베어 메탈 C 개발자입니다. 이를 달성하기 위해 무엇을 찾아야 하는지 그리고 더 넓은 단계를 알고 싶습니다. (Yocto를 통한 배포 수정이 포함됩니다.)
감사해요.
답변1
어디서 시작하나요?
확실히 매우 광범위한 질문입니다. 따라서 저는 매우 대략적인 개요만 알려드릴 수 있습니다.
SoC에 실제로 하드웨어가 있다는 점을 고려하면 Linux는 USB 주변 장치를 제어하여 (호스트가 아닌) 장치로 작동할 수 있습니다. Linux 환경에서는 이를 호출합니다.USB 가젯.
기술의 기본 기능이 다루어짐에 따라 논리적 기능, 즉 UVC 가젯을 제공하는 방향으로 이동해야 합니다. 다행스럽게도,Linux 커널은 바로 이것을 제공합니다..
이를 위해서는 데이터 측면을 고려해야 합니다. mp4는 UVC를 통해 직접 전송할 수 있는 것이 아니라고 생각합니다. 따라서 먼저 트랜스코딩해야 합니다.
그런 다음 문제는 Userland에서 트랜스코딩된 데이터를 커널로 가져오는 방법이 됩니다. 비교적 새로운 v4l2-loopback 드라이버가 도움이 될 수 있습니다.