GURU Image
 

StreamGuru





Professional MPEG & DVB Software

SSU Generator Configuration file reference

This page contains an example configuration file for the SSU Generator. Configuration files generated by the Windows GUI do not contain all switches described here. This example has been modified to contain all configuration options that the current software version supports.

Example file:

<?xml version="1.0" encoding="UTF-8"?>
<SSUGen>
	<servicename>Sample Service name</servicename>
	<bouquetname></bouquetname>
	<networkname>GkWare Lab Network</networkname>
	<bitrate>5000000</bitrate>
	<tsid>1</tsid>
	<nid>1</nid>
	<gentdt>1</gentdt>
	<genbat>1</genbat>
	<genpmt>1</genpmt>
	<gennit>1</gennit>
	<gensdt>1</gensdt>
	<gencat>1</gencat>
	<genpat>1</genpat>
	<nointermediatefiles>0</nointermediatefiles>
	<tsfilename></tsfilename>
	<selectorbytes>00 11 22 33 44 44</selectorbytes>
	<update oui="0x0002FF" file="UpdateFile.bin">
		<name></name>
		<info></info>
		<infolang>eng</infolang>
		<version>0x010000</version>
		<dltime>0</dltime>
		<split>0</split>
		<compatdesc type="1" oui="0x6083B2" model="0x0042" version="0x0001" />
		<compatdesc type="2" oui="0x6083B2" model="0x0023" version="0x0003" />
	</update>
</SSUGen>

 

Explanation - Line by line:

<servicename>Sample Service name</servicename>

If generation of the DVB SDT is enabled (see gensdt option), this controls the service name that is placed into the service descriptor.

<bouquetname></bouquetname>

If generation of the DVB BAT is enabled (see genbat option), this controls the name of the bouquet. If left empty as in this example, the BAT will not contain a name descriptor.

<networkname>GkWare Lab Network</networkname>

If generation of the DVB NIT is enabled (see gennit option), this controls the name of the network. If left empty, the NIT will not carry a network name descriptor.

<bitrate>5000000</bitrate>

This option controls the bitrate of the generated stream. For a file output, this only controls the repetition rate of various SI tables to meet minimum required repetition rates. For live IP streaming (producing and endless stream loop containing all the SSU data), this controls the total bitrate of the multiplex.

<tsid>1</tsid>

Controls the transport stream id that gets encoded into the PAT and SDT (if enabled). This is a 16 bit number.

<nid>1</nid>

Controls the "network ID" that gets encoded into the NIT (if enabled) and the "original network ID" that gets encoded into the SDT (if enabled). This is a 16 bit number.

<gentdt>1</gentdt>

Turns generation of the DVB TDT/TOT on (value 1) or off (value 0).

<genbat>1</genbat>

Turns generation of the DVB BAT on (value 1) or off (value 0).

<genpmt>1</genpmt>

Turns generation of the PMT for the SSU service on (value 1) or off (value 0).

<gennit>1</gennit>

Turns generation of the DVB NIT on (value 1) or off (value 0).

<gensdt>1</gensdt>

Turns generation of the DVB SDT on (value 1) or off (value 0).

<gencat>1</gencat>

Turns generation of the MPEG2 CAT on (value 1) or off (value 0).

<genpat>1</genpat>

Turns generation of the MPEG2 PAT on (value 1) or off (value 0).

<nointermediatefiles>0</nointermediatefiles>

By default, the SSU generator also generates a large number of intermediate files containing raw binary dumps of the generated DSI, the DIIs and DDBs. Setting this parameter to 1 supresses the generation of these files, so only the complete transport stream image is written to the output directory.

Demo builds do never create the intermediate files.

<tsfilename></tsfilename>

This parameter can the used to override the default name of the transport stream file that gets written to the output directory. If left empty, the generated transport stream file defaults to "FullTS.ts".

<DLPID>0101</DLPID>

This parameter configures the PID of the packets carrying the SSU data as 16-bit hexadecimal value. Needs to be larger than 32. The default value is 0x0101.

<SID>1000</SID>

This parameter configures the service id as 16-bit hexadecimal value. Needs to be non-zero. The default value is 0x1000.

<PMTPid>0100</PMTPid>

This parameter configures the pid on which the PMT is sent as 16-bit hexadecimal value. Needs to be larger than 32. The default value is 0x0100.

<data_broadcast_id>0100</data_broadcast_id>

This parameter configures the data_broadcast_id value for the data_broadcast_id_descriptor as 16-bit hexadecimal value. The default value is 0x000A. Standard DVB SSU uses no other value.

<privnitdesc>42 03 01 02 03</privnitdesc>

The optional privnitdesc element can be used to add an additional descriptor into the generated NIT. The sample block would insert a descriptor with the tag 0x42, length 3 and the payload bytes 01 02 03.

<selectorbytes>00 11 22 33 44 44</selectorbytes>

The selectorbytes block can be used to add/append private selector bytes to the data broadcast descriptor (descriptor tag 0x66) and to the SSU linkage descriptor (descriptor tag 0x4A, linkage type 0x09 for SSU) if generation of the NIT is enabled (see gennit option)

<update oui="0x0002FF" file="UpdateFile.bin">

A configuration file can contain more than one update block if more than one update shall be sent on the same data PID. The oui attribute contains the IEEE OUI of the manufacturer that issued the update. The file attribute contains the name of the input file containing the raw update data.

<name></name>

Can be left empty. If filled, it generates a DSMCC data carousel descriptor 0x02 that can be used to assign a human-readable name to the update.

<info></info>

Can be left empty. If filled, it generates a DSMCC data carousel descriptor 0x03 that can be used to assign a human-readable info-text to the update.

<infolang>eng</infolang>

Carries the language of the info text, has no effect if the info text is left empty.

<version>0x010000</version>

If non-zero, this can be used to generate a proprietary 24bit version number descriptor (DSMCC data carousel descriptor 0x90) intended. The 0x010000 means "Version 1.0.0".

<dltime>0</dltime>

If non-zero, it generates a DSMCC data carousel descriptor 0x07 that is supposed to contain the expected download time of the update in seconds.

<split>0</split>

Should be left at zero for 99% of the time. If set to 1, the update binary is split into modules that have a maximum of 256 DDBs.

<compatdesc type="1" oui="0x6083B2" model="0x0042" version="0x0001" />
<compatdesc type="2" oui="0x6083B2" model="0x0023" version="0x0003" />

There tare two different types of compatibility descriptors: Type 1 is for hardware descriptors, Type 2 is for software descriptors. A valid update block needs one of each type. The manufacturer OUI (24 bit), model and version number(both 16 bits) attributes are mandatory.