DTC-700 MuxXpert Manual
DTC-700 MuxXpert Manual
DTC-700 MuxXpert Manual
MuxXpert
Real-Time Transport-Stream Multiplexer
© 2006 - 2009 DekTec Digital Video BV www.dektec.com Manual for DTC-700 MuxXpert Software
Affordable Tools for Digital-TV Professionals October 2009
DTC-700
Table of Contents
1. Introduction ................................................................................................................................... 3
2. Specifications and Minimum Requirements ........................................................................................ 4
2.1. Key Attributes ..................................................................................................................................... 4
2.2. Minimum PC Requirements ................................................................................................................ 4
2.3. Supported DekTec Adapters ............................................................................................................... 5
3. MuxXpert Software Installation.......................................................................................................... 7
4. MuxXpert API ................................................................................................................................. 8
5. MuxXpert Overview......................................................................................................................... 9
5.1. Launching the MuxXpert ..................................................................................................................... 9
5.2. MuxXpert Application General Layout ................................................................................................. 9
5.3. MuxXpert Application Control ........................................................................................................... 10
5.3.1. Menu Bar ............................................................................................................ 10
5.3.2. Adapter Info ........................................................................................................ 10
5.3.3. Stream Status....................................................................................................... 10
5.3.4. Play-list Pane ....................................................................................................... 11
5.3.5. Play-out Control ................................................................................................... 13
5.3.6. Play-out Bit-rate ................................................................................................... 14
5.3.7. Status Bar ............................................................................................................ 14
5.3.8. Stream Recording................................................................................................. 15
5.3.9. Adapter Specific Settings ....................................................................................... 16
5.3.10. Stream Analysis Window Pane ............................................................................. 17
5.3.11. Message Bar...................................................................................................... 18
6. Creating a Re-Mux Configuration Data File ..................................................................................... 19
6.1. Introduction ..................................................................................................................................... 19
6.2. References ....................................................................................................................................... 19
6.3. Overview ......................................................................................................................................... 19
6.4. Input and Output Ports Used. ........................................................................................................... 20
6.5. Input Port Settings ............................................................................................................................ 20
6.6. Specification of the Output Streams .................................................................................................. 21
6.6.1. Identification of Output Stream .............................................................................. 21
6.6.2. Output Port Settings.............................................................................................. 21
6.6.3. Composition of the Output Stream......................................................................... 22
6.6.4. Adaptations of the Output Stream (optional) ........................................................... 27
6.6.5. Table Assembly .................................................................................................... 34
6.7. Allocation Strategies ......................................................................................................................... 43
6.7.1. Assignment of RemoveLevels ................................................................................ 43
6.7.2. Allocation of PIDs ................................................................................................. 43
6.7.3. Allocation of Component-tags ............................................................................... 44
6.7.4. Allocation of Service-ids ........................................................................................ 45
Appendix A: Play-list XML Syntax ........................................................................................................ 46
© 2006 - 2009 DekTec Digital Video BV Page 2/47 Manual for DTC-700 MuxXpert Software
Affordable Tools for Digital-TV Professionals October 2009
DTC-700
1. Introduction
The DTC-700 MuxXpert is a comprehensive software package designed to (re-)multiplex MPEG-2
Transport Streams. The MuxXpert is intended to be installed by the user on any qualifying PC and
work in conjunction with DekTec input and output devices. The specifications can be found in
chapter 2.
The application has integrated Transport-Stream file players for inserting local content from disk into
live streams. The players can be manually controlled from the GUI and from a play list. The GUI of
the MuxXpert displays information about the services, service components and bit-rates present in
the input and output Transport Streams. Chapter 5 gives an overview of the GUI and clarifies the
options.
Flexible configuration allows the user to specify the newly created Transport Stream, including PID-
remapping, PID-filtering, service-remapping, descriptor filtering and addition, generation and
insertion of PSI/SI tables and more. Chapter 6 explains how to create your own configuration.
The MuxXpert is the ideal application for many scenarios requiring (re-)multiplexing. In head ends of
all sizes the application is perfectly suited for generating new Transport Streams from existing live
streams. In the lab one can generate fully customized Transport Streams from files, in any mixture
with live feeds. In all applications it doesn't matter whether the Transport Streams are carried on
DVB-ASI, IP or RF modulated.
© 2006 - 2009 DekTec Digital Video BV Page 3/47 Manual for DTC-700 MuxXpert Software
Affordable Tools for Digital-TV Professionals October 2009
DTC-700
2. Specifications and Minimum Requirements
Parameter Value
Number of TS Inputs 0, 1…4 or 1…8*
Number of TS Outputs 1…4
Number of File Players 0…4
Sum of Input Rates 0…300 Mbit/s**
Sum of Output Rates 0…300 Mbit/s**
* Max. 8 without file players; 4 when one or two file players are used; 0 when three or four file players are used
** Valid for PCs that meet the recommended PC requirements
© 2006 - 2009 DekTec Digital Video BV Page 4/47 Manual for DTC-700 MuxXpert Software
Affordable Tools for Digital-TV Professionals October 2009
DTC-700
2.3. Supported DekTec Adapters
The MuxXpert supports a mix of DekTec input and output adapters. The following DekTec PCI cards
are supported:
Type Description Input(s) Output(s)
PCI
DTA-100 DVB-ASI Output Adapter 1x DVB-ASI
DTA-102 DVB-SPI (LVDS) Output Adapter 1x DVB-SPI
DTA-105 Dual DVB-ASI Output Adapter 2x DVB-ASI
DTA-107 DVB-S Modulator / L-Band 1x DVB-S
Upconverter
DTA-107S2 DVB-S.2 Modulator / L-Band 1x DVB-S, DVB-S.2
Upconverter
DTA-110 QAM-A/B/C Modulator / UHF 1x DVB-C, QAM-B/C
Upconverter
DTA-110T Multi-Standard Modulator / UHF 1x DVB-T/H DVB-C,
Upconverter QAM-B/C
DTA-110T-ISDB DTA-110T with ISDB-T option 1x ISDB-T, DVB-T/H,
DVB-C, QAM-B/C
DTA-110T-DTMB DTA-110T with DTMB option 1x DTMB, DVB-T/H,
DVB-C, QAM-B/C
DTA-112 QAM-A/B/C Modulator / VHF+UHF 1x DVB-C, QAM-B/C
Upconverter 1x DVB-ASI*
DTA-115 Multi-Standard Modulator / 1x ATSC, DVB-T/H,
VHF+UHF Upconverter DVB-C, QAM-B/C
1x DVB-ASI*
DTA-115-ISDB DTA-115 with ISDB-T option 1x ISDB-T, ATSC,
DVB-T/H, DVB-C,
QAM-B/C
1x DVB-ASI*
DTA-115-DTMB DTA-115 with DTMB option 1x DTMB, ATSC,
DVB-T/H, DVB-C,
QAM-B/C
1x DVB-ASI*
DTA-116 Multi-Standard Modulator / 1x DTMB, ATSC,
IF+Digital I/Q Output (36-MHz) DVB-T/H, ISDB-T,
DVB-C, QAM-B/C
1x DVB-ASI*
DTA-117 Multi-Standard Modulator / 1x DTMB, ATSC,
IF+Digital I/Q Output (44-MHz) DVB-T/H, ISDB-T,
DVB-C, QAM-B/C
1x DVB-ASI*
DTA-120 DVB-ASI Input Adapter 1x DVB-ASI
DTA-122 DVB-SPI (LVDS) Input Adapter 1x DVB-SPI
DTA-124 Quad ASI/SDI Input Adapter 4x DVB-ASI
© 2006 - 2009 DekTec Digital Video BV Page 5/47 Manual for DTC-700 MuxXpert Software
Affordable Tools for Digital-TV Professionals October 2009
DTC-700
DTA-140 DVB-ASI Input+Output Adapter 1x DVB-ASI 1x DVB-ASI
DTA-145 Dual ASI/SDI Adapter 2x DVB-ASI**
DTA-160 Gigabit TS-over-IP + Triple ASI Ports 1x Gig-E***
3x DVB-ASI*
PCI Express
DTA-2144 Quad ASI/SDI Adapter 2x DVB-ASI**
DTA-2145 Dual ASI/SDI Adapter 2x DVB-ASI**
* Each port can be used as Output or Input
** 2x Output, or 1x Input + 1x Output
*** The Gig-E can carry up to 8 TS Inputs and 4 TS Outputs
© 2006 - 2009 DekTec Digital Video BV Page 6/47 Manual for DTC-700 MuxXpert Software
Affordable Tools for Digital-TV Professionals October 2009
DTC-700
3. MuxXpert Software Installation
For the MuxXpert Software installation and the MuxXpert license installation instructions, see the
„DTC-700 Installation‟ document, which is included in the install package.
© 2006 - 2009 DekTec Digital Video BV Page 7/47 Manual for DTC-700 MuxXpert Software
Affordable Tools for Digital-TV Professionals October 2009
DTC-700
4. MuxXpert API
The MuxXpert API is intended for developers integrating real-time Transport-Stream multiplexing
functions into their own application. It provides a number of class libraries that allow users to use
the MuxXpert multiplexing functions. For the MuxXpert API documentation, see the „MuxXpert-API
Help‟, which is installed when during installation the MuxXpert-API SDK feature is selected.
© 2006 - 2009 DekTec Digital Video BV Page 8/47 Manual for DTC-700 MuxXpert Software
Affordable Tools for Digital-TV Professionals October 2009
DTC-700
5. MuxXpert Overview
1
3
2
8
9
3
10
5 6
7
1. Menu Bar: The top area of the MuxXpert application contains three menus: Configuration,
Settings and Help.
2. Adapter Info: This area displays the information of the adapter used for the outgoing/incoming
Transport Stream
3. Stream Status: This area displays the status of the outgoing/incoming Transport Streams.
4. Play-list Pane: This area provides control of the play-list. It also contains information regarding
the current play-out operation.
5. Play-out Control: This area provides control of the play-out process.
6. Play-out Bit-rate: This area of the application displays and allows you to modify play-out bit-rate.
7. Status Bar: This area displays the status of the re-multiplexing application.
© 2006 - 2009 DekTec Digital Video BV Page 9/47 Manual for DTC-700 MuxXpert Software
Affordable Tools for Digital-TV Professionals October 2009
DTC-700
8. Stream Recording: This area provides control of the Transport Stream recording.
9. Adapter Specific Settings: This button provides control of the adapter specific settings.
10. Stream Analysis Window Pane: This area displays the contents and the basic parameters of the
incoming/outgoing Transport Stream
© 2006 - 2009 DekTec Digital Video BV Page 10/47 Manual for DTC-700 MuxXpert Software
Affordable Tools for Digital-TV Professionals October 2009
DTC-700
When the mouse is moved over the Stream status box, detailed information about the stream is
shown in a tooltip.
Detailed information in a tooltip will be displayed when the mouse cursor is moved over a file in the
play-list.
© 2006 - 2009 DekTec Digital Video BV Page 11/47 Manual for DTC-700 MuxXpert Software
Affordable Tools for Digital-TV Professionals October 2009
DTC-700
5.3.4.2. Open Playlist Command
The Open Playlist command will prompt you to browse for a play-list file on your PC. The MuxXpert
will, by default, look for files of *.xml extensions. However, you may select a play-list file with any
extension by selecting "All Files" in the file of type pull-down. Keep in mind that although the file
does not need to have a *.xml extension, it must be a valid play-list file. See appendix A.
In case the content of a selected play-list file is modified, the new play-list is loaded automatically.
5.3.4.4. Up Command
The Up command will move the selected file in the play-list one position up. When the position of
the selected file becomes earlier than the currently playing-out file, then the selected file is marked
grey and it will not be played-out. In case a start-time is attached to the selected file then it is not
possible to move this file up such that its start-time is later than the start-time of a file later in the
play-list.
© 2006 - 2009 DekTec Digital Video BV Page 12/47 Manual for DTC-700 MuxXpert Software
Affordable Tools for Digital-TV Professionals October 2009
DTC-700
© 2006 - 2009 DekTec Digital Video BV Page 13/47 Manual for DTC-700 MuxXpert Software
Affordable Tools for Digital-TV Professionals October 2009
DTC-700
5.3.5.1. Sliding Pointer
The Sliding Pointer serves two purposes. The first is to provide a reference indicating the position in
the file that is playing. The second is to allow you to start play-out at a specific location. To define a
starting location, stop file play-out, and place the mouse cursor over the pointer and hold the left-
mouse button down while dragging the pointer. Press the play button to start playing. You may also
change the play-out point while the file is playing.
1 2
1. Status: This box indicates the status of the re-multiplexing operation. Possible statuses:
© 2006 - 2009 DekTec Digital Video BV Page 14/47 Manual for DTC-700 MuxXpert Software
Affordable Tools for Digital-TV Professionals October 2009
DTC-700
a. “Initializing”. Indicating that the re-multiplexer is starting up.
b. “Available”. Indicating that the re-multiplexer is up and running.
c. “Failed”. An unrecoverable error has occurred. Possible causes: not enough memory
installed, adapter already in use, total input rate is much too high.
d. “Configuration Mismatch”. Indicating a possible installation problem.
e. “NoLicense”. Indicating that no valid license is found.
2. Load: The re-multiplexing capabilities are amongst others bounded by processor
performance. Therefore the processor load caused by the re-multiplexer is shown in the
status bar.
The start recording button allows you to start the recording of the outgoing Transport Stream.
When it is pressed it changes into a stop recording button to stop the recording again.
© 2006 - 2009 DekTec Digital Video BV Page 15/47 Manual for DTC-700 MuxXpert Software
Affordable Tools for Digital-TV Professionals October 2009
DTC-700
5.3.9. Adapter Specific Settings
The Setting button allows you to read and set the adapter specific settings, such as: bit-rate, IP-
address, RF-frequency etc.
When the Setting button is clicked a setting window pops-up. Here the adapter specific settings can
be modified.
Note: The new settings are not saved. Upon (re-) loading of a re-multiplexer configuration file,
these settings are lost and overwritten by the ones stored in the configuration file.
When the mouse is moved over the Setting button, the adapter specific settings are shown in a
tooltip.
© 2006 - 2009 DekTec Digital Video BV Page 16/47 Manual for DTC-700 MuxXpert Software
Affordable Tools for Digital-TV Professionals October 2009
DTC-700
5.3.10. Stream Analysis Window Pane
The MuxXpert application includes a basic analysis feature that allows you to view the make-up of
the incoming/outgoing Transport Streams. From this window one can also drag services from an
input to an output.
The top line in this pane shows the bit-rate of the incoming/outgoing Transport Stream.
The Transport-Stream pane displays the services (programs) contained in the Transport Stream. You
may expand the analysis down to the individual components (PID's) and even further by left-mouse
clicking on the "+" signs next to the components.
To select a service from an incoming Transport Stream for the outgoing Transport Stream, place the
mouse cursor over the icon of the desired service and hold the left-mouse button down while
dragging the service to the output.
To remove a service from an outgoing Transport Stream, select the service to be removed by left
mouse clicking on the icon of the service and thereafter pressing the Delete key.
Note: The new service selections are not saved. Upon (re-) loading of a re-multiplexer configuration
file, the service selections are lost and overwritten by the ones stored in the configuration file.
© 2006 - 2009 DekTec Digital Video BV Page 17/47 Manual for DTC-700 MuxXpert Software
Affordable Tools for Digital-TV Professionals October 2009
DTC-700
5.3.11. Message Bar
The Message Bar will be shown if the Messages are enabled in the settings menu in the menu bar
(see section 5.3.1). The Message Bar can contain two tabs. The Events tab contains the event
message and may indicate possible configuration errors.
Note: Not all event entries indicate an error. For example if a service is not found, this can be
because:
1. The service is not in the stream. This is possibly an error, for example: no input stream or
wrong service is selected
2. The service is not yet detected. This can be normal temporary situation. For example: a new
configuration is loaded and the MuxXpert has not yet found the service in the stream. When
the service is found, it will not show a positive event.
Detailed logging can be enabled by selecting a log-level. The Logs tab contains detailed logging
information with respect to the re-multiplexing operation.
© 2006 - 2009 DekTec Digital Video BV Page 18/47 Manual for DTC-700 MuxXpert Software
Affordable Tools for Digital-TV Professionals October 2009
DTC-700
6. Creating a Re-Mux Configuration Data File
6.1. Introduction
The Remux Configuration Data (RMC-Data) is used to describe the composition of the outgoing
Transport Streams of the MuxXpert application including PSI/SI tables, custom tables, descriptors
and table-assembly parameters.
The RMC-Data file is a XML-file. The permissible format of the XML file is defined by XML Schemas,
written in XML Schema Definition Language [XSDL].
The RMC-Data Schemas are defined in the RmcDataTempl00.xsd file.
The .xsd file enables:
Conveniently viewing the RMC-Data schemas, using a XML authoring tool;
Conveniently editing (by hand) of RMC-Data files, using a schema-driven XML editor;
Automatic validation of the structure of RMC-Data files using a XSDL-enabled validating
parser.
The elements and attributes in the schema are described in plain text in the RmcDataTempl00.pdf
file which is also included in the MuxXpert installation.
6.2. References
[DVB SI]
EN 300 468, Digital Video Broadcasting (DVB); Specification for Service Information (SI) in DVB
systems, V1.7.1 (2006-05).
[MPEG-2 SYS]
ISO/IEC 13818-1, Information technology – Generic coding of moving pictures and associated
audio information: Systems, May 27th, 1999.
[XSDL]
XML Schema Definition Language, W3C, Candidate Recommendation, October 24, 2000
[RMC XSD]
RmcDataTempl00.xsd - XML Schema for RMC Data. This document defines the permissible XML
format of the Remux Configuration Data file, written in XML Schema Definition Language. It will
be installed in the following directory: <muxxpert_install_dir>\Doc.
[RMC DOC]
RmcDataTempl00.pdf - XML Schema for RMC Data. This document describes the elements and
attributes in the RMC-Data Schemas in plain text. It will be installed in the following directory:
<muxxpert_install_dir>\Doc.
6.3. Overview
The RMC-Data file is built up from a number of sections. Each section specifies a certain item. This
chapter describes step by step how to create your own RMC-Data file, by explaining the different
sections in the RMC-Data file and by giving some examples.
The RMC-Data is created by specifying the following items:
1. Specification of the input and output ports used in the RMC-Data file (section 6.4).
2. Specification of the input settings (section 6.5).
© 2006 - 2009 DekTec Digital Video BV Page 19/47 Manual for DTC-700 MuxXpert Software
Affordable Tools for Digital-TV Professionals October 2009
DTC-700
3. Specification of the output streams. Per stream the following is specified:
a. Identification of output stream (e.g. transport_stream_id) (section 6.6.1)
b. Specification of the output settings (e.g. bit-rate) (section 6.6.2)
c. Specification of the composition of the output stream (e.g. services in the output
stream) (section 6.6.3)
d. Specification of the stream adaptations (e.g. PID remapping) (section 6.6.4)
e. Specification of the PSI/SI assembly (e.g. how to create the PMT) (section 6.6.5)
To create a new RMC-Data file it is recommended to start with the Empty RMC-Data-file or one of
the example RMC-Data-files that are included in the installation. Thereafter you can edit the different
parts.
<!-- LogTsId :101 is an ASI input port related to the first DTA140 port 1 -->
<LogTsIdIoPortMapping LogTsId = "101" DescrName = "ASI In 1">
<InPort>
<ASI>
<DTA140 RelDvcNr = "0" PortNr = "1"/>
</ASI>
</InPort>
</LogTsIdIoPortMapping>
<!-- LogTsId :901 an ASI output port related to the first DTA140 port 2 -->
<LogTsIdIoPortMapping LogTsId = "901" DescrName = "ASI Out 1">
<OutPort>
<ASI>
<DTA140 RelDvcNr = "0" PortNr = "2"/>
</ASI>
</OutPort>
</LogTsIdIoPortMapping>
</LogTsIdIoPortMappings>
© 2006 - 2009 DekTec Digital Video BV Page 20/47 Manual for DTC-700 MuxXpert Software
Affordable Tools for Digital-TV Professionals October 2009
DTC-700
used to specify a play-list for a File-Player and to specify a time correction and time offset that has to
be applied on the incoming EIT-events.
<!-- +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ TsIns +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=
Input settings
-->
<TsIns>
</TsIns>
© 2006 - 2009 DekTec Digital Video BV Page 21/47 Manual for DTC-700 MuxXpert Software
Affordable Tools for Digital-TV Professionals October 2009
DTC-700
<!-- IP setting of the output port -->
<TsOutPars>
<IP Bitrate = "50000000" IpAddress = "192.168.39.54" IpPortNr = "5678" IpProtocol = "udp" FecMode = "disable"
NumTpPerIp = "7"/>
</TsOutPars>
Collection of
Transport-Stream Services subset Service component and ECM-Stream filtering services and
elementary
streams
Svc
Svc
Selector
Selector
Ts CaComp
Ts
Selector CaComp
Selector
Selector Selector
EMM-Stream selection
Pid
Pid
Selector
Selector
Elementary-Stream selection
© 2006 - 2009 DekTec Digital Video BV Page 22/47 Manual for DTC-700 MuxXpert Software
Affordable Tools for Digital-TV Professionals October 2009
DTC-700
1. There are two methods to add services to the output stream. A mix of both methods can be used.
If a service or service component is selected multiple times via different specifications, the service
and the service components will appear only once in the output stream.
a. Transport Stream services subset. This method is useful for in case all services of an input
stream or all services except for some services have to be passed. First a Transport Stream
subset selector is used to get all services from the selected incoming Transport Streams.
Thereafter a service-subset selector can be specified to drop (or pass) certain services from
the collection.
b. Direct services selection. Specifies each service that has to be included in the output stream.
This is a very common way of specifying the composition of the output stream.
After the services have been selected for the output, the user may specify: i) service component
filtering and ii) ECM-filtering.
Service component filtering; optionally a component subset selector can be specified to drop
certain service components globally over all services in the collection of services. For example
this can be used to drop certain teletext languages in all services. If it is not specified, all service
components are passed
ECM-filtering; optionally a CA-component subset selector can be specified to drop (or pass)
certain ECM-Streams globally over all services in the collection of services. If it is not specified,
all ECM-Streams are passed.
2. EMM-Stream selection. Can be used to add EMM-streams from a particular input stream and
from a particular conditional-access system to the output stream.
3. Elementary-Stream selection. Can be used to add unreferenced elementary streams (streams
that are not referenced in PSI) to the output stream.
Examples of Transport-Stream wide compositions are given below.
The first example below shows the selection of a subset of services within a subset of input streams.
First a subset of input streams is specified; thereafter a service subset is specified.
© 2006 - 2009 DekTec Digital Video BV Page 23/47 Manual for DTC-700 MuxXpert Software
Affordable Tools for Digital-TV Professionals October 2009
DTC-700
<!-- Specificaion of a subset of services from a subset of input streams-->
<TsSvcsSubset>
<!-- the input stream identified with the DVB-attributes network_id=1000, transport_stream_id=1 is selected -->
<TsSelector>
<DvbQualified OnwId="1000" TsId="1"/>
</TsSelector>
</TsSubsetSelector>
<!-- 2. Service (sub)selection specification of a from the (sub)selection of the Transport Streams
(because SelectionMethod=negative, this subselection is used for dropping services) -->
<SvcSubsetSelector SelectionMethod="negative">
<!-- drop service-identified with the DVB-attributes network_id=1000, transport_stream_id=1 and service-id=1 -->
<SvcSelector>
<DvbQualified OnwId="1000" TsId="1" SvcId="1" />
</SvcSelector>
</SvcSubsetSelector>
</TsSvcsSubset>
The second example below shows the direct selection of services; it specifies each service that has to
be included in the output stream.
<!-- Specification of a direct selected service-->
<DirectSelectedSvcs>
<!-- Add service with service-id=11 from LogTsId=102 to the output -->
<SvcSelector>
<Short LogTsId = "102" SvcId = "11"/>
</SvcSelector>
<!-- Add service-identified by network_id=999, transport_stream_id=2 and service-id=3 to the output -->
<SvcSelector>
<DvbQualified OnwId="999" TsId="2" SvcId="3"/>
</SvcSelector>
</DirectSelectedSvcs>
© 2006 - 2009 DekTec Digital Video BV Page 24/47 Manual for DTC-700 MuxXpert Software
Affordable Tools for Digital-TV Professionals October 2009
DTC-700
The example below shows the filtering of service components and ECM-Streams. This example
specifies the dropping of service components and the passing of certain ECM-Streams.
<!-- Specification which components not to include (negative selection method) in the output-->
<CompSubsetSelector SelectionMethod="negative">
<!-- drop all components were the Teletext language is only Dutch-->
<CompSelector SingleGroupFlag="group">
<CombinedSelection>
<TeletextLanguage LanguageCode="dut"/>
</CombinedSelection>
</CompSelector>
</CompSubsetSelector>
<!-- Specification which ECM-Streams to include (positive slection method) in the output-->
<CaCompSubsetSelector SelectionMethod="positive">
<!-- pass the ECM-Streams that use CA-System-Id 18012 and 18013.-->
<CaCompSelector CasId="18012"/>
<CaCompSelector CasId="18013"/>
</CaCompSubsetSelector>
The example below shows the selection of certain EMM-Streams for the output stream. This example
specifies an input stream and the CA-System-Ids of the EMM-streams to be included in the output
stream.
<!-- Specification which EMM-streams to include (positive slection method) in the output -->
<EmmStreams>
<EmmsSubset>
<!-- Selects EMM streams with CA-system-id 18012 and 18013 (from input 101) -->
<CaCompSubsetSelector SelectionMethod="positive">
<CaCompSelector CasId="18012"/>
<CaCompSelector CasId="18013"/>
</CaCompSubsetSelector>
</EmmsSubset>
</EmmStreams>
The example below shows the selection of certain elementary streams for the output stream. This
example specifies PIDs of input streams to include in the output stream.
<!-- Specification which unreferenced elementary streams to include in the output-->
<ElemStreams>
<!-- add elementary stream with PID=1200 from LogTsId=101 to the output -->
<PidSelector>
<ByLogicalTsId LogTsId="101" Pid="1200"/>
</PidSelector>
<!-- add elementary streams with PIDs =1300..1399 from LogTsId=101 to the output -->
<PidSelector>
< ByLogicalTsIdRange LogTsId="101" MinPid="1300" MaxPid="1399"/>
</PidSelector>
</ElemStreams>
© 2006 - 2009 DekTec Digital Video BV Page 25/47 Manual for DTC-700 MuxXpert Software
Affordable Tools for Digital-TV Professionals October 2009
DTC-700
6.6.3.2. Service Wide Composition (optional)
In many cases the Transport-Stream wide composition is sufficient. Then this section can be omitted.
However, in some case a user may want to refine a service that was selected for the output stream in
the “Transport-Stream Wide Composition” or a user may want to create a new service from scratch.
In such cases the service wide composition can be repeated for each service that needs to be
composed or refined.
The figure below illustrates the service wide composition. It can be seen as a series of filters that
drops or adds components from different sources to the selected service.
Collection of
services and Svc CompSubset
elementary Selector Selector
streams
CaCompSubset
Selector
Service Selection
Svc
ECM-Stream filtering Updated
From Scratch
collection of
services and
elementary
streams
Svc Comp
Ts- Svc
Selector Comp
Selector
In Selector Selector
Pid
Pid
Selector
Selector
Elementary-Stream Selection
1. First the service that needs to be refined must be specified. This can be:
a. A service that is selected from the Transport-Stream Wide composition. Thereafter,
optionally a component subset selector can be specified to drop certain service
components from the selected service.
b. A new service that is created from scratch. Initially this is a service without any service
components. Components and elementary streams can be added to this service.
Notes:
In case of newly created services the user needs to specify the PCR-stream, service type,
PMT-descriptors and SDT-flags and descriptors. This can be specified in the section
“Service Adaptation” (see section 6.6.4.3).
The user can refer to the new service by using the service-id of the new service and the
identifying attributes of the output stream.
2. The user can specify service components that must be added to this service, by specifying a
service that needs to be selected from an input stream and a component selector that selects
a component from the service. Note that the selection of a service component includes the
selection of the related PSI and possible related ECM-Streams. The MuxXpert can use this PSI
information when the PMT is created for this service.
© 2006 - 2009 DekTec Digital Video BV Page 26/47 Manual for DTC-700 MuxXpert Software
Affordable Tools for Digital-TV Professionals October 2009
DTC-700
3. Further, a CA-component subset selector can be specified to drop (or pass) certain ECM-
Streams within this service. If it is not specified, all ECM-Streams are passed.
4. Finally, the user can specify unreferenced elementary streams that must be added to this
service, by specifying a PID that must be included in this service.
Note: The addition of an unreferenced elementary stream does not include PSI. Possibly the
user needs to specify the stream type and the PMT-ES-info descriptors. This can be specified
in the section “Service Wide Component Adaptation” (see section 6.6.4.2).
Below an example is given of the service wide composition. The example below shows the
refinement of a service that was selected for the output stream in the Transport-Stream wide
composition. The selected service is extended with a service component from another service.
<!-- Specification of one service wide composition-->
<SvcWideComposition>
</SvcWideComposition>
© 2006 - 2009 DekTec Digital Video BV Page 27/47 Manual for DTC-700 MuxXpert Software
Affordable Tools for Digital-TV Professionals October 2009
DTC-700
service is re-multiplexed onto a different service-id. The MuxXpert also performs the attribute
relocation for: PID, component_tag, network_id, original_network_id and
transport_stream_id.
Default the MuxXpert allocates a free PID to each elementary stream that is included in the output
stream likely this differs from the incoming PID. To suppress the re-allocation of PIDs, the
KeepOrigPid attribute can be set to “true” then the outgoing PID values are equal to the original
PID values if the PID values are unique and if the PID value is not overruled by PID-assignments.
Note: The user should stay using the original DVB-attributes for identifying a DVB-object, after these
attributes have been changed.
The user can specify the following kind of adaptation:
1. Service component adaptation. There are two levels of service component adaptation:
a. The Transport-Stream wide component adaptation allows the user to specify a
component adaptation that will be applied on the selected service components from
the entire collection of services (that will become the output stream).
b. The service wide component adaptation allows the user to specify a component
adaptation that will be applied on the selected service components from a single
service.
2. Service adaptation.
3. PCR adaptation.
4. Transport-Stream wide elementary stream adaptation.
5. Transport-Stream wide EMM-Stream adaptation
6. Service wide ECM-Stream adaptation
The figure below illustrates the output adaptations. It can be seen as a series of optional adaptors
that selects certain objects from the output stream, adapts them and merges them with the output
stream again. At the end it outputs an adapted collection of services, service components and
elementary streams.
Note that adaptations modify the PSI/SI describing the service components. The contents of the
component itself are not modified, with the exception of changing the PID.
© 2006 - 2009 DekTec Digital Video BV Page 28/47 Manual for DTC-700 MuxXpert Software
Affordable Tools for Digital-TV Professionals October 2009
DTC-700
Collection of
services and Comp Comp
Comp
Selector Comp
Adaptation
elementary
Selector Adaptation
streams
Svc Svc
Svc
Selector Svc
Adaptation
Selector Adaptation
Service adaptation
Svc Pcr
Svc
Selector Pcr
Adaptation
Selector Adaptation
PCR adaptation
PID Es
PID
Selector Es
Adaptation
Selector Adaptation
CaComp CaComp
CaComp
Selector CaComp
Adaptation
Selector Adaptation
Adapted
Svc CaComp CaComp collection of
Svc
Selector CaComp
Selector CaComp
Adaptation services and
Selector Selector Adaptation elementary
streams
(Service wide) ECM-Stream adaptation
© 2006 - 2009 DekTec Digital Video BV Page 29/47 Manual for DTC-700 MuxXpert Software
Affordable Tools for Digital-TV Professionals October 2009
DTC-700
6.6.4.1. Transport-Stream Wide Component Adaptations (optional)
The Transport-Stream wide component adaptations allow the user to specify adaptations that have
to operate on all selected components in the output stream. For example it allows the user to
specify: for all Hungarian audio streams in the output stream, add descriptor XYZ to the ES-info
section in the PMT.
The component adaptations allow a user to specify:
1. RemoveLevel. The RemoveLevel controls the multiplex behaviour in case the sum of the
incoming bit rates exceeds the outgoing bit rate for too long. The RemoveLevel can be used
to assign a priority to a stream such that “unimportant” streams are removed first. Default
this value is set by the MuxXpert (see section 6.7).
2. Stream-type. Specifying a (new) value for stream_type field for this component (PMT 2nd
loop). A user should specify a value in case an unreferenced stream is added to the service
(see section 6.6.3.2).
3. PID. Specifying a (new) value for the PID. This can be specified for a single component only.
Default the MuxXpert allocates a free PID for each component (see section 6.7.2).
4. Component-tag. Specifying a (new) value for the component_tag field. The component-tag
(or: Stream Identifier) is used to establish a link between PMT and EIT. This can be specified
for a single component only. Default the MuxXpert allocates a free component-tag for each
component (see section 6.7.3).
5. PMT-ES-Info-descriptors. Allows the user to add, remove or to replace PMT-ES-Info-
descriptors. A user needs to specify a value in case an unreferenced stream is added to the
service (see section 6.6.3.2.)
In the example below for all Hungarian audio streams in the output stream, a private descriptor is
added to the ES-info section in the PMT. Further, for these streams the RemoveLevel is set to 1.
<!-- Specification of one Transport-Stream wide component adadaptation-->
<ComponentAdaptation>
<!-- do for all components in the Transport Stream that have streamtype=3 (audio) and language=hun-->
<CompSelector SingleGroupFlag="group">
<CombinedSelection>
<StreamType StreamType="3"/>
<Language LanguageCode="hun"/>
</CombinedSelection>
</CompSelector>
</ComponentAdaptation>
© 2006 - 2009 DekTec Digital Video BV Page 30/47 Manual for DTC-700 MuxXpert Software
Affordable Tools for Digital-TV Professionals October 2009
DTC-700
allows the user to specify: for the Hungarian audio streams in service 1234 in the output stream,
add descriptor XYZ to the ES-info section in the PMT.
The service wide component adaptations are similar to the Transport Stream wide component
adaptations with difference that the service wide component adaptations operate on all selected
components within a single service.
6.6.4.3. Service Adaptations (optional)
The service adaptations allow the user to specify adaptations that have to operate on a single
service. The output is the same service, but with adapted PSI/SI. Service adaptation allows a user to
specify:
1. Service-id. The user can specify a (new) service-id for a certain service. Default the MuxXpert
allocates a free service-id (see section 6.7.4).
2. Service-type. The user can specify a new service-type. This new value will be used in the SDT,
NIT and BAT tables. For newly created services the user should specify a value. Default, the
MuxXpert doesn‟t alter the service-type.
3. PCR-Stream. The user can specify which (new) PCR-Stream must be used by a certain service.
In case of a newly created service the user should specify a PCR-Stream. Default, the
MuxXpert doesn‟t alter the PCR-Stream.
4. PMT-PID. Specifying a (new) value for the PMT-PID. Default the MuxXpert allocates a free
PID for each PMT (see section 6.7.2).
5. PMT-First-Loop-descriptors. Allows the user to add, remove or to replace PMT-first-loop-
descriptors. In case of a newly created service the user should specify these descriptors.
Default, the MuxXpert doesn‟t alter the descriptors, except from the attribute relocations.
6. SDT-Actual-Adaptation. Allows the user to specify fields and descriptors in the SDT-loop
related to a certain service. This can be used to change the service name, by specifying a
new service-descriptor. In case of a newly created service the user should specify these fields
and descriptors. Default, the MuxXpert doesn‟t alter the fields and descriptors, except from
the attribute relocations.
© 2006 - 2009 DekTec Digital Video BV Page 31/47 Manual for DTC-700 MuxXpert Software
Affordable Tools for Digital-TV Professionals October 2009
DTC-700
An example of a service adaptation is shown below. The service-id of a selected service is adapted
and the EIT-flags related to this service in the SDT-loop are cleared. Further a new service descriptor
is specified in the SDT-Loop, specifying a new service-name and provider-name for this service.
<!--Specifying a service adaptation-->
<SvcAdaptation>
<!--The service to be adapted is identified by service_id=13 and LogTsId=101 -->
<SvcSelector>
<Short LogTsId="101" SvcId="13"/>
</SvcSelector>
<!--New values for the EIT-schedule=0 and EIT-present-following=0 flags in the SDT-Loop-->
<SdtActualAdaptation>
<NewEitSchedFlag Flag="0"/>
<NewEitPfFlag Flag="0"/>
<SdtLoopDescriptorComposition>
<!-- Replace service descriptor in sdt-->
<NewDescriptors>
<Descriptor DescrInsertMode = "replace" DescrTagScope = "public" DescrTag = "72"
DescrData = "01 0A "MyProvider" 09 "MyProgram""/>
</NewDescriptors>
</SdtLoopDescriptorComposition>
</SdtActualAdaptation>
</SvcAdaptation>
<!--The PCR to be adapted is part of the service that is identified by service_id=12 and LogTsId=101 -->
<SvcSelector>
<Short LogTsId="101" SvcId="12"/>
</SvcSelector>
</PcrAdaptation>
© 2006 - 2009 DekTec Digital Video BV Page 32/47 Manual for DTC-700 MuxXpert Software
Affordable Tools for Digital-TV Professionals October 2009
DTC-700
6.6.4.5. Transport-Stream Wide Elementary Stream Adaptations (optional)
The elementary stream adaptations allow the user to specify a fixed PID and the RemoveLevel for
a certain elementary stream.
The RemoveLevel controls the multiplex behaviour in case the sum of the incoming bit rates
exceeds the outgoing bit rate for too long. The RemoveLevel can be used to assign a priority to a
stream such that “unimportant” streams are removed first.
Default the PID and the RemoveLevel are determined by the MuxXpert (see section 6.7). However,
the user can overrule this default by specifying a new value.
Below an example is shown, an elementary stream from the output stream is selected for which a
new PID and RemoveLevel is specified.
<!--Elementary Stream Adaptation-->
<EsAdaptation>
</EsAdaptation>
© 2006 - 2009 DekTec Digital Video BV Page 33/47 Manual for DTC-700 MuxXpert Software
Affordable Tools for Digital-TV Professionals October 2009
DTC-700
The following pages will show some examples of PSI and SI table assembly specifications.
© 2006 - 2009 DekTec Digital Video BV Page 34/47 Manual for DTC-700 MuxXpert Software
Affordable Tools for Digital-TV Professionals October 2009
DTC-700
Below an example of the specification of the PAT, CAT and PMT table assembly. Typically these
tables are automatically generated from the output stream composition and the output stream
adaptation specification. In this example PAT and PMT are derived from the composition, no CAT is
generated, default cycle-rates are used and no descriptor sorting is applied.
<!-- Specification of the MPEG PSI table assembly -->
<MpegTables>
<Pat>
<FromTsComposition/>
</Pat>
<Cat>
<TableNotGenerated/>
</Cat>
<Pmt>
<FromTsComposition/>
</Pmt>
</MpegTables>
Figure 18. Example of PSI table (PAT, CAT and PMT) assembly
Below an example of the specification of a custom table assembly is given. The section data of the
custom table is specified as a sequence of “raw” data bytes. A new cycle-rate of the custom table is
specified. Multiple custom tables with different table_ids can be specified.
<!-- -.-.-.-.-.-. specification of a Custom Table (RST table table_id 113) -.-.-.-.-.-.-. -->
<Custom TableId="113">
<ExternallySuppliedTable>
<ExternalTableProperties Pid="19" VersionMgmtFlag="false" AddCrcFlag="false"
SyntaxIndicator="0" PrivateIndicator="1" />
<SubTables>
<SubTable>
<!-- SectionData; without first 3 bytes (table_id, section_syntax_indicator and section_length) -->
<Section SectionData="0001 1001 0382 0006 FC
0001 1001 0383 0006 FC
0001 1001 0384 0007 FC">
</Section>
</SubTable>
</SubTables>
</ExternallySuppliedTable>
<!-- -.-.-.-.-.-.-.-. specification of the Custom Table cycle properties -.-.-.-.-.-.-.-.-. -->
<TableCycleProperties MinimumCycleRate="9" TargetCycleRate="11"/>
</Custom>
© 2006 - 2009 DekTec Digital Video BV Page 35/47 Manual for DTC-700 MuxXpert Software
Affordable Tools for Digital-TV Professionals October 2009
DTC-700
Below a typical example of the specification of the SDT-Actual is given. Typically the SDT-Actual is
derived from the composition and adaptation specification. The default cycle-rates are used and no
descriptor sorting is applied.
Below another example of the specification of the SDT-Actual is given. Here the raw table data of
the SDT is specified.
© 2006 - 2009 DekTec Digital Video BV Page 36/47 Manual for DTC-700 MuxXpert Software
Affordable Tools for Digital-TV Professionals October 2009
DTC-700
Below a typical example of the specification of a NIT-Actual table assembly is shown. The NIT-
Actual table is built from scratch by specifying the descriptors in the NIT‟s first loop and thereafter
specifying the fields of the NIT‟s second loop (network_id and transport_stream_id) and the related
descriptors.
Note that for the Transport Streams that are created by the MuxXpert (NativeNitTss) the user can
refer to an output stream and the MuxXpert can automatically generate a service_list_descriptor.
<!-- -.-.-.-.-.-. specification of the NIT actual table from scratch -.-.-.-.-.-.-. -->
<NitActual>
<AssembledTable>
<NitActualFromScratch>
<!-- Specification of the "elsewhere" created Transport Streams in this network -->
<ForeignNitTss>
<!-- none -->
</ForeignNitTss>
<NativeNitTsDescription>
</NativeNitTsDescription>
</NativeNitTss>
</NitActualFromScratch>
</AssembledTable>
</NitActual>
© 2006 - 2009 DekTec Digital Video BV Page 37/47 Manual for DTC-700 MuxXpert Software
Affordable Tools for Digital-TV Professionals October 2009
DTC-700
Below another example of the specification of a NIT-Actual table assembly is shown. The NIT-Actual
table is built from an incoming NIT-Actual by specifying incoming Transport Stream from which the
NIT-Actual is taken. Thereafter the original NIT‟s second loop information related to the incoming
Transport Stream is removed and new NIT second loop information is added. This way of specifying
a NIT-Actual can be useful in case only the modulation type of a Transport Stream is changed and
therefore a small NIT adaptation is needed.
<!-- -.-.-.-.-.-. specification of the NIT actual table from incoming NIT actual -.-.-.-.-.-.-. -->
<NitActual>
<AssembledTable>
<!-- Remove the original NIT 2nd loop related to the incoming Transport Stream -->
<SecondLoopTsSubsetSelector SelectionMethod="negative">
<TsSelector>
<ByLogicalTsId LogTsId="201"/>
</TsSelector>
</SecondLoopTsSubsetSelector>
<!-- Add the "here" created Transport Stream’s NIT 2nd loop information.
Create the service_list_descriptors automatically -->
<NativeNitTss AutoGenerateSvcListDescriptorFlag = "true">
<NativeNitTsDescription>
</NativeNitTsDescription>
</NativeNitTss>
</NitActualFromNitActual>
</AssembledTable>
</NitActual>
© 2006 - 2009 DekTec Digital Video BV Page 38/47 Manual for DTC-700 MuxXpert Software
Affordable Tools for Digital-TV Professionals October 2009
DTC-700
Below a typical example of the specification of a SDT-Other table assembly is shown. The SDT-
Other table is generated by converting a SDT-Actual Tables from the input and output stream into
SDT-Other sub-tables. Note that the SDT-Other assembly may also include sub-tables generated
from scratch and from SDT-Others. A new cycle rate is specified for this table and a descriptor order
is specified.
<!-- -.-.-.-.-.-. specification of the SDT other table -.-.-.-.-.-.-.-. -->
<SdtOther>
<AssembledTable>
</AssembledTable>
<!-- New cycle rates. The target rate is once per 10 seconds-->
<TableCycleProperties TargetCycleRate="0.1" MinimumCycleRate="0.09"/>
<!-- Apply descriptor sorting; first de service_descriptor thereafter the data_broadcast_descriptor -->
<TableDescriptorSorting>
<ScopeDescrSorting DescrTagScope="public">
<Tag DescrTag = "72"/>
<Tag DescrTag = "100"/>
</ScopeDescrSorting>
</TableDescriptorSorting>
</SdtOther>
© 2006 - 2009 DekTec Digital Video BV Page 39/47 Manual for DTC-700 MuxXpert Software
Affordable Tools for Digital-TV Professionals October 2009
DTC-700
Below a typical example of the specification of the EIT-Present-Following-Actual and the EIT-
Schedule-Actual table assembly is shown. In this example the EITs are derived from the composition
and adaptation specification. The EIT-events related to the services in the outgoing Transport
Stream are taken from the EIT information in the incoming Transport Streams.
<!-- -.-.-.-.-.-. specification of the EIT P/F actual table -.-.-.-.-.-.-.-. -->
<EitPfActual>
<AssembledTable>
<DefaultEitActualSubTable>
<FromComposition/>
</DefaultEitActualSubTable>
</AssembledTable>
</EitPfActual>
<!-- -.-.-.-.-.-. specification of the EIT Schedule actual table -.-.-.-.-.-.-.-. -->
<EitSchedActual>
<AssembledTable>
<DefaultEitActualSubTable>
<FromComposition/>
</DefaultEitActualSubTable>
</AssembledTable>
</EitSchedActual>
Note: The MuxXpert deletes old EIT-events. In case of recording from the past it is often desired to
transfer these “old” EIT-event into “new” EIT-events. This can be achieved by specifying a time
correction, see section 6.5.
© 2006 - 2009 DekTec Digital Video BV Page 40/47 Manual for DTC-700 MuxXpert Software
Affordable Tools for Digital-TV Professionals October 2009
DTC-700
Below another example of the specification of the EIT-Present-Following-Actual assembly is shown.
In this example the EIT-Present-Following-Actual sub-tables are derived from the composition and
adaptation specification except from one sub-table. For this sub-table that is related to a certain
service, a new EIT-P/F-Actual sub-table is specified.
<!-- -.-.-.-.-.-. specification of the EIT P/F actual table -.-.-.-.-.-.-. -->
<EitPfActual>
<AssembledTable>
</EventDescriptions>
</EitActualFromScratch>
</EitActualSubTable>
<!-- Default the EIT P/F subtables are derived from the composition-->
<DefaultEitActualSubTable>
<FromComposition/>
</DefaultEitActualSubTable>
</AssembledTable>
</EitPfActual>
© 2006 - 2009 DekTec Digital Video BV Page 41/47 Manual for DTC-700 MuxXpert Software
Affordable Tools for Digital-TV Professionals October 2009
DTC-700
Below a typical example of the specification of the TDT and TOT table assembly is shown. In this
example TDT is generated. The TOT is created and the descriptors are taken from an incoming TOT
the local time offset descriptor is replaced.
<TotDescriptors>
<!-- Replace the local_time_offset_descriptor-->
<Descriptor DescrInsertMode="replace" DescrTagScope="public" DescrTag ="88"
DescrData =""nld" 02 0200 D481020000 0100
"deu" 02 0200 D481020000 0100"/>
</TotDescriptors>
</TotFromTot>
</AssembledTable>
</Tot>
© 2006 - 2009 DekTec Digital Video BV Page 42/47 Manual for DTC-700 MuxXpert Software
Affordable Tools for Digital-TV Professionals October 2009
DTC-700
© 2006 - 2009 DekTec Digital Video BV Page 43/47 Manual for DTC-700 MuxXpert Software
Affordable Tools for Digital-TV Professionals October 2009
DTC-700
6. Assignment of PIDs for which the user has specified a preferred PID assignment. This only
succeeds if the PID is not yet assigned and is not a user reserved PID.
7. Assignment of PIDs that have a preferred PID assignment that could not be honoured (PID in
use); the MuxXpert assigns the first unassigned/unreserved PID value (with wrap-around to 0)
above the specified preferred value.
8. Assignment of PIDs of remaining elementary streams. For each elementary stream that did
not get a PID assigned through one of the other PID-allocation rules the MuxXpert assigns a
PID value. If the KeepOrigPid option is set the MuxXpert assigns the first
unassigned/unreserved PID value (with wrap-around to 0) above the specified incoming PID
value. If the KeepOrigPid option is not set the MuxXpert assigns the first
unassigned/unreserved PID value starting at zero.
In case the PID of an elementary stream changes, implies that the MuxXpert updates all references
to that elementary stream.
© 2006 - 2009 DekTec Digital Video BV Page 44/47 Manual for DTC-700 MuxXpert Software
Affordable Tools for Digital-TV Professionals October 2009
DTC-700
6.7.4. Allocation of Service-ids
The Service-identifier uniquely identifies a service within a Transport Stream.
The rules for service -id allocation are similar to PID- and component-tag allocation rules. The
following rule set is applied sequentially.
1. Assignment of service-ids for which the user has specified a mandatory service-id
assignment.
2. Assignment of service-ids for which the user has specified a preferred service-id assignment.
This only succeeds if the service-id is not yet assigned.
3. Keep incoming service-ids untouched. The MuxXpert assigns to each service the same
service-id value as it had in the incoming stream. This only succeeds if the service-id is not
yet assigned.
4. Allocation of remaining services. For each service without service-id assignment, and for
each incoming service that has a service-id conflicting with another service-id in the same
output stream, the MuxXpert assigns a service-id value that is still unassigned, starting at the
lowest unallocated value.
Changing the service-id of a re-multiplexed service implies that the MuxXpert updates all references
to the service.
© 2006 - 2009 DekTec Digital Video BV Page 45/47 Manual for DTC-700 MuxXpert Software
Affordable Tools for Digital-TV Professionals October 2009
DTC-700
Appendix A: Play-list XML Syntax
The sequence of files to be played out by the file-player can be specified in a play-list. The play-list is
a XML-formatted file. This appendix specifies the syntax of the XML-file.
The top-level element in a play-list file is the PlayList element.
PlayList
Root-element of a play-list document. The PlayList contains the following child elements:
1. PlaySettings; Optional element that specifies the settings of the file-player.
2. A sequence of PlayListItem elements, each element specifies one item in the play-list.
Below the graphical diagram of the PlayList element is shown.
PlayList/PlaySettings
Optional element, used for specifying the state of the play-out operation after loading the play-
list. It has the following attributes:
Play
Type: boolean, Use: optional, Default: true (=play)
Specifies whether the file-player starts or continues the play-out operation.
Lo op
Type: boolean, Use: optional, Default: false (=not looping)
Specifies whether the file-player starts play-out to occur in a continuous loop.
PlayList/PlayListItem
Element that can occur multiple times, the PlayListItem element is used for specifying one item in
the play-list. It has the following attributes:
F ilename
Type: string, Use: required
Specifies the path of the file to be played-out. The path must start with a drive-letter.
F ileIid
Type: integer, Use: optional
The FileIid uniquely identifies an instance of a file (play-list-item) within the play-list and
within two subsequent loaded versions of the play-list. The file-iids used in a new play-list
determine the behaviour of the file-player. There are three possible cases:
a. The file-iid of the currently playing file is still in the new play-list: the file-player will
continue the play-out operation of the current file without interruption.
b. The file-player finished the previous play-list and the file-iid of the lastly played-out file is
© 2006 - 2009 DekTec Digital Video BV Page 46/47 Manual for DTC-700 MuxXpert Software
Affordable Tools for Digital-TV Professionals October 2009
DTC-700
still in the new play-list: the file-player will start playing-out the file coming after the lastly
played-out file.
c. Other situations: the file-player will start playing-out the first file in the new play-list.
Specifying the file-iid, enables the user to extend the play-list with “new” play-list-items and to
remove the “old” play-list-items, without interrupting the current play-out operation.
Note(s):
In two subsequent versions of the play-list the user should not re-use the same file-iid for
another instance of a file.
The user must specify a new file-iid in case one of the play-list-item-attributes of the file changes
(a new play-list-item is created).
Bit rate
Type: integer, Use: required
Specifies the bit-rate used for playing-out the file.
Start Posit ion
Type: integer, Use: optional, Default: 0 (= begin of file)
Specifies a byte offset from the start of the file at which to start the file play-out.
End Positi on
Type: integer, Use: optional, Default: 0 (= end of file)
Specifies a byte offset from the start of the file at which to stop the file play-out. If the
EndPosition is set to “0” the file is played-out till the end of the file.
NrLo ops
Type: integer, Use: optional, Default: 0
Specifies the number of times the play-out of the file is repeated. If the NrLoops is set to “-1”
this file is repeated until the play-out start-time of the next file in the play-list.
Loca lStartT ime
Type: dateTime, Use: optional, Default: As Soon As Possible.
Specifies the play-out start-time of this file. Subsequent play-list-items that specify a start-time
must have increasing start-times. The format of the LocalStartTime attribute is based on ISO
8601, using local time. If this attribute is absent, the file will be played-out as soon as possible
after the previous file in the list is completed.
Below an example of a play-list is given. The play-out is started without looping; two play-list-
items are specified.
<PlayList>
<PlaySettings Play="true" Loop="false" />
<PlayListItem Filename="C:\Data\Local Streams\torino2006_1.TS" FileIid="123" Bitrate="14929412" />
<PlayListItem Filename="C:\Data\Local Streams\torino2006_2.TS" FileIid="124" Bitrate="14929412"
StartPosition="0" EndPosition="465493828" NrLoops="0" LocalStartTime="2006-10-18T13:02:18" />
</PlayList>
© 2006 - 2009 DekTec Digital Video BV Page 47/47 Manual for DTC-700 MuxXpert Software
Affordable Tools for Digital-TV Professionals October 2009