Media-Transport-Library

Streaming video via Intel® SDM appliance

This document contains instructions for streaming a desktop session to a Intel® SDM based display over a 2.5Gbps link (Intel I225 Ethernet) using Media Transport Library.

1. Use-case Scenario

Depicted below are 2 use-case scenario:

  1. Synchronous playback scenario where output of a PC/Laptop is streamed via a sending device to the receiver.

MTL Appliance Use Case Image

  1. Asynchronous playback - where the sending device is streaming a digital media generated (e.g framebuffer) / stored locally on the device to the receiver.

Desktop Streaming MTL Image

2. Required Hardware

  1. Intel NUC11TNki5 (Codenamed Tiger Canyon) - Sending Device (NIC=i225-LM)

  2. Intel® Smart Display Module (SDM) devkit (Codenamed Alder Valley) - Receiving Device (NIC=i225-LMvP)

  3. Synchronous scenario - 1x HDMI-to-USB video capture device (e.g Mukose SDI2USB3.0)

  4. 10GbE Switch and few Cat6/7 cables

3. Required Software

  1. Ubuntu 22.03 LTS

  2. Media Transport Library (MTL)

  3. FFmpeg with MTL encoder and decoder patches

2. Installation and configuration

The demo currently works only on Linux. Follow the steps below to install all the software components required for the demo.

Build Media Transport Library (MTL)

Build ffmpeg (with MTL encoder and decoder)

Example command-line to send ST2110 stream to the receiver using ffmpeg

sudo LD_LIBRARY_PATH=path/to/ffmpeg/lib ./ffmpeg -f video4linux2 -video_size 1280x720 -framerate 30 -i /dev/video0  -vcodec rawvideo -vf scale=1280:720,format=rgb24 -udp_port 20000 -port 0000:02:00.0 -local_addr 192.168.100.55 -dst_addr 239.168.85.20 -f kahawai_mux -

Note: The command-line above assume /dev/video0 is the Mukose’s HDMI2USB capture device.

sudo DISPLAY=$DISPLAY LD_LIBRARY_PATH=path/to/ffmpeg/lib ./ffmpeg -f x11grab -i $DISPLAY -framerate 30 -vcodec rawvideo -pix_fmt rgb24 -video_size 1920x1080 -vf scale=1280:720 -udp_port 20000 -port 0000:02:00.0 -local_addr 192.168.100.55 -dst_addr 239.168.85.20 -f kahawai_mux -

Video transmission will begin once command is executed. Press Ctrl-C to terminate.

At the receiver (Intel® SDM), run:

sudo LD_LIBRARY_PATH=path/to/ffmpeg/lib ./ffmpeg -framerate 30 -pixel_format rgb24 -width 1280 -height 720 -udp_port 20000 -port 0000:58:00.0 -local_addr 192.168.100.55 -src_addr 239.168.85.20 -ext_frames_mode 0 -f kahawai -i k -f sdl2 -

An SDL2 window will pop-up at the receiver screen. Press Ctrl-C to terminate.

Note:

3. Limitation