Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

A webapp for experimenting with WebRTC

NotificationsYou must be signed in to change notification settings

antoinechalifour/talkie.lol

Repository files navigation

Build Statuscode style: prettier

Talkie is a free, open-source, secure, peer-to-peer video chat app that you can use to talk to your friends.

Try it here!

Quick Overview

Talkie is a side-project that I use to play with WebRTC and brand new Web APIs. Talkie uses :

CategoryAPIUsed for...
WebRTCRtcPeerconnectionCreating peer to peer connections
WebRTCData ChannelsSending messages and images
WebRTCMediaDevices / enumerateDevicesSelecting audio and video sources
WebRTCMediaDevices/ getUserMediaStream the user audio / video
WebRTCMediaDevices / getDisplayMediaShare the user screen
PictureInPictureVideo / requestPictureInPictureEnable picture in picture for a user
ClipboardwriteTextCopy the space link
ClipboardwriteCopy the space QR code
Clipboardpaste eventSend images from the clipboard over data channels
CanvascaptureStream(Experiment) Merge all streams to a canvas
CanvastoBlobTo copy a canvas to the clipboard
WebAudioAnalyzerNodeDetect sound and silence
NavigatorConnectionDetect connection type
PWAService WorkersInstalling Talkie on your device!

Stack

Signaling server

The source code can be foundhere.

The signaling server is aGraphQL API, written using :

  • ✅ TypeScript
  • 🚀Apollo server as a GraphQL server
  • 🄺Koa
  • ♻️ Dependency Injection usingAwilix
  • 📦 Redis as a database / pubsub

Web app

The source code can be foundhere.

The frontend is aReact app using :

This project extensively uses new APIs such as CSS Grid or CSS custom properties.

Development environment

Requirements

To run this project locally, you will need

Running locally

To start the app :

  • Install dependencies usingyarn in the project root
  • Rundocker-compose up in the project root (this will start Redis and the signaling server in watch mode usingts-node)
  • Runyarn start in thepackages/web directory (this will start the front-end)

Deployment

# Configure the remote machine (install Nginx and Docker)ansible-playbook infra/playbooks/install.yml# Configure the reverse proxyansible-playbook infra/playbooks/reverse_proxy.yml# Deploy the appansible-playbook infra/playbooks/talkie.yml

[8]ページ先頭

©2009-2025 Movatter.jp