Skip to content

GikenDev/web-intercom

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

web-intercom

Version License

Inter-communication system on browser via LAN. Powered by Deno.

ATEM tally light system extended version of aKuad/web-intercom.

Top image

Features

  • Multi users talking
    • Required only a browser, additional applications isn't necessary
    • ... means this is cross-platform
  • Each user's input volume controlling
    • Also works on browsers
  • Easy to setup the server
    • Required only Deno
  • Tally light system for ATEM switcher
    • Tally light view on audio client

Server deployment

As requirements, install Deno at first.

Basic run command

Just only run:

cd src
deno run --allow-net --allow-read --allow-env --allow-ffi main.ts

Enable TLS

Note

For using mic input, secure context is required. It means not working on HTTP, need to be HTTPS.

Generate key and certificate for HTTPS connection.

Caution

This step generates self signed certificate. Use only in LAN, then do not open to the Internet.

cd src
openssl req -newkey rsa:4096 -x509 -nodes -subj '/CN=common_name_here' -keyout key.pem -out cert.pem

Note

src/main.ts loads private key from src/key.pem and certificate from src/cert.pem.

Then run with --tls option:

# on src directory
deno run --allow-net --allow-read --allow-env --allow-ffi main.ts --tls

Enable tally light feature

Run with --atem-ip="<switcher-IP>" option, then ATEM connection will be enabled.

# example for switcher IP is 192.168.0.1
deno run --allow-net --allow-read --allow-env --allow-ffi main.ts --atem-ip="192.168.0.1"

Client usage

Audio client (Normal mode)

Access to http(s)://server.address:8000/

Type lane name, then click 'connect'.

Audio client UI - Lane name setting

Audio client (Tally light mode)

When lane name is integer 1~8 at audio client, it turn to tally mode.

Audio client UI - Tally light mode

Mixer client

Access to http(s)://server.address:8000/mixer.html

Type lane name, then click 'connect'.

Mixer client UI - Lane name setting

Then view all lanes fader and meter. Move fader to control gain of each lane.

Mixer client UI - Volume control

Using library

atem-connection - Copyright (c) 2023 Norsk rikskringkasting AS

License

CC0-1.0

About

Inter-communication system on web

Resources

License

Contributing

Stars

Watchers

Forks

Languages

  • JavaScript 65.6%
  • TypeScript 19.0%
  • HTML 11.7%
  • CSS 2.9%
  • Shell 0.8%