Janus WebRTC Gateway에서 라이브 스트리밍(Raspberry Pi)[참고]

  • Janus WebRTC Gateway를 사용한 라이브 스트리밍


  • 개요


  • 이 근처
  • Janus WebRTC 게이트웨이
  • Lightweight, Live Video in a Webpage with GStreamer and WebRTC
  • Building a Raspberry Pi 2 WebRTC 카메라

  • USB 연결 WebCam 사용 (V4L2?가/dev/video0을 잘 해줍니다)
  • Motion를 잡으려고 검색하면 언젠가 여기가 되었습니까??

  • 환경


  • Raspberry Pi 3
  • USB WebCam (Buffalo BSW32K01H - 발매일 : 2009년 11월 중순 ... 체)
  • 2016-05-27-raspbian-jessie-lite.img

  • 절차


  • 평소

  • 기본적인 것을 넣다
    sudo apt-get install -y build-essential bc git byobu
    

  • Janus 빌드



  • Janus에 필요한 것을 넣어
    sudo apt-get install -y libmicrohttpd-dev libjansson-dev libnice-dev \
    libssl-dev libsrtp-dev libsofia-sip-ua-dev libglib2.0-dev \
    libopus-dev libogg-dev pkg-config gengetopt libtool automake
    
  • cd ; git clone https://github.com/meetecho/janus-gateway.git ; cd janus-gateway
  • sh autogen.sh ; CFLAGS=-I/usr/include/glib-2.0 ./configure --disable-websockets --disable-data-channels --disable-rabbitmq --disable-docs --prefix=/opt/janus ; make
    If you're not interested in Data Channels, WebSockets and/or RabbitMQ (or you don't care about either of them) you can disable them when configuring:

    빌드가 통과하면 좋기 때문에 간단한 설정으로 잡았다.
  • sudo make install; sudo make configs

  • gstreamer 및 웹 서버 (nginx)



  • 설치, Janus 파일 복사, 서비스 시작 등
    sudo apt-get install gstreamer1.0-omx gstreamer1.0-tools gstreamer1.0-plugins-good gstreamer1.0-plugins-bad
    sudo apt-get install nginx
    sudo cp -r /opt/janus/share/janus/demos/ /var/www/html/
    sudo systemctl enable nginx 
    sudo systemctl start nginx 
    
  • 브라우저에서 http://<らずぱいのIP>/demos/를보고 작동 확인

  • WebRTC 라이브 스트리밍


  • 두 개의 콘솔을 엽니다. (byobu를 사용하거나 ssh로 두 개의 로그인)
  • 하나는 gstreamer 시작
  • 또 하나는, janus 기동


  • 테스트


  • cd plugins/streams/;./test_gstreamer_1.sh 테스트 스크립트 실행:

    이런 느낌
    pi@raspberrypi:~/janus-gateway$ cd plugins/streams/
    pi@raspberrypi:~/janus-gateway/plugins/streams$ ./test_gstreamer_1.sh 
    Setting pipeline to PAUSED ...
    Pipeline is PREROLLING ...
    Redistribute latency...
    Redistribute latency...
    Pipeline is PREROLLED ...
    Setting pipeline to PLAYING ...
    New clock: GstSystemClock
    

  • /opt/janus/bin/janus -F /opt/janus/etc/janus/ janus 실행

    이런 느낌
    pi@raspberrypi:~$ /opt/janus/bin/janus -F /opt/janus/etc/janus/
    ---------------------------------------------------
    Starting Meetecho Janus (WebRTC Gateway) v0.1.2
    ---------------------------------------------------
    ...
    ...
    JANUS Unix Sockets transport plugin initialized!
    Unix Sockets thread started
    Sessions watchdog started
    [gstreamer-sample] New video stream! (ssrc=4120554784)
    

    gstreamer가 실행되지 않으면 마지막 [gstreamer-sample] New video stream!
  • 브라우저에서 http://<らずぱいのIPアドレス>/demos/streamingtest.html 를 열고,
  • [Start] 를 누르고 [Stream list]

  • WebCam을 사용해보기


  • 우리는 이것으로 놀랐습니다 ... 프레임 속도를 떨어 뜨리거나 ... 순서를 바꾸거나 ...
  • gst-launch-1.0 -v v4l2src device=/dev/video0 ! videoscale ! \
        video/x-raw,width=320,height=240,framerate=4/1 ! \
        videorate ! videoconvert ! timeoverlay ! \
        vp8enc error-resilient=true ! \
        rtpvp8pay ! udpsink host=127.0.0.1 port=5004
    



    기타


  • 무서운 일, 모르겠습니다 ...
  • 브라우저에 제대로 표시되지 않으면 AdBlock, NoScript, Ghostery 또는 방해하지 않는지 확인하십시오.
  • 라즈파이 공식 Camera(MIPI?CSI?인터페이스)라면 프레임 레이트가 좋은 하즈.그 중 시도해 보자.
  • 좋은 웹페이지 즐겨찾기