Home Automation

라즈베리파이4 + V4L2RTSPServer 설치 방법 정리(with EASYCAP)

True-World 2022. 4. 25. 10:55

라즈베리파이4에 V4L2RTSPSERVER 설치방법을 간단히 정리하였다.

또한 V4L2에서 사용하는 카메라는 라즈베리파이 카메라가 아닌 EASYCAP 기준으로
라즈베리파이 카메라 사용시 일부 추가되야될 부분이 있다.

작동 프로세서는

/dev/video0 (EASYCAP)-> v4l2compress(YUYV To H264) -> /dev/video5 (v4l2loopback device) -> v4l2rtspserver

라즈베리파이4 OS설치 패키지에따라 OpenSSL 추가 설치가 필요할수 있다.

OS설치 완료후
SSH 접속이나 커멘트 창에서 순서대로 진행하면 된다.

1. 패키지 및 커널 업데이트

sudo apt-get update
sudo apt-get upgrade

2. V4L2RTSPSERVER 패키지 및 설치를위한 Git 설치

sudo apt-get install v4l-utilssudo
sudo apt-get install git-core

sudo git clone https://github.com/mpromonet/v4l2rtspserver.git
sudo apt-get install liblivemedia-dev libv4l-dev cmake libasound2-dev liblog4cpp5-dev

3. V4L2RTSPSERVER 설치

cd v4l2rtspserver/
sudo cmake .

3-1. OpenSSL 에러 발생시 설치

cd ..
cd /opt/
sudo mkdir openssl
cd openssl
sudo nano install-openssl.sh

3-2. install-openssl.sh 파일 내용 입력

OPENSSL_VER=1.1.0h
mkdir openssl
cd openssl
wget https://www.openssl.org/source/openssl-${OPENSSL_VER}.tar.gz
tar xf openssl-${OPENSSL_VER}.tar.gz
cd openssl-${OPENSSL_VER}
./config zlib shared no-ssl3
make -j4
sudo make install

3-3. Ctrl + x 후 y 입력으로 저장

3-4. openssl 설치

sudo sh install-openssl.sh
cd ..
cd v4l2rtspserver/

4. rtsp 최종 설치

sudo make
sudo make install
sudo git clone https://github.com/mpromonet/v4l2tools.git
sudo apt-get install raspberrypi-kernel-headers v4l2loopback-dkms -y
sudo apt-get install liblog4cpp5-dev libvpx-dev libx264-dev libx265-dev libjpeg-dev libtool
cd v4l2tools
sudo make
sudo make install

5. 부팅시 v4l2 loopback 자동 실행 설정

sudo nano /etc/modules-load.d/v4l2loopback.conf

5-1. 아래 내용 추가 후 저장

v4l2loopback

5-2. loopback 포트 설정

sudo nano /etc/modprobe.d/v4l2loopback.conf

5-3. 아래 내용 추가 후 저장 - 디바이스 포트 /dev/video5로 설정 (video_nr=5의 '5'를 원하는 숫자로 변경)

options v4l2loopback video_nr=5

6. 재부팅

sudo reboot

7. loopback에 v4l2compress를 이용해서 h264포맷으로 화면 출력 자동실행 설정

sudo nano /etc/xdg/lxsession/LXDE-pi/autostart

7-1. 아래 내용 추가 후 저장 / ??????부분은 설치 환경마다 다르니 확인 후 변경, 아래 명령은 dev/video5에 H264 Format으로 RTSP로 출력을 내보낸다.

/home/??????/v4l2compress /dev/video0 /dev/video5 -f H264 &
sudo reboot

8. v4l2rtspserver 부팅시 자동 시작 설정

sudo cp /lib/systemd/system/v4l2rtspserver.service /etc/systemd/system
sudo nano /etc/systemd/system/v4l2rtspserver.service

8-1. 내용 수정

내용 수정 -S1 삭제

9. v4l2rtspserver service 시작

sudo systemctl daemon-reload
sudo systemctl enable v4l2rtspserver
sudo systemctl start v4l2rtspserver

10. RTSP 확인(팟플레이어 혹은 VLC Player 등 이용)

주소 열기
rtsp://ip:5054/unicast