라즈베리 파이에서 vlc를 이용해 스트리밍하기


라즈베리파이


라즈베리 파이에서 먼저 파이용 카메라를 설치하고 raspi-config에서 카메라를 enable 시켜준다.


다음에는 vlc를 설치하고


$ sudo apt-get install vlc


스트리밍을 설정한다.


$ raspivid -o - -t 0 -n | cvlc -vvv stream:///dev/stdin --sout '#rtp{sdp=rtsp://:8554/}' :demux=h264


raspivid는 라즈베리파이에서 기본으로 제공하는 카메라가 있을 때 비디오 출력을 쉽게 할 수 있도록 도와주는 프로그램이다.

사용법은 간단하다. raspivid를 단독으로 실행하면 현재 연결되어있는 출력장치로 카메라로 입력된 영상을 출력시켜준다. 아무런 옵션이 없었을 경우 기본 5초정도 영상을 출력시켜준다.


위에서 설정한 raspivid 옵션은 다음과 같다.


"-o -"    표준출력(stdout)으로 출력

"-t 0"    timeout은 없도록(0보다 크면 해당 초만큼 동작)

"-n"    미리보기 안하기


cvlc의 옵션은 다음과 같다.(cvlc는 console vlc player이다.)


"-vvv"    데이터를 어디서 얻는지 지정

"-sout"    데이터를 어디로 출력할지 지정


좀더 세밀한 작업을 원한다면 raspivid에 몇가지 옵션을 더할 수 있다.


$ raspivid -o - -t 0 -n -w 800 -h 480 -fps 24 | cvlc -vvv stream:///dev/stdin --sout '#rtp{sdp=rtsp://:8554/}' :demux=h264


추가된 옵션은


"-w"    넓이 (64에서 1920까지)

"-h"    높이 (64에서 1080까지)

"-fps"    초당 프레임수 (2에서 30까지)


이렇게 라즈베리파이에서 설정해주면 된다.


Client


이제 PC,스마트폰 등 보는 기기 쪽에서 미디어 플레이어를 실행시키고 네트워크 열기 또는 주소열기등을 이용하여 다음 주소를 넣어주면 된다.


rtsp://###.###.###.###:8554/


###.###.###.###는 raspivid의 IP주소이며 사설IP(192.168.###.###)라면 직접 테스트가 가능할 것이고 공인IP이고 공유기를 사용한다면 공유기에서 포트포워드를 이용하는 방법으로 사용이 가능하다.


Posted by codebank
,