Item Code: CoralCoder

CoralCoder is the transcoding engine.
  • CoralCoder/Live gives you unlimited IP stream inputs and outputs.
  • CoralCoder/VOD adds transcoding to/from files.

Both "flavors" of CoralCoder are available as installable system images which gives you the freedom to install in your own hardware, your own cloud, your mega-vendor’s cloud, or a combination of all the above. They’re scalable and flexible, from two to 128 VCPUs, with additional options which can add error correction, multi-plexing, and time-delay. They can scale from a small content provider with a single live feed to global providers of many channels feeding cable providers a continent away.


gives you unlimited IP stream inputs and outputs. Its unique strengths derive from its streamlined real-time operating system, which boosts transcoding tasks to the level expected by professionals, even to the point of GPU support. Any format and envelope to any format and envelope, whether your desired end product is h.264/AAC and your input is udp, rtp, rtmp... it’s practically a universal transcoder.

Note: some of this is taken straight out of the manual, and will be moved to a second tab later.

One of the key concepts of the Coral Encoding/Decoding process is that a source is an input. That source can include several streams, such as a net, or IP input containing multiple programs. You can have several inputs from the same source; for example, you can set up several NET type inputs all with the same input, if for some reason you have to process the inputs differently.

You should bear in mind that each input can have many outputs. You might, for example, have an RF input, if you're working on a non-virtual platform, for which you wish to output to udp to several unicast destination IPs, for example. The key effect upon the system in each case will be how many transcoding threads you’ll require. Coral will try to use one transcoding thread for as many outputs as it can "match" the parameters to. It's one of CoralCoder's main advantages.

Another key concept is that input and output are two logically separated user interface components. They are next to each other, the input appearing above the output(s); they are turned on and off with the same controls. But they are configured separately.

The input and output(s) can be the same format or different formats. An output may require transcoding of the input, or it may not. Several outputs that share similar characteristics can share a single transcoding thread (one of the things that makes Coral so efficient). Some outputs can be marked "enabled," others "disabled." Turning on one service turns on all the "enabled" outputs.

Thus, the overall process involves identifying, configuring and capturing an input, which in many cases that requires very effort, then "modifying" the stream's format or envelope in some way so as to create one or more output streams that match your requirement(s).

Within the output, as you choose various configuration options, some of the user interface controls and choices will change in accordance. If you output to udp, for example, the destination will be an IP address/port because you’ll be sending the output stream; but if you output to http or a related format such as HLS, you’ll be defining a URL, because you’ll be listening for a request for the output stream. In neither case, however, will a choice made in the input configuration affect the controls you find in the output configuration.

As much as possible, Coral hides complexity behind the "advanced" option links. But in general, you will probably find that there will be more configuration necessary on the output side than on the input side.

Adds transcoding to/from files. You may also wish to specify the Media Server option to organize the transcoded files, especially from live sources. With the Media Server option, you’ll also be able to serve HLS/DASH/fMP4 with DRM streaming to end user viewers. CoralCoder VOD additionally helps supply your VOD media servers in your own cloud, or to a service by which you can supply them via our cloud, or via your megacloud vendor’s cloud. CoralCoder/VOD can automatically transcode and store your live stream segments for later VOD playback via HLS/DASH/fMP4. You can use Coral VOD like a "library" to supply your CDN or, if you’re a small-to-medium content provider, as a media server for directly serving end-user viewers. It supports DRM, pre-shared encryption, standard ad servers and more. It can even pull a live stream, transcode, store and then serve it (creating simple web page links so that end users can then browse the stream archives). Its fMP4 support also provides for storing a DRM enabled segment for playback on both HLS or DASH, which saves storage space while supporting disparate platforms.

The general concept for CoralCoder/VOD is that you'll set your stream inputs up in much the same way as you would for CoralCoder/Live, however, you'll set the stream outputs as HLS. In those cases in which you'll want ABR (Adaptable BitRate), you'll specify a master, and then set up one or more additional outputs with a similar name, but at a different bitrate, resolution, etc. You'll then switch over the the Media Server side, to configure the outputs.

The SipRadius Media Server provides standard playback features for typical users, with support for DRM, ABR, HLS, DASH, .fMP4 and VOD. The overall concept is that you will set up your streams under the Stream Setup pages and direct the outputs to the SipRadius Media Server. In managing the Media Server, you can provide for Ad Insertion and statistics; there also is an internal testing mechanism for external authorization, and so forth. In other words, the Media Server provides pretty much all that is necessary for serving your streams to the general public, plus a set of tools. Or, you can also set up the features just mentioned, and push the streams out to a CDN of your choice. The system is designed for flexibility and to "fit in" to your needs.

The Media Server will "pull" in your HLS segments. At the same time that it (optionally) servers those segments "live" to viewers, it will also store the segments for future VOD playback (so make sure you've lots of file storage). When it does that, it will also set up a perfunctory "table of contents" to make it easy for your viewers to find the segments you wish.