Child pages
  • TVMosaic Server Setup

  Wiki Navigation


 Recently Updated

 Latest Releases

 MediaPortal 1.34
            Releasenews | Download
 MediaPortal 2.5
            Releasenews | Download

Below information were incorporated, because the WIKI of the original TVMosaic page is down. We are not owner of the content nore responsible for it. We might be not able to answer related questions.

How to set up TVMosaic

TVMosaic web interface can be accessed at the following address:


In case the TVMosaic Server is installed on the same maschine as the browser it would be:


As TvMosaic development was stopped there is only one Community Version remaining as Open Source. Further updates might appear, but are currently not expected.



In order a scan for IPTV channels is successful, the m3u file needs a correct configuration. Mostly there are ready m3u files from your provider. Below you can find the parameter specifications recognized by TVMosaic in case of necessary modifications. Not all of them are mandatory.

It is the file header indicating Extended M3U and must be first line of the file
#EXTINF:-1Used for track information and other additional properties. -1 for channels
Begin name grouping
tvg-id "ID" Channel ID
tvg-chno"#"Channel No.
tvg-name"name"Channel name
tvg-logo"url" Channel logo
tvg-type"tv", "radio"Channel type, either radio or tv (default)
group-title"group name"Channel group name
aspect-ratio"aspect raio"Aspect ratio
tvg-shift{"value in +/- hours"}EPG time offset
radio"true"Channel will be recognized as radio
#EXTINF:-1 tvg-type="radio" tvg-name="100'5 Radio Rock" group-title="Rock-Radio" radio="true" tvg-logo="https://_/radio.png"


  • TV Mosaic will search for and list all available supported tuners as in the example following.
  • Click the "Scan button to initiate the set up dialogue for scanning for TV channels.

  • Select options as desired and click "Next".

  • Select the country of the TV channels you wish to scan and click "Next".

  • Select your region if available or you can scan for the entire country and click "Next".¹

  • The scan will start as shown in the following.

  • As the scan progresses channels will be found as shown in the following.

  • When the scan completes click "Save".

  • If you wish to scan other tuners using the same settings, click on the appropriate "Scan" button and complete the dialogue.
  • A physical scan is not necessary the existing scan data will be mapped to a second and subsequent tuners see the following.

¹ If you are familiar with the details of the transponders in your region or need to update the country transponder list a new or updated scan can be generated by editing the appropriate .ini files located in " C:\Program Data\DVBLogic\TVMosaic\data\scanners\Tuner Type\transponders.

  • If a new scan is generated, as in the example below, the number marked in red must be new and unique.
  • Sections marked in green must be edited as necessary.
  • The filename of the edited or new file must be the same is the number shown in red.

  • As shown below the new/edited scan will then be available to select. Be sure to backup any modified or new scans elsewhere as they will be overwritten in the event of a reinstall of the TV Mosaic Server.


Add a tuner with the "Add" button in the bottom of the screen from ma list of detected tuners. If no specific TV card or external USB device is detected only "IPTV" should be in the list.

Perform a scan of your channels for the tuner you have selected.


  • Select the channels you want to be visible in the EPG (only those will be also visible in MediaPortal 2 client).
  • Visible channels: Blue checkmark
  • Hidden channels: No checkmark
  • Click the "Save" button to retain selection.


A user defined favourites folder can be generated but this option is currently not supported in the MP 2 Client.


  • The order in which channels appear in the EPG can be fixed by numbering them, number 1 will be the first channel in the EPG. Unnumbered channels will be sorted alphabetically.
  • Click "Save" to retain the selection.


  • No action required the MP2 client generates the logos.


Channel Mapping


  • Select the Default EPG and click "Refresh" to initiate an epg grab.
  • At this point it should now be possible to test and display the scanned TV channels via the TV Mosaic Server, click on the 3 line icon in the top left hand corner.

  • Click on "TV Guide" in the menu on the left hand side.

  • Select a currently running program and click on the play button in the player control pop up to display live TV.




