palava

Encrypted P2P-Videoconferences
on the web


Marius Melzer

WebRTC

new web standard (currently in firefox & chrome)

allows p2p-connections between browsers ...

... and video/audio streams on top


P2P connection requirements

Initialisation over signaling server

Exchange of streaming properties over SDP

NAT traversal via ICE (STUN server)

Interop problems & workarounds

Signaling

palava software stack

completely free & open source

palava machine

our "tracker"

room & signaling server

palava client

webrtc wrapper library for video conferencing

palava portal

web plattform using the palava client

Signaling Protocol

A few defined JSON messages

Client → Server


join_room(room_id, status)

send_to_peer(peer_id, data)

update_status(status)

Server → Client


joined_room(me, peers)

peer_updated_status(peer_id, peer_status)

error(id, message)

shutdown(seconds)

Client → Client

via send_to_peer


offer(sdp)

answer(sdp)

ice_candidate(...)

https://palava.tv

one running palava instance

video conferences with as many people as your bandwidth allows

no registration or login required

provides open stun + signaling

who is palava?

4 founders: Jan Lelis, Marius Melzer, Stephan Thamm, Kilian Ulbrich

non-profit organisation

13 members

How you can help us?

Hack on it!

Code

https://github.com/palavatv

Setting up the components

https://blog.palava.tv/2013/12/How_to_host_your_own_WebRTC_Video_Conferencing_on_ubuntu/

Basic usage of palava client library

https://gist.github.com/farao/8392186

You can use your own signaling & stun (2 ips!) or ours!

Ideas

"Franchising"

Ideas

Easy Deployment

Ideas

More decentralisation

Ideas

Mobile

Ideas

Features: Text chat, Screen sharing, "instant messaging"?

How can you help?

Coding

Designing

Money (appeal for funds in january)

Spreading the word!

Get in contact with palava

@palavatv

https://blog.palava.tv

Newsletter ("Get updates")

Email: contact@palava.tv

Get in contact with me

@faraoso

Email & Jabber: marius@rasumi.net