며칠을 이걸 보느라. 참 ...
우선 VLC라는 player및 streamer가 있다.
무료 소프트웨어이며 이번에 혼자 작성하던 프로그램에서 코덱 설치 없이 음악 재생 기능을 넣고 싶던 중 발견하여 사용해 보았는데
나름 잘 만들어져 있는 듯하다. 나름 유용하게 잘 사용하였다.
암튼..
이번엔 Streaming 을 하고 다른 컴퓨터나 모바일에서 그걸 확인하려고 했는데..
여기저기 찾아보면서 많이 해 보았지만 안되더군요.. @.@
결국 찾아냈지만..
우선 몇가지 방법이 있습니다.
스트리밍 방식에 대해서 보면
HTTP, RTSP, RTP, UDP 등등 여러가지가 있고
실제 송출하는 쪽에서는 원하는 프로토콜형식으로 설정해 주면 되고
받는 쪽에서는 설정한 프로토콜을 기반으로 URL을 입력해주면 됩니다.
우선 utuntu에서 rtsp 를 사용한 방법을 볼까합니다.
1. Server
1) VLC 실행
$ vlc
2) Media menu에서 "stream" 메뉴 선택
3) 여러 장치 중 난 Webcam을 선택하려한다. 마지막 탭에 있는 Capture Device 선택
Video Device Selection에서 /dev/video0 선택.
연결된 webcam 혹은 usb카메라가 없으면 아무것도 보이지 않을 수 있음.
4) Stream 버튼 누름
5) Next 누름
6) RTSP 선택 후 Add 누름
7) Add를 누를 이후 아래 화면과 같이 나오고 포트와 경로를 바꿔도 된다. 포트는 굳이 바꾸지 않아도 되서 그냥 두고 path만 변경
path는 단순히 client가 접속할 때 url에 추가되는 이름 같은 것으로 보면 되겠다.
Activate Transcoding 은 원래 소스가 되는 카메라 영상아나 원래 동영상 혹은 노래 파일들의 포맷을 특정 format으로 변경하겠다는 의미이다. camera의 경우는 raw image 형태로 되어 있어서 특정한 format으로 변환 후 stream해야한다. 그렇지 않으면 받는 쪽에서 영상이 보이지 않게 된다.
드라이버와 스패너가 그려져있는 버튼 누르면 해당 profile의 옵션을 변경할 수 있다. size 혹은 bitrate 해상도 등등.
8) 자 그럼 이어서 next를 누르면 아래 화면이 나온다. 여기서 Stream 버튼을 누르면 Streaming이 시작된다.
실제 실행은 위의 "Generated stream output string"에 따라 실행되는 거라 보면 된다. shell 에서 단순히 vlc 파라미터로 위 스트링을 넣어 실행하면 똑같이 실행된다.
자 그럼 받는 쪽에서 어떻게 할 것인가???
1. VLC 실행 혹은 rtsp 실행가능한 프로그램 실행. mplayer 등등.
2. 메뉴에서 "Open network stream" 선택
3. 아래 화면처럼 나오고 여기서 URL 입력.
URL은 우리는 rtsp를 사용하여 stream을 열었으니
URL 처음은 rtsp로 시작. 그리고 stream실행한 컴퓨터(서버) IP 주소 입력 후 포트번호 입력 후 설정했던 경로 입력.
아래 그림과 같이 입력되겠죠.
그리고 Play 버튼을 누르면 재생이 시작됩니다.
참조로 rtp, udp 로 stream 설정했다면 client에서 입력 주소는 위 그림에서와 같이
rtp://@xxx.xxx.xxx.xxx:~~, udp://@xxx.xxx.xxx.xxx:~~
형식으로 되어야 합니다.