Challenge 2: Gather up those feeds and spit ‘em out
Previous Challenge Next Challenge
Introduction
It is now time to start working on end to end media streaming pipeline. It all begins from our raw source feeds.
Our entire pipeline will be built using Secure Reliable Transport protocol streams. SRT is an open source protocol designed to connect two endpoints to deliver low latency video and other media streams across any network including the public internet.
We will gather up all the live and recorded feeds that we have available and bring them into Norsk Studio. Norsk Studio is a live streaming workflow builder with a graphical drag-and-drop UI
This gives us the opportunity to preview the feeds and then create SRT outputs.
Once we have SRT outputs, we will be using them later in our pipeline.
Tools Used
- Google Cloud Compute Engine
- Norsk Studio
Description
We will be using Norsk Studio as our gateway to collect all our feeds. Norsk is where our pipeline begins.
Log into your Norsk instance and replace placeholder with your actual project id:
- URL: https://norsk.endpoints.[your_project_id].cloud.goog
- Your coach will provide a username and password
You will start with a blank canvas in Norsk. On the left is the Component Library. We will be dragging components onto our canvas and connecting them to build up this part of the pipeline.
Note
Connecting nodes requires dragging lines between the small circles on the components. If a setting’s value is NOT specified in these instructions LEAVE THE DEFAULT.
Using the SRT Ingest (Caller) component, connect to the various camera and audio feeds. They are running at the following URIs:
Race Feeds
fecamgw01.media.ghacks.dev:5111
fecamgw02.media.ghacks.dev:5112
fecamgw03.media.ghacks.dev:5113
fecamgw04.media.ghacks.dev:5114
Race Audio Feed
fecamgw05.media.ghacks.dev:5116
Drive Cam Feeds
fegridgw01.media.ghacks.dev:5141
fegridgw01.media.ghacks.dev:5142
fegridgw02.media.ghacks.dev:5121
fegridgw02.media.ghacks.dev:5122
fegridgw03.media.ghacks.dev:5131
fegridgw03.media.ghacks.dev:5132
RAI Venue Feeds
Football
raigw01.media.ghacks.dev:5161
Accelerator
raigw02.media.ghacks.dev:5162
Stage
raigw03.media.ghacks.dev:5163
RAI Audio
raigw04.media.ghacks.dev:5081
raigw04.media.ghacks.dev:5082
The settings on the SRT Ingest component will look something like this:
- Display Name:
camera1
- Host:
fecamgw01.media.ghacks.dev
- Port:
5111
- streamId:
camera1
Now add 4 Preview components and connect it to the Ingest components so you can actually see what is coming in. Make sure you don’t touch the Preview Mode field. It should be: JPEG Only.
Finally, add 4 SRT Listener (Egest) components and connect them to the sources. Use ports 5111 to 5114.
The settings on the SRT Egest component will look something like this:
- Display Name:
srt-listener-camera1
- Port:
5101
- Host:
0.0.0.0
The final step is to connect your inputs to your outputs. This tells Norsk where to send the media from each source. Your goal is to create four parallel, independent streams.
Save your configuration as a YAML file for future use.
Success Criteria
- You are ingest 4 camera feeds
- On the Norsk Studio canvas you have Preview components running and showing video for all 4 feeds.
- You’ve created 4 SRT Egests and noted down their SRT URIs
- You’ve saved your work as a yaml files and download it as a backup configs.