CAST.IO is a service with transcoding possibility of video and audio from providers. A provider is a javascript plugin which provides media content to be streamed through a transcoder then casted to your receivers.
What is CAST.IO?
-
a headless service with a RESTful Web API provided for client interaction.
-
service which hosts plugin bundles written using JavaScript, named providers which provides media to be casted to your chromecast connected displays.
To build CAST.IO you need to fulfill a few dependencies, a C
compilator, cmake
and the development packages for the following
libraries (names can differ between distributions);
- glib
- json-glib
- libxml
- libarchive
- libsoup
If you are building from git repository you need to initialize a third
party library MuJS which is available as a git submodule. This is done
by issuing command git submodule init
in your working copy. Then
follow the steps below to build and install CAST.IO.
mkdir build && cd build
cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_INSTALL_PREFIX=/opt/castio ..
make install
CAST.IO provider plugins are written using JavaScript where each provider initializes and implements parts of the provider Plugin API. This is done using global objects provided by CAST.IO for different purposes as you can read more about at the Plugin API documentation.
The Web API is the only external interface to the CAST.IO service. Used to configure the service and available providers, search, browse and launch content for playback to a receiver.
The android client is the only CAST.IO client this project will release. It will use the CAST.IO web API to server as controller for playback of content from providers. It should be a simple task to create a new native client for another platform using the open and welldocumented CAST.IO web API.
Here follows a list of goals for stable release version 1.0
- Android client application
- Stable version of web api
- Stable version javascript plugin api
Here follows a list of goals for stable release version 2.0
- Revised stable version of web api
- Revised stable version of javascript plugin api
- Initial transcoding functionality