The RI Platform can be configured to emulate the presence of multiple tuners. Additionally, the RI Platform has support for 3 different types of tuners.

Configuring the tuner count

RI Platform

The platform gets all of its tuner information from the file $PLATFORMROOT/platform.cfg file at runtime. To adjust the number of tuners provided by the platform, modify the following value in platform.cfg:
RI.Platform.numTuners

Tuner Types

The RI Platform currently supports 3 different technologies for tuner emulation. The platform's media pipelines all retrieve MPEG-2 transport streams over UDP network connections. The following streaming technologies provide the ability to stream MPEG-2 over the network.

VLC

VLC is an open source media player and media streaming framework. We use VLC to read an MPEG-2 transport stream file and stream that file over UDP. The platform will launch a VLC process and then use the VLM interface to control that process via telnet. To instruct the platform to use VLC for tuner emulation, set the following parameter in the platform.cfg file:

RI.Headend.tunerType = VLC

If not set (commented out) the RI will use the default tuner type per tuner.c (GST for Linux and VLC for win32)

Additionally, the following platform.cfg values control the behavior of VLC tuner emulation in the RI:

Config File Property

Value Type

Description

RI.Headend.tuner.x.TunerRxPort

Integer

The UDP port on which VLC will stream transport stream data

RI.Headend.tuner.x.StreamerPort

Integer

The telnet port on which the Platform will command and control VLC

RI.Headend.tuner.x.StreamerIp

Dotted Numerical IP Address

The IP address to which VLC will stream transport stream data

x is an integer starting with 0, indicating the tuner to which the properties apply. Ensure that you have tuner descriptions for the correct number of tuners as indicated by RI.Platform.numTuners.

You can configure the VLC "carrier map" to play out a specific MPEG transport stream file based on a tune request to a specific frequency and modulation mode. To configure the carrier map, add 1 or more of the following entries to platform.cfg:

RI.Headend.vlc.frequency.freq_<64|256>QAM = full_path_to_mpeg_file

where freq is the center carrier frequency (in Hz) designated to the given MPEG transport stream file. For example, to designate the 477MHz frequency (64QAM modulation mode) to the MPEG transport stream file c:/streams/stream1.mpg, add the following line to platform.cfg:

RI.Headend.vlc.frequency.477000000_64QAM = c:/streams/stream1.mpg

GST

GStreamer is a multimedia framework solution for processing audio and video content.  The CableLabs Reference Implementation (RI) makes use of GStreamer infrastructure for handling MPEG transport data, see this for more details.  To instruct the platform to use GST for tuner emulation, set the following parameter in the platform.cfg file:

RI.Headend.tunerType = GST

If not set (commented out) the RI will use the default tuner type per tuner.c (GST for Linux and VLC for win32)

Additionally, the following platform.cfg values control the behavior of GST tuner emulation in the RI:

Config File Property

Value Type

Description

RI.Headend.tuner.x.TunerRxPort

Integer

The UDP port on which GST will stream transport stream data

RI.Headend.tuner.x.StreamerPort

Integer

The telnet port on which the Platform will command and control GST

RI.Headend.tuner.x.StreamerIp

Dotted Numerical IP Address

The IP address to which GST will stream transport stream data

x is an integer starting with 0, indicating the tuner to which the properties apply. Ensure that you have tuner descriptions for the correct number of tuners as indicated by RI.Platform.numTuners.

HDHomerun

HDHomerun is a hardware device that contains two QAM tuners and is capable of demodulating MPEG-2 transport streams and streaming them over UDP. To instruct the platform to use HDHomerun for tuner emulation, set the following parameter in the platform.cfg file:

RI.Headend.tunerType = HDHR

Additionally, the following platform.cfg values control the behavior of HDHomerun tuner emulation in the RI:

Config File Property

Value Type

Description

RI.Headend.tuner.x.tunerNum

Integer (0 or 1)

The HDHomerun tuner number (as indicated on the back of the device)

RI.Headend.tuner.x.TunerRxPort

Integer

The UDP port on which HDHomerun will stream transport stream data

RI.Headend.tuner.x.StreamerPort

Integer (hex format starting with 0x)

The HDHomerun device ID (indicated on the bottom of the device)

x is an integer starting with 0, indicating the tuner to which the properties apply. Ensure that you have tuner descriptions for the correct number of tuners as indicated by RI.Platform.numTuners.

  • No labels