palava Encrypted P2P-Videoconferences on the web Marius Melzer – Encrypted P2P-Videoconferences on the web – Marius Melzer



palava Encrypted P2P-Videoconferences on the web Marius Melzer – Encrypted P2P-Videoconferences on the web – Marius Melzer

1 0


talk-webmontag


On Github palavatv / talk-webmontag

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

<video id="gum-video" autoplay="autoplay">

<script>
  navigator.webkitGetUserMedia(
    {video: true, audio: false},
    function(stream) {
      document.getElementById('gum-video').src =
          webkitURL.createObjectURL(stream);
    }
  );
</script>
            </video>

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