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
- Docker with Compose plugin, if not already installed see: https://docs.docker.com/get-docker/
- Internet access on host through ports 53 and 80; needed to check license key
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.