저번에 mjpeg-streamer을 이용한 스트리밍 방법에 대해 알아보았습니다.

라즈베리파이를 이용한 스트리밍 방법으로 mjpeg-streamer, uv4l, motion, VLC 등 다양한 방법들이 존재하고

각 방법마다 장단점이 있기에 이번시간에 UV4L을 이용한 스트리밍 방법에 대해 알아보겠습니다.

 

V4L2는 리눅스에서 카메라를 이용한 영상 획득과 출력 장치의 제어를 위한 API, 드라이버 프레임워크를 가리키며, USB 웹캠, TV 튜너장치등을 지원하는 소프트웨어입니다.

 

이제 설치와 실행단계를 진행하겠습니다.

 

1. 파이카메라 설정

 1) 라즈베리파이 보드에 연결한 뒤 "vcgencmd get_camera" 명령어로 잘 연결되었는지 확인합니다.

 2) sudo nano /etc/modules를 입력한 뒤 bcm2835-v4l2(알파벳L)를 추가해줍니다.

 (라즈베리파이가 부팅 될 때 마다 bcm2835-v4l2모듈을 로드하게됩니다.)

2. 버전 세팅(주의)

uv4l을 사용하기 위해 버전에 따라 apt 키(인증키)를 추가해주는 작업입니다.

대부분 rpi OS Lite버전이나 buster버전을 사용하기 때문에 이 방법으로 설명하겠습니다.

그 외 다른 버전의 OS이라면 아래 링크를 참고해주세요.

www.linux-projects.org/uv4l/installation/

 

Installation for ARM (Raspberry Pi) – (advanced) Projects

How to install or upgrade UV4L on Raspbian Wheezy, Raspbian Jessie, Raspbian Stretch, Raspbian Buster (Raspberry PI OS) for Raspberry Pi IMPORTANT! Packages for Raspbian Wheezy and Raspbian Jessie are no longer maintained, consider to upgrade your system t

www.linux-projects.org

 1) 이제 아래 명령어를 입력해줍니다.

 curl https://www.linux-projects.org/listing/uv4l_repo/lpkey.asc | sudo apt-key add - 

 주의: https -> http로 작성하면 나중에 에러납니다 ㅠㅠ 이거때문에 힘들었네요;

 맨 아랫줄에 OK가 나와야합니다. 아래 사진은 에러가 난 경우입니다. (s 하나 빼먹어서 에러가 난다고?...)

 

 2) sudo nano /etc/apt/sources.list에 아래 문장을 입력한 뒤 저장합니다. (두 번 째 줄 추가)

 3) sudo apt-get update 명령어로 패키지를 업데이트 해줍니다.

 아래 처럼 나온다면 1) 단계에서 잘못된겁니다.

3. UV4L 설치

 1) sudo apt-get install uv4l uv4l-raspicam 명령어를 입력합니다.

 2) 부팅 시 드라이버가 로드 될 수 있도록 아래 명령어를 입력합니다.

 sudo apt-get install uv4l-raspicam-extras

4. 시작, 종료하기

 1) 스트리밍 서버 패키지 설치단계로, 아래 명령어를 입력합니다. 이제 웹에서 스트리밍을 볼 수 있습니다.

 sudo apt-get install uv4l-server uv4l-uvc uv4l-xscreen uv4l-mjpegstream uv4l-dummy uv4l-raspidisp

 

 2) sudo service uv4l_raspicam restart 명령을 입력하여 서비스를 시작합니다.

  "/etc/uv4l/uv4l-raspicam.conf" 파일에서 높이, 너비 등의 여러 설정을 변경할 수 있습니다.

 

 3) 웹 브라우저에 https://ip:8080"을 입력하면 아래 화면이 나타납니다.

 4) 해상도를 조절하기 위해 톱니바퀴 모양(control panel)을 클릭합니다.

 * default 해상도는 1920*1080으로, 너무 해상도가 높으면 화면이 끊길 수 있습니다.

 해상도를 640*480으로 맞추고 포맷을 MJPEG로 맞춘뒤 상하반전을 위해 vertical mirror를 enable로 변경했습니다.

 이제 맨 아래 apply버튼을 클릭해줍니다.

 5) 스트리밍 화면 출력

 http://라즈베리파이주소:8080/stream/video.mjpeg 명어를 실행해보면 스트리밍 화면이 뜹니다!

 원래 많이 끊기는건지 와이파이 연결상태가 안좋아서 그런건지.... 해상도를 낮췄는데도 많이 끊겼습니다.

 6) 스트리밍 종료

 uv4l은 ps 명령어를 입력해도 프로세스가 안떠서 sudo pkill uv4l 명령어로 종료합니다.

 

이로써 uv4l을 이용한 스트리밍 실습이 끝났습니다~

 

+ Recent posts