What it is?
GSS is a standalone HTTP server implemented as a library. Its special focus is to serve live video streams to thousands of clients, mainly for use inside an HTML5 video tag. It’s based on GStreamer, libsoup, and json-glib, and uses Bootstrap and BrowserID in the user interface.
GSS comes with a streaming server application that is essentially a small wrapper around the library. This application is referred to as the Entropy Wave Streaming Server (ew-stream-server); the code that is now GSS was originally split out of this application. The app can be found in the tools/ directory in the source tree.
Current features :
- Streaming formats: WebM, Ogg, MPEG-TS. (FLV support is waiting for a flvparse element in GStreamer.)
- Streams in different formats/sizes/bitrates are bundled into a single “program”.
- Streaming to Flash via HTTP.
- Authentication using BrowserID.
- Automatic conversion from properly formed MPEG-TS to HTTP Live Streaming.
- Automatic conversion to RTP/RTSP (Experiemental, works for Ogg/Theora/Vorbis only.)
- Stream upload via HTTP PUT (3 different varieties), Icecast, raw TCP socket.
- Stream pull from another HTTP streaming server.
- Content protection via automatic one-time URLs.
- (Experimental) Video-on-Demand stream types.
- Per-stream, per-program, and server metrics.
- HTTP configuration interface and REST API is used to control the server, allowing standalone operation and easy integration with other web servers.