I want to build a website with a online live video chat community. Much like http://www.stickam.com. I got a linux virtual dedicated server for the purpose. Anybody have any idea how it could be build or if somebody could give me some guidelines it would be very nice.

Thank you

Dani AI

Generated

Short, practical roadmap for a live video-chat site (modern approach, prototyping notes).

Modern browser-based low-latency video uses WebRTC (getUserMedia + RTCPeerConnection) with a small signaling channel — this replaces older Flash/RTMP setups and is the right foundation for embedding webcam chat in pages. A Linux VPS is fine for prototyping, but capacity depends on architecture (P2P vs server-forwarding) and available bandwidth. (developer.mozilla.org)

For multi-user rooms, an SFU (Selective Forwarding Unit) is usually the most cost-efficient architecture: endpoints send one uplink and the SFU forwards streams to others (much lower CPU than full mixing/MCU). Popular open-source choices and tradeoffs: mediasoup (Node.js-friendly low-level SFU), Janus, Jitsi Videobridge — pick one that matches language, feature and recording needs. (mediasoup.org)

Networking and sizing essentials: a signaling server (WebSocket) is lightweight, but NAT traversal needs STUN/TURN — coturn is the common open-source TURN server. Bandwidth drives cost: use codec/bitrate targets to estimate needs (example: VP8 at ~400 kbps for 640×480). For an SFU relaying N viewers, plan roughly N×bitrate outbound plus the incoming uplinks; factor in SSL, overhead and spikes when sizing links and VPS/network plans. (github.com)

Prototype checklist and a tiny signaling skeleton (Node.js + ws) to get started: build a simple 1:1 WebRTC demo (P2P), add a TURN server, then swap the peer logic for an SFU when moving to group rooms. The following minimal server just relays JSON signaling messages between peers (adapt for rooms/auth/moderation):

const WebSocket = require('ws');
const wss = new WebSocket.Server({ port: 8080 });
const rooms = new Map();

wss.on('connection', ws => {
  ws.on('message', raw => {
    const msg = JSON.parse(raw); // { type, room, payload }
    if (msg.type === 'join') {
      rooms.set(msg.room, (rooms.get(msg.room)||[]).concat(ws));
      return;
    }
    (rooms.get(msg.room)||[]).forEach(p => { if (p !== ws) p.send(raw); });
  });
});

Start small, measure actual bitrate/concurrency on the testbed, and move to an SFU + TURN for predictable scaling and cost.

Recommended Answers

All 4 Replies

your server is probably good for about 30 chatters. expect to spend $5k for a working prototype.

Even for 30 chatters, how do i get the thing started?

Why don't you ask the guy who is running it? This not sort of thing evrybody do, I would expect to be lot of coding and you should be familiar with video streaming and such...

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.