Which network ports are used by TVMosaic

TVMosaic uses ports 9270 (command interface) and 9271 (stream)

How to change temp files location

The temp files location can be changed by manually editing tvmosaic_settings.xml, which is located in <TVMosaic installation directory>/data/config/.

<TVMosaic installation directory> differs per platform:

  • on Windows it is specified during installation
  • on Ubuntu/Debian/Raspbian it is /usr/local/bin/tvmosaic
  • on Openelec it is /storage/tvmosaic
  • on Synology it is /var/packages/TVMosaic/target
  • on QNAP: todo
  • on ASUSTOR: todo
  • on MacOS: todo

If the file does not exist yet, it has to be created. To do this, open TVMosaic desktop application, navigate to Settings/General and press Save button to save settings.

Stop TVMosaic server, open tvmosaic_settings.xml in the editor and add the following tag:

<temp_dir>path to the new temp directory</temp_dir>

Save the file and start TVMosaic server.

What are the default values for LOF1, LOF2 and LOF SW

Default LOF1, LOF2 and LOF SW values per LNB type are show in the list below:

  • Ku-Linear (Universal). LOF1 = 9750 MHz, LOF2 = 10600 MHz, LOF SW = 11700 MHz
  • Ku-Circular. LOF1 = 10750 MHz, LOF2 not used, LOF SW not used
  • C-Band. LOF1 = 5150MHz, LOF2 not used, LOF SW not used
  • NA Bandstacked DP Ku-Hi (DSS). LOF1 = 11250 MHz, LOF2 = 14350 MHz, LOF SW not used
  • NA Bandstacked DP Ku-Lo (FSS). LOF1 = 10750 MHz, LOF2 = 13850 MHz, LOF SW not used
  • NA Bandstacked Ku-Hi (DSS). LOF1 = 11250 MHz, LOF2 = 10675 MHz, LOF SW not used
  • NA Bandstacked Ku-Lo (FSS). LOF1 = 10750 MHz, LOF2 = 10175 MHz, LOF SW not used
  • NA Bandstacked C. LOF1 = 5150 MHz, LOF2 = 5750 MHz, LOF SW not used
  • NA Legacy. LOF1 = 11250 MHz, LOF2 not used, LOF SW not used



Transcoding is a process of changing stream parameters so that resulting audio/video signal and stream format confirm to the specific requirements.

TVMosaic uses video transcoding for two purposes:

  • Video playback in players, which support only specific audio/video formats (browsers, mobile devices)
  • Video playback "on the go" with strict limitation on the upload bandwidth

Platforms that support transcoding

TVMosaic supports transcoding on the following platforms:

  • Windows (software transcoding, QSV hardware accelerated encoding on Intel CPUs and nvenc hardware accelerated transcoding with NVidia GPU)
  • Mac OS X (software transcoding)
  • Ubuntu/Debian (software transcoding and VAAPI hardware accelerated transcoding on Intel CPUs)
  • Intel-based NAS products (software transcoding and VAAPI hardware accelerated transcoding on Intel CPUs)

For the Intel CPUs, which support hardware trancoding, please refer to the table at the following link.


Transcoding activities in TVMosaic are based on usecases. Each usecase is a scenario, which has a particular purpose, input and output parameters. Each usecase is identified by its ID and has a correspondent set of ffmpeg parameters.

The following list describes the TVMosaic usecases in which ffmpeg is used:

  • ID: sendto_transcode, name: Convert recording to (h264/aac) mp4. This scenario is performed when a recording is converted to mp4 file, having aac audio and h267 video, as part of SendTo operation.
  • ID: thumb_from_file, name: Generate thumbnail from recording. This scenario is performed when a thumbnail is generated from a recording.
  • ID: transcode_live_to_ts, Convert live TV to (h264/aac) transport stream. This scenario is performed when live TV stream is converted to a transport stream, having aac audio and h264 video. It corresponds to TVMosaic play channel transcoder parameter set to "h264ts".
  • ID: transcode_live_to_hls, name: Convert live TV to HLS. This scenario is performed when live TV stream is converted to HLS stream. It corresponds to TVMosaic play channel transcoder parameter set to "hls".
  • ID: transcode_recoding_to_hls, name: Convert recording to HLS. This scenario is performed when a recording is transcoded to HLS for playback on remote clients.
  • ID: transcode_live_to_mp4, name: Convert live TV to mp4 container with h264 video and AAC audio. This scenario is in particular used for Chromecast streaming. It corresponds to TVMosaic play channel transcoder parameter set to "mp4".

