Wiki » History » Version 2

Luca Baldesi, 05/04/2017 04:11 PM

1 1 Luca Baldesi
h1. PeerStreamer-ng
2 1 Luca Baldesi
3 1 Luca Baldesi
PeerStreamer-ng (next generation) is intended as a follow up of the project Peerstreamer; its goals are the following:
4 1 Luca Baldesi
* Simplifying the code, by removing the old, useless or un-maintainable code and dropping the more third-party dependencies as possible
5 1 Luca Baldesi
* Focus on specific user cases; HTTP interface, RTP content flow
6 1 Luca Baldesi
* Support a full fledged friendly user interface
7 1 Luca Baldesi
* Being the most lightweight and portable as possible
8 1 Luca Baldesi
9 1 Luca Baldesi
h2. The design
10 1 Luca Baldesi
11 1 Luca Baldesi
!ps-ng_scheme.png!
12 1 Luca Baldesi
13 1 Luca Baldesi
h2. The HTTP flow (a.k.a. the ReST interface)
14 1 Luca Baldesi
15 2 Luca Baldesi
h3. The video consumer
16 2 Luca Baldesi
17 1 Luca Baldesi
* _GET /player.html_ : *default web application page*
18 1 Luca Baldesi
* _GET /channels.json_  : *JSON list of available channels, produced through a call to the SERF client*
19 1 Luca Baldesi
* _GET /player.html?active=<channel_name>_  : *default web application page, with the video plugin initialized for the <channel_name> channel*
20 1 Luca Baldesi
* _UPDATE /player.html?active=<channel_name>_ : *heartbeat request, to be called frequently*
21 2 Luca Baldesi
22 2 Luca Baldesi
!player_mockup.png!
23 2 Luca Baldesi
24 2 Luca Baldesi
h3. The video distributor
25 2 Luca Baldesi
26 2 Luca Baldesi
* _GET /mysources.html_: *My source html page*
27 2 Luca Baldesi
* _POST /mysources?name=<channel_name>_: *Create a new distribution overlay*
28 2 Luca Baldesi
* _GET /mysources/<channel_name>_: *get channel parameters and statistics web page*
29 2 Luca Baldesi
* _DELETE /mysources/<channel_name>_: *destroy the indicated distribution overlay*
30 2 Luca Baldesi
31 2 Luca Baldesi
!my_sources_mockup.png!
32 2 Luca Baldesi
!channel1_mockup.png!