windows 기반 webcam streaming 환경 구축
vlc 설치 후 아래 구문으로 스트리밍 실행
“C:\Program Files\VideoLAN\VLC\vlc.exe” dshow:// :dshow-vdev=”Microsoft LifeCam VX-6000″ :dshow-size=640×480 :dshow-caching=200 :sout=#transcode{vcodec=h264,vb=512}:http{mux=asf,dst=:8080/}
http://window_pc:8080 으로 동영상 확인 가능
만일 원격의 ffserver를 통해 해당 동영상을 중계하고자 할 경우, windows ffmpeg binary 파일을
설치한 후 아래 명령구문으로 원격의 ffserver로 윈도우 PC에서 스트리밍하는 영상을 포워드할수
있음.
ffmpeg -i http://localhost:8080 -s 640×480 -r 20 -vcodec libx264 -sameq http://remote_ffserver:8090/feed2.ffm
이 방법은 windows 머신이 외부 서비스를 할수 있는 네트워크 조건이 안될때 (NAT환경) 사용
하면 유용함.
위 방법과 같이 vlc와 ffmpeg를 통해 캠영상을 스트리밍 할 경우, PC에 과도한 부하가 걸리는
문제가 있다. 아래 소개한 리눅스 기반의 클라이언트라면 ffmpeg만으로도 원격의 ffserver로
바로 영상을 스트리밍으로 전송할 수 있다. 아래 내용이 이에 해당된다.
최신 ffmpeg windows binary를 설치하면 아래 명령을 사용할 수 있을 것이다.
ffmpeg -f vfwcap -r 20 -v 10 -b 256k -s 640×480 -i 0 http://remote_ffserver:8090/feed2.ffm
;; ffserver 와 ffmpeg 의 버전은 가급적 일치 시키겨나, 유사한 버전으로 구성해야 함.
참고 명령 구문
“C:\Program Files\VideoLAN\VLC\vlc.exe” dshow:// :dshow-vdev=”Microsoft LifeCam VX-6000″ :dshow-adev=”none” :dshow-size=”640×480″ :sout=#transcode{vcodec=h264,vb=256}:duplicate{dst=std{access=http,mux=asf,url=:8080}}
본 문서와 아래 문서를 이용하면 원격 화상 회의 시스템이나, 원격 다중 감시 시스템등을 간단한 웹프로그래밍으로 손쉽게 만들수 있다. 단 audio와 video의 realtime sync 문제는 해결해야할 과제인듯..
이부분만 해결되면 재미난 솔루션들을 개발하는데 도움이 될수도 있을듯..ㅋㅋ