SPRING :: NOTE
[Raspberry Pi] V4L2 RTSP Server 설치 본문
반응형
프로젝트가 있어서 할 줄 모르는 라즈베리파이를 어쩔 수 없이 써봤다.
라즈베리의 RTSP 서버가 필요하여, 검색했더니 많이 사용하고있어서 그 내용을 정리할 겸 포스팅을 남긴다.
라즈베리파이 업데이트
pi@raspberrypi:~ $sudo apt-get update
pi@raspberrypi:~ $sudo apt-get upgrade #커널을 건드려 펌웨어가 망가질 수 있으니 주의!
완료 후, 필요한 유틸리티 설치
pi@raspberrypi:~ $sudo apt-get install v4l-utils
pi@raspberrypi:~ $sudo modprobe bcm2835-v4l2
bcm2835-v4l2를 사용하기 위해, 모듈 등록
pi@raspberrypi:~ $sudo nano /etc/modules
나노 에디터로 파일이 열리면, 다음을 추가
...
...
bcm2835-v4l2
...
...
RTSP Server 설치를 위한 git 설치
pi@raspberrypi:~ $sudo apt-get install git-core
RTSP Server 설치
pi@raspberrypi:~ $sudo git clone https://github.com/mpromonet/h264_v4l2_rtspserver.git
RTSP Server liblivemedia-dev 설치
pi@raspberrypi:~ $sudo apt-get install liblivemedia-dev libv4l-dev cmake libasound2-dev
RTSP Server(h264_v4l2_rtspserver) 설치 폴더로 이동
pi@raspberrypi:~ $cd h264_v4l2_rtspserver
RTSP Server(h264_v4l2_rtspserver) CMAKE & MAKE
pi@raspberrypi:~/h264_v4l2_rtspserver $sudo cmake . # 콤마 필수로 확인!!
pi@raspberrypi:~/h264_v4l2_rtspserver $sudo make
이로써 서버 설치가 완료되었다.
이제 스크립트를 실행하여 서버를 돌리기만 하면 된다.
pi@raspberrypi:~ $sudo ./h264_v4l2_rtspserver/v4l2rtspserver -F 25 -W 1280 -H 720 -P 8555 /dev/video0
RTSP 서버가 실행되면 위와 같이 접속 대기 상태가 된다.
이 상태에서 Server IP를 확인하고 다음팟 또는 VLC를 이용하여 영상 접속을 확인하면 된다.
RTSP 접속 주소는 다음과 같다.
rtsp://[your Pi IP Address]:8555/unicast/
위와 같이 성공적으로 RTSP Server에서 스트리밍 되고 있는 영상을 수신할 수 있다.
아래는 v4l2rtspserver 옵션값이다. 참고바람.
/v4l2rtspserver [-v[v]] [-Q queueSize] [-O file] \
[-I interface] [-P RTSP port] [-p RTSP/HTTP port] [-m multicast url]
[-u unicast url] [-M multicast addr] [-c] [-t timeout]
[-r] [-s] [-W width] [-H height] [-F fps] [device1] [device2]
-v : verbose
-vv : very verbose
-Q length: Number of frame queue (default 10)
-O output: Copy captured frame to a file or a V4L2 device
RTSP options :
-I addr : RTSP interface (default autodetect)
-P port : RTSP port (default 8554)
-p port : RTSP over HTTP port (default 0)
-U user:password : RTSP user and password
-R realm : use md5 password 'md5(<username>:<realm>:<password>')
-u url : unicast url (default unicast)
-m url : multicast url (default multicast)
-M addr : multicast group:port (default is random_address:20000)
-c : don't repeat config (default repeat config before IDR frame)
-t secs : RTCP expiration timeout (default 65)
-S[secs] : HTTP segment duration (enable HLS & MPEG-DASH)
V4L2 options :
-r : V4L2 capture using read interface (default use memory mapped buffers)
-w : V4L2 capture using write interface (default use memory mapped buffers)
-B : V4L2 capture using blocking mode (default use non-blocking mode)
-s : V4L2 capture using live555 mainloop (default use a separated reading thread)
-f : V4L2 capture using current capture format (-W,-H are ignored)
-fformat : V4L2 capture using format (-W,-H are used)
-W width : V4L2 capture width (default 640)
-H height: V4L2 capture height (default 480)
-F fps : V4L2 capture framerate (default 25, 0 disable setting framerate)
-G <w>x<h>[x<f>] : V4L2 capture format (default 0x0x25)
ALSA options :
-A freq : ALSA capture frequency and channel (default 44100)
-C channels: ALSA capture channels (default 2)
-a fmt : ALSA capture audio format (default S16_LE)
device : V4L2 capture device and/or ALSA device (default /dev/video0)
반응형
'Development Tools > Linux' 카테고리의 다른 글
[Raspberry Pi] 연결된 카메라 해상도 지원 확인 (0) | 2019.09.02 |
---|---|
[Raspberry Pi] Default gateway 지우는 법 (0) | 2019.07.12 |
[rSync] 윈도우와 리눅스 간 폴더 동기화 시스템 구축 [3] (0) | 2016.02.12 |
[rSync] 윈도우와 리눅스 간 폴더 동기화 시스템 구축 [2] (0) | 2016.02.11 |
[rSync] 윈도우와 리눅스 간 폴더 동기화 시스템 구축 [1] (0) | 2016.02.11 |
Comments