Wiki » History » Version 3

« Previous - Version 3/13 (diff) - Next » - Current version
Luca Baldesi, 06/12/2017 07:39 AM


PeerStreamer-ng (next generation) is intended as a follow up of the project Peerstreamer; its goals are the following:
  • Simplifying the code, by removing the old, useless or un-maintainable code and dropping the more third-party dependencies as possible
  • Focus on specific user cases; HTTP interface, RTP content flow
  • Support a full fledged friendly user interface
  • Being the most lightweight and portable as possible

The design

The HTTP flow (a.k.a. the ReST interface)

The video consumer

  • GET /player.html : default web application page
  • GET /channels : JSON list of available channels
  • 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
  • UPDATE /channels/<stream_id> : heartbeat request, to be called frequently on <stream_id>

The video distributor

  • GET /mysources.html: My source html page
  • POST /mysources?name=<channel_name>: Create a new distribution overlay
  • GET /mysources/<channel_name>: get channel parameters and statistics web page
  • DELETE /mysources/<channel_name>: destroy the indicated distribution overlay