VIRTUAL CHANNELS

Create custom linear channels, niche and pop-up channels, pre-recorded music events, FAST services, and more from live sources and media previously prepared for VOD streaming.

WHAT TO EXPECT FROM THIS TRIAL

Follow the steps below to create and playback a new demo virtual channel in less than 30 minutes.

Your 7 day trial key is present in Step 1.

Check out the prerequisites before starting the trial.

PREREQUISITES
STEP 1

Start by cloning the Virtual Channel repository from GitHub and starting the Docker Compose stack:

444 git clone https://github.com/unifiedstreaming/virtual-channel.git

cd virtual-channel

export UspLicenseKey=;

docker compose up -d

Wait a minute or two for all the Docker images to download and the services to start, you can view the status by checking the logs with:

docker compose logs

And checking the API is available by querying it with curl:

curl http://localhost:8000

Which should respond:

{"detail":"I'm alive!"}

Now we have Virtual Channel up and running.

To create channels and transitions, follow the next steps and use Curl. If you prefer Postman, then just run the solution there with our Virtual Channel public workspace.

STEP 2

Create a channel by sending a playlist to the API:

curl -X PUT -H 'content-type: application/xml' http://localhost:8000/channels/getting_started -d @examples/vod2live_promo.smil

This should give a response with a task_id and status_url to check:

{"task_id":"f66847f3-cf48-45e6-a813-2df7865641d2","status_url":"/channels/getting_started/status"}
STEP 3

Check the status of the channel creation job through the API:

curl http://localhost:8000/channels/getting_started/status

Which should give a response like:

{"status":"Success","origin_url":"http://localhost/getting_started.isml","details":[{"name":"Live channel creation job","status":"Pending","time":"2023-01-04T16:02:15.672908Z","details":""},{"name":"Live channel creation job","status":"In progress","time":"2023-01-04T16:02:17.707943Z","details":""},{"name":"Temporary SMIL file creation","status":"Success","time":"2023-01-04T16:02:17.715221Z","details":""},{"name":"Temporary ISML file creation","status":"Success","time":"2023-01-04T16:02:17.717934Z","details":""},{"name":"Unified Remix","status":"In progress","time":"2023-01-04T16:02:17.719666Z","details":""},{"name":"Unified Remix","status":"Success","time":"2023-01-04T16:02:20.289012Z","details":""},{"name":"mp4split","status":"In progress","time":"2023-01-04T16:02:20.291172Z","details":""},{"name":"mp4split","status":"Success","time":"2023-01-04T16:02:21.160076Z","details":""},{"name":"Live channel creation job","status":"Success","time":"2023-01-04T16:02:21.168585Z","details":""}]}

As the status of the job is Success, the channel is now running and can be played.

You can watch the DASH stream: https://reference.dashif.org/dash.js/latest/samples/dash-if-reference-player/index.html?mpd=http://localhost/getting_started.isml/.mpd

Or HLS: https://hls-js.netlify.app/demo/?src=http://localhost/getting_started.isml/.m3u8

WHAT'S NEXT?


Try it out with your own content

or

Contact us to purchase a license.