Wiki » History » Version 3

Luca Baldesi, 06/12/2017 07:39 AM

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 3 Luca Baldesi
* _GET /channels_  : *JSON list of available channels*
19 3 Luca Baldesi
* _POST /channels/<stream_id>?ipaddr=<sourceip>&port=<sourceport>_  : *create the streaming resource <stream_id> and launch the streaming instance; it returns a JSON describing the resource attributes with which initialize the plugin player*
20 3 Luca Baldesi
* _UPDATE /channels/<stream_id>_ : *heartbeat request, to be called frequently on <stream_id>*
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!