v4l2loopback을 이용해서 물리 디바이스 한개로 여러개 가상디바이스만들기
라즈베리 파이로 프로젝트를 하다보면 하나의 카메라를 이용해서 AI도 돌리고 싶고 스트리밍도 하고 싶을때가 있다.
관련해서 조금 삽질해 보니 가능해서 정리해 본다.
일단 재료는 라즈베리파이, camera 정도고… v4l2loopback package와 ffmpeg 을 사용할 예정이다.
v4L2loopback : github link
ffmpeg multidevice : link
v4l2loopback을 설치하고 (github 에 가보면 sourcecode로 인스톨 하는 방법도 있고 apt로 인스톨 하는 방법도 있다.)
부팅후
sudo depmod -a
sudo modprobe v4l2loopback video_nr=3,4 card_label=”ai”,”streaming”
ffmpeg -f v4l2 -i /dev/video0 -codec copy -f v4l2 /dev/video3 -codec copy -f v4l2 /dev/video4
이렇게 하고 video3, video4를 이용하면된다.
특이한 사항 : AI 한다고 python code를 돌리던데.. 이상하게 원래 source( video0)를 연 후에 다시 ffmpeg으로 forward 한후에 열어야 되는 이상한 현상이.
해당 python code를 확인해 볼 예정이다.
streaming의 경우 vlc를 이용해서 gstreaming을 하면 되는데. ^^; 요건 나중에
참고자료
https://sysplay.in/blog/linux/2019/05/simultaneous-access-to-single-camera/
- 단어장에 추가
- 다음에 대한 단어 목록이 없습니다영어 → 한국어…
- 새로운 단어 목록 생성…
- 복사