How to enable hardware accelerated transcoding in TVMosaic

First of all,you need to check if your CPU supports hardware accelerated video decoding/encoding features using the link above.

Also, please make sure that you have installed the latest graphic drivers / NAS firmware on your system.

If your system supports hardware accelerated transcoding, you need to enable it in TVMosaic settings.

Open TVMosaic desktop application, navigate to Settings/Transcoding tab and select a hardware accelerated ffmpeg profile for the desired usage scenarios (aka usecases):

Performance considerations

Software transcoding is a very CPU intensive operation. In general it is expected that most of the NAS, Windows, MacOS and Ubuntu installations should be able to transcode in software SD channels properly. However for HD channel software transcoding a powerful CPU is required.

It is suggested, providing that system supports it, to use hardware accelerated transcoding whenever possible (please, also refer to the video quality considerations below).


If transcoded playback does not start, the first thing you need to do is to set TVMosaic log level to info, reproduce the issue and inspect the TVMosaic log file. It night give you a clue on what is going wrong.

The more advanced method, during which you can see the ffmpeg running with its output, is to start TVMosaic in a command line mode. To do this, you need to stop TVMosaic daemon first (from Task Manager on Windows or using sudo ./ from a command line on all other platforms when in TVMosaic installation directory).

Then execute

tvmosaic_server.exe --command_line_mode

from the administrative command line prompt in TVMosaic installation directory on Windows or

sudo ./

from the linux command line in TVMosaic installation directory.

When done, press Ctrl-C and restart TVMosaic daemon (from Task Manager on Windows or by typing sudo ./ from a command line on all other platforms when in TVMosaic installation directory).

Video quality considerations

Intel hardware-based transcoders (especially on "before-Haswell" Intel CPUs) require a video bitrate of at least 1 mbit/sec to produce video of a reasonable quality.

Concurrent number of transcoding clients

Although not strictly limited, each new trancoding client may degrade an overall transcoding performance of the system.

The only hard limit exists for Intel Evansport-based Synology NAS models (DS214Play and DS415Play), which can only process one transcoded stream at a time.


This paragraph provides advanced information on how ffmpeg-based transcoding works in TVMosaic and should be useful for those, willing to add transcoding support for new hardware-based accelerators and/or platforms.

Profiles group transcoding usecases on particular ffmpeg usage patterns - for example, by using a specific hardware accelerator.

Profiles are located inside the profiles directory of ffmpeg folder in a shared user data files directory.

Each profile is identified by its directory name. The following profile ids (directories) are reserved for TVMosaic internal use:

  • software. This is a default profile with software-only transcoding
  • qsv. This is a profile for Intel QuickSync hardware accelerated encoding on Windows platform
  • nvenc. This is a profile for NVidia GPU hardware accelerated transcoding on Windows platform
  • vaapi. This is a profile for VAAPI hardware accelerated transcoding on linux platforms (Intel CPUs)
  • evansport. This is a profile for DS214Play/DS415Play hardware accelerated transcoding on Intel Evansport CPU

Each profile is defined by the files inside a profile directory:

  • info file - a file, describing the general profile properties
  • one or more usecase files (usecase ID + .xml extension, for example transcode_live_to_hls.xml), listing ffmpeg launch parameters for this usecase

Info file format

This is an xml file, describing general profile properties.

The file has a following structure and tags:

