/webcast.js

API and documentation for the webcast websocket protocol

Primary LanguageCoffeeScriptMIT LicenseMIT

Webcast

This file and its corresponding repository documents the webcast protocol for streaming audio and video data using websockets.

Documentation

Webcast Flowchart
The Webcast Flowchart

Description

The webcast protocol is used to send multimedia data to a streaming server using websockets. It is designed to be implemented in browsers, thus providing a readily available browser client to stream local files and live media (webcam video, microphone audio).

How to test?

Client

A fully functional client is available for testing at webcast/webcaster.

Server

The examples/server/ directory contains a demo server, written in NodeJS. In order to run it, you will need a functional node install. Once this is done, you can execute npm install in the server/ directory and then cake run and you should be good to go!

Alternatively, a fully functional implementation of the protocol is available in liquidsoap. To test it, you can simply run liquidsoap with the following command line:

liquidsoap "output.ao(fallible=true,audio_to_stereo(input.harbor('mount',port=8080)))"

Webcast.js API

See API

Protocol Specifications

See SPECS