Home » 산딸기 가지고 놀기 » 파이카메라 활용강좌 : V4L2(Video4Linux) 와 VLC 를 이용한 RTSP Streaming

파이카메라 활용강좌 : V4L2(Video4Linux) 와 VLC 를 이용한 RTSP Streaming

 

안녕하세요 산딸기 마을 이장 나무꾼 입니다.

오늘은 많은 분들께서 관심을 보여주고 계신 V4L2를 응용한 RTSP 스트리밍 강좌를 포스트 해 보려합니다.

자 그럼 본격적으로 V4L2 응용 강좌로 들어가겠습니다.

 

1. V4L2 드라이브 설치

라즈베리파이 카메라용 V4L2 드라이브의 설치법은 기존 “파이카메라 활용강좌 : 라즈베리파이 PI-CAM V4L2(VIDEO4LINUX2) 설치” 를 참고 바란다.

 

2. VLC 설치

라즈베라피이 VLC RTSP Streaming 을 위해 VLC 를 설치 해보자.

pi@raspberrypi ~ $ sudo apt-get install vlc

Reading package lists… Done
Building dependency tree
Reading state information… Done
The following extra packages will be installed:
liba52-0.7.4 libaa1 libass4 libavc1394-0 libcddb2 libdca0 libdirac-decoder0
libdvbpsi7 libdvdnav4 libdvdread4 libebml3 libenca0 libfaad2 libgpm2
libiso9660-8 libkate1 liblircclient0 libmatroska5 libmodplug1 libmpcdec6
libmpeg2-4 libmtp-common libmtp-runtime libmtp9 libresid-builder0c2a
libshout3 libsidplay2 libspeexdsp1 libtag1-vanilla libtag1c2a libtar0
libtwolame0 libupnp6 libv4l-0 libv4lconvert0 libva-x11-1 libvcdinfo0 libvlc5
libvlccore5 libxcb-composite0 libxcb-keysyms1 libxcb-randr0 libxcb-xv0
libzvbi-common libzvbi0 vlc-data vlc-nox vlc-plugin-notify vlc-plugin-pulse
Suggested packages:
libdvdcss2 gpm lirc videolan-doc
The following NEW packages will be installed:
liba52-0.7.4 libaa1 libass4 libavc1394-0 libcddb2 libdca0 libdirac-decoder0
libdvbpsi7 libdvdnav4 libdvdread4 libebml3 libenca0 libfaad2 libgpm2
libiso9660-8 libkate1 liblircclient0 libmatroska5 libmodplug1 libmpcdec6
libmpeg2-4 libmtp-common libmtp-runtime libmtp9 libresid-builder0c2a
libshout3 libsidplay2 libspeexdsp1 libtag1-vanilla libtag1c2a libtar0
libtwolame0 libupnp6 libv4l-0 libv4lconvert0 libva-x11-1 libvcdinfo0 libvlc5
libvlccore5 libxcb-composite0 libxcb-keysyms1 libxcb-randr0 libxcb-xv0
libzvbi-common libzvbi0 vlc vlc-data vlc-nox vlc-plugin-notify
vlc-plugin-pulse
0 upgraded, 50 newly installed, 0 to remove and 0 not upgraded.
Need to get 12.1 MB of archives.
After this operation, 48.1 MB of additional disk space will be used.
Do you want to continue [Y/n]? y

 

3. V4L2 장치 활성화 및 정책설정

V4L2 장치활성화를 위해 아래 명령어를 수행 해 보자.

pi@raspberrypi ~ $ uv4l --driver raspicam --auto-video_nr --framerate 25

<notice> [core] Trying driver ‘raspicam’
<warning> [core] Driver not found
<notice> [core] Loading external library libraspicam.so
<notice> [core] Trying driver ‘raspicam’
<notice> [driver] Raspicam Video4Linux2 Driver v1.7 built Aug 18 2013
<notice> [driver] Selected format: 1920×1080, encoding: h264, H264 Video Compression, max. 25 fps
<notice> [driver] H264 bitrate: 17000000
<warning> [driver] NOTE: you might need to run the driver with a RealTime scheduling (–sched-rr), if you are going to use the (slow) Read I/O interface at high resolutions.
<notice> [core] Device detected!
<notice> [core] Registering device node /dev/video0

 

위 경고 메세지가 신경이 쓰인다면 아래 명령어 수행을 통한 V4L2 디바이스 장치를 우선 순위로 배정하여, 성능을 개선이 가능하다.

pi@rasplay ~ $ sudo chrt -a -r -p 99 `pgrep uv4l`

4. V4L2 RTSP Stream 실행 

pi@rasplay ~ $ cvlc v4l2:///dev/video0 --v4l2-width 640 --v4l2-height 480 --v4l2-chroma h264 --sout '#rtp{sdp=rtsp://:8554/}'

5. V4L2 RTSP Stream 실행영상

 

[참고사이트]

http://www.linux-projects.org/modules/sections/index.php?op=viewarticle&artid=16

http://www.videolan.org/doc/streaming-howto/en/ch04.html

산딸기마을 포스트 검색

공동제작 공동프로젝트 무상후원 기관

산딸기마을 기부하기

산딸기마을 방문자 현황

Flags Countries Visits Page views
South Korea 626063 1845660
United States 10882 26091
Japan 5011 13204
Germany 2755 5151
India 1897 2902
Canada 1729 4640
United Kingdom 1596 2642
Australia 1240 2901
Russia 1219 1677
China 1077 2239
Total Pageviews: 1936700