<?xml version="1.0" encoding="UTF-8"?>
<name>Human readable name for this profile as it will appear on the Settings/Transcode tab</name>
<default>indicates if this profile is used when Default is selected on the Settings/Transcode tab. Values: true/false. </default>
<type>Indicates which ffmpeg to use. Values: builtin/external/system. See note below for the additional information.</type>
<var>environment variable for ffmpeg instance in the format var=value</var>

Info file itself and all tags inside it are optional. If not specified, the following defaults are used:

  • name is set to profile id (directory name)
  • default is set to false
  • type is set to builtin

Builtin vs. external vs. system ffmpeg

Type tag indicates which ffmpeg installation has to be used for a given profile. The following values are allowed:

  • builtin - ffmpeg that ships with TVMosaic installation
  • external - custom ffmpeg build, which is put into bin directory of ffmpeg folder in a shared user data files directory. Please note that TVMosaic automatically sets LD_LIBRARY_PATH to this directory, when running on linux systems.
  • system - ffmpeg that is installed on the system. In this case ffmpeg is launched without link to any specific directory. LD_LIBRARY_PATH is not set.

Environment variables

tags, listed under env section of the xml file describe additional environment variables, which may be required for ffmpeg to work properly. Each variable is in the form var=value and may contains the following parameters, which are initialized by TVMosaic on ffmpeg launch:

  •  %FFMPEGDIR% is the directory where ffmpeg executable resides

For example, vaapi i965 profile has the following environment variables:


Usecase file format

Each usecase file is an xml structured file, describing ffmpeg launch parameters for a specific usecase/profile combination.

Each file has the following format:

<?xml version="1.0" encoding="UTF-8"?>
<param condition="true/false">parameter value</param>

Each param line specifies a single ffmpeg launch parameter. Launch parameters may contain the following variables, which are initialized by TVMosaic on ffmpeg launch:

  •  %SRC% - stream source (can be file or pipe, depending on the use case)
  •  %DEST% - output (can be file or pipe, depending on the use case)
  •  %WIDTH% - width of the output video (optional, see conditions below)
  •  %HEIGHT% - height of the output video (optional, see conditions below)
  •  %SCALE% - scale 1/X of the output video dimensions in relation to the input video (optional, see conditions below)
  •  %BITRATE% - bitrate of the output stream (optional, see conditions below)
  •  %OFFSET% - offset in seconds in a source file for thumbnail generation usecase


Each parameter may have a set of conditions, which specify if a particular parameter is included when ffmpeg is launched. If a particular variable has no conditions, it is always included. If it has a condition, which is set to true, then it is included only if condition is true. If condition is set to false it is only included if condition is false. Multiple conditions are processed on logical AND basis.

The following conditions are defined:

  • dimensions. This condition evaluates to true if both width/height are set.
  • scale. This condition evaluates to true if scale is set. (please note that if both scale and width/height are set, then only scale is used)
  • bitrate. This condition evaluates to true if bitrate is set.

General considerations

Please, note the following when editing/adding profiles:

  • Always start new profile with looking at the existing profiles and their usecases
  • Create a new profile instead of editing an existing one. It's ok to edit the existing one for quick testing purposes, but when you are done, create a new profile with your changes. Otherwise it will be overwritten on TVMosaic update.
  • When launching a transcoder, TVMosaic does not know the actual video format in a source stream and relies on ffmpeg format autodetection. Only use explicit decoder for a specific format (e.g. -c:v flag before input) if you know that all your channels and recordings are broadcasted using this the same video format.

Backup & Restore


Send To

Where TVMosaic stores user data files

The user data files - recordings, recordings database, transponders, licenses, common editable resources etc. - are stored in the following location:

  • On Windows: C:\ProgramData\DVBLogic\TVMosaic\data
  • On Ubuntu/Debian and Raspberry Pi - Raspbian: /opt/TVMosaic/
  • On MacOS: /Users/Shared/TVMosaic
  • On Raspberry Pi - openelec: /storage/
  • On Synology/ASUSTOR/ReadyNAS: TVMosaic network share drive
  • On QNAP: TVMosaic directory inside Public network share drive

