자신의 웹 서버를 위한 영상 채팅

7135 단어 webrtcvideowebdevchat

특징


  • 오픈 소스
  • 소그룹용
  • 브라우저 기반
  • 피어 투 피어 연결만
  • Firebase는 신호용으로만 사용됩니다.
  • 미디어 서버 없음
  • 화면 공유
  • 이미지가 있는 텍스트 채팅
  • 비디오 및 마이크 소스 변경
  • 다국어(영어 및 독일어)
  • 모바일 친화적

  • 데모



    라이브 데모: https://chat.gise.at

    해시태그 뒤의 문자는 방을 정의합니다. 해시태그를 선택하지 않으면 방 만들기 대화 상자가 표시됩니다.

    예를 들어, https://chat.gise.at/#roulette-chat에 대한 링크가 있는 모든 방문자는 방에 들어가 그곳에서 서로 통신할 수 있습니다.

    따라서 다른 사람을 초대하려면 현재 URL을 전달하기만 하면 됩니다.

    설치



    본 영상채팅은 자체 웹서버에 설치하도록 제작되었습니다.
    웹 서버에는 서버 측 프로그래밍 언어가 필요하지 않으며 무료 Firebase 프로젝트만 있으면 됩니다.

    전제 조건


  • 로컬 개발 환경
  • 힘내
  • Node.js
  • npm

  • 서버
  • nginx 또는 아파치


  • 구성



    로컬 개발 환경에서 코드 및 종속성을 로드합니다.

    git clone https://github.com/vgiselbrecht/chat.git chat
    cd chat
    npm install
    cp src/config.tmp.json src/config.json
    


    신호를 보내려면 익명 인증 및 실시간 데이터베이스가 포함된 무료Firebase Project가 필요합니다.

    firebase 구성을 exchangeServices/firebase의 src/config.json 파일에 복사합니다.

    {
        "meta": {
            "title": "Video Chat",
            "description": "Open-Source video chat based on WebRTC and Firebase.",
            "keywords": "chat, webrtc, video-call, video-chat",
            "image": ""
        },
        "privacy": {
            "firebaseAnalytics": 0,
            "imprint": "",
            "gdpr": ""
        },
        "exchangeServices": { 
            "firebase": {
                "apiKey": "",
                "authDomain": "",
                "databaseURL": "",
                "projectId": "",
                "storageBucket": "",
                "messagingSenderId": "",
                "appId": "",
                "measurementId": ""
            }
        },
        "communication": {
            "webrtc": {
                "iceServers": [
                    {"urls": "stun:stun.services.mozilla.com"}, 
                    {"urls": "stun:stun.l.google.com:19302"}
                ]
            }
        }
    }
    


    통신/webrtc/iceServers에 STUN/TURN 서버를 추가할 수도 있습니다. 일부 방화벽 및 NAT 뒤에서 이 화상 채팅을 사용하려면 TURN 서버가 필요합니다.

    List of free STUN and TURN Server

    개발용 영상 채팅 배포




    grunt deploy
    


    dist 디렉토리의 콘텐츠를 로컬 웹 서버의 문서 루트에 추가합니다.

    프로덕션용 영상 채팅 배포




    grunt deploy --target=production
    


    dist 디렉토리에서 웹 서버로 콘텐츠를 복사합니다.

    개발




    grunt watch
    


    프로젝트 파일을 저장한 후 dist 디렉토리의 컴파일된 코드를 변경합니다.
    이상적으로 dist 디렉토리는 nginx 또는 apache와 같은 로컬 웹서버의 문서 루트입니다.

    자세한 정보 및 소스 코드는 GitHub .

    좋은 웹페이지 즐겨찾기