Tutorial - 5G MSd: Basic End-to-End Setup with 5G Network

This guide describes how to setup and configure the 5G-MAG Reference Tools to create an end to end setup consisting of the 5G Downlink Media Streaming components and a 5G Network based on Open5GS and srsRAN.

5G Network with COTS UE setup

To setup the 5G Network and connect a COTS device please refer to the corresponding documentation.

5G Media Streaming setup

Server-side Setup

Step 0: Using a local server (Skip if your content is hosted in the internet)

Install the express.js webserver

The express.js webserver acts as our CDN for unicast delivery. To install the webserver follow the instructions here.

Configure ffmpeg

First we configure the ffmpeg output. Navigate to flute-ffmpeg/files and open ffmpeg-hls.sh or ffmpeg-dash.sh depending on the output format you want to create. Change the following two lines and point them to the path of the local webserver installed previously. If there is no watchfolder/hls or watchfolder/dashfolder on your webserver yet create that as well.

-hls_segment_filename /home/dsi/5gmag/simple-express-server/public/watchfolder/hls/stream_%v_data%02d.ts \
-var_stream_map "v:0,a:0" /home/dsi/5gmag/simple-express-server/public/watchfolder/hls/stream_%v.m3u8

Run ffmpeg and the express.js webserver

Navigate to flute-ffmpeg/files and run sh ffmpeg-hls.sh or sh ffmpeg-dash.sh.

Start the express.js webserver

Run npm start in simple-express-server. Our files created by ffmpeg are now hosted and available via unicast. Try to query the master manifest to check for the availability of the files:

curl http://192.168.11.1:3333/watchfolder/hls/manifest.m3u8
#EXTM3U
#EXT-X-VERSION:6
#EXT-X-STREAM-INF:BANDWIDTH=2305600,RESOLUTION=1280x720,CODECS="avc1.64001f,mp4a.40.2"
stream_0.m3u8

Step 1: Install the Application Function

For details please refer to the corresponding section in the basic end-to-end guide.

Step 2: Install the Application Server

For details please refer to the corresponding section in the basic end-to-end guide.

Step 3: Start the Application Server

For details please refer to the corresponding section in the basic end-to-end guide.

Step 4: Basic Configuration of the Application Function

Follow the basic configuration steps documented in the basic end-to-end guide.

Step 5: Start the Application Function

Follow the command documented in the basic end-to-end guide.

Step 6: Basic configuration of the Application Function

Follow the steps to create a content hosting configuration and a provisioning session using the msaf-configuration tool.

Note that you need to point the ingestURL of your streams.json to the URL of your webserver.

Client-side Setup

As we are all set on the server-side now we can focus on the client side.

Step 1: Installation, Configuration and Running the 5GMSd Client

Please follow the instructions documented in the basic end-to-end guide setup guide.