TMosaic server and (on desktop) web-server log files are at the root of TVMosaic user data directory.

The content of the TVMosaic user data directory is:

  • <channel_logo> - directory for channel logo files. Each folder is a category, having logo files under it.
  • <devices> - directory for smart plugins. There are directories for each tuner. You would need to create folder 'Plugins' under tuner folder and put dvbjcam files there.
  • <ffmpeg> - directory for ffmpeg transcoding profiles.
  • <licenses> - directory for license files
  • <RecordedTV> - default location for recordings
  • <scanners> - transponder files and iptv playlists
  • <ssl> - location for the SSL certificate to enable https connection to server
  • <xmltv> - location for local xmltv files
  • <recorder_database> - location for recordings database file

How to enable secure HTTPS connection to TVMosaic server from the Internet


Please, note, that TVMosaic uses ports 9370 and 9371 for the HTTPS command and streaming requests respectively. Make sure that these ports are forwarded on your router for the external access.


To enable secure HTTPS connection to your TVMosaic server from outside of your LAN you need two things:

  • Internet address that resolves to your external IP address
  • SSL certificate for that Internet address

Internet address that resolves to your external IP address

If you own a NAS from Synology, ASUSTOR, QNAP and some others then you may already have one. Most of the NAS manufacturers provide users with the Interet address to reach their NAS over the internet.

ASUSTOR EZ Connect, Synology QuickConnect, myQNAPcloud will provide you free of charge with the Internet address, matching your external IP address -, etc.

If you do not have a NAS or want to have a separate Internet address, then you may use free of charge DNS services such as, or the likes.

SSL certificate for your Internet address

Any valid certificate will work. If you do not have one yet, we recommend using Let's Encrypt ( as free and open CA.

There is a big number of issuers that provide users with the certificates from Let's Encrypt. You may consider ZeroSSL ( as they provide an easy-to-use online wizard that walks you through the certificate issue process.

Please, remember, that free certificats from Let's Encrypt are valid for 3 months and have to be renewed regularly.

Commercials detection

TVMosaic can detect commercials as a part of SendTo operation. As a result of detecting commercials, TVMosaic creates an EDL (Edit Decision List) file, which can be used by other player applications to skip commercials.

Commercials detection can be enabled on each SendTo target separately.


TVMosaic commercials detection functionality uses comskip application.

Supported platforms

Commercial detection is a very CPU intensive process, which involves decoding and analyzing video content. Using it may, in certain cases, noticeably slow down SendTo operations.

Currently commercials detection is supported on all x86_64 platforms, namely: Windows, Ubuntu/Debian, MacOS, Synology x86_64, NETGEAR x86_64, ASUSTOR x86_64 and QNAP x86_64.

Commercial detection parameters

Comskip uses a large number of configurable parameters to find beginning and end of the commercial blocks. The combination of those parameters is known as a profile. Each profile has its own ini file, which is used by comskip.

TVMosaic installation contains a default profile - default.ini file.

It is possible for users to add their own comskip profile files. These new profile files have to be put into comskip/profiles subdirectory of the TVMosaic user directory. These new files can be selected using Settings button next to Enable checkbox on a SendTo target.

How to configure TVMosaic to work with Xtream Codes IPTV sever

TVMosaic build 16828/16829 and TVMosaic Live! app version 2.1.0 introduce support for IPTV providers, based on xtrеam codes IPTV panel (

This support enables accurate separation of live TV channels and VOD content, automatic EPG collection and rich VOD metadata.

How to set up:

  • Normal way: when scanning IPTV source channels, select Xtream Codes IPTV server and specify base url (http(s)://domain:port), user name and password.
  • Easy way: when scanning IPTV source channels, select Remote paylist and add a playlist url as given to you by your IPTV provider. TVMosaic will detect automatically if your provider is based on Xtream Codes IPTV panel and will use it accordingly.



  • No labels

This page has no comments.