1. General behavior
MuMuDVB needs a configuration file in order to run properly.
The order of the parameters is most of the times not relevant.
You can put comments everywhere in the configuration file: just start the line with #. In line comments are not allowed i.e. port=1234 #The multicast port is not a valid line.
All parameters are in the form: name=value
#The tuning frequency freq=11987
The configuration file contains two parts
1.1. Common part
This is the first part of the configuration file, it contains the parameters needed for tuning the DVB card and the global parameters.
See the tuning section for the list of parameters used to tune the card. and other global parameters section for parameters like autoconfiguration, cam support etc …
1.2. Channels part
If you are not using full autoconfiguration you need to set the list of the channels you want to stream. Each channel start with an ip= or channel_next line.
channel_next name=Barcelona TV unicast_port=8090 pids=272
ip=239.100.0.0 port=1234 name=Barcelona TV pids=272 256 257 258
See channel parameters section for a list of detailled parameters.
2. Example config files
You can find documented examples in the directory doc/configuration_examples
3. Parameters concerning the tuning of the card
Note
|
You can use w_scan to see the channels you can receive see w_scan section. Otherwise you can have a look at the initial tuning files given with linuxtv’s dvb-apps. For european satellite users, you can have a look at King Of Sat |
3.1. Parameters concerning all modes (terrestrial, satellite, cable, ATSC)
In the following list, only the parameter freq is mandatory
Parameter name | Description | Default value | Comments |
---|---|---|---|
freq |
transponder’s frequency in MHz |
Mandatory |
|
modulation |
The kind of modulation used (can be : QPSK QAM16 QAM32 QAM64 QAM128 QAM256 QAMAUTO VSB8 VSB16 8PSK 16APSK 32APSK DQPSK) |
ATSC: VSB_8, cable/terrestrial: QAM_AUTO, satellite: QPSK |
Optionnal most of the times |
delivery_system |
the delivery system used (can be DVBT DVBT2 DVBS DVBS2 DVBC_ANNEX_AC DVBC_ANNEX_B ATSC) |
Undefined |
Set it if you want to use the new tuning API (DVB API 5/S2API). Mandatory for DVB-S2 and DVB-T2 |
card |
The DVB/ATSC card number |
0 |
only limited by your OS |
tuner |
The tuner number |
0 |
If you have a card with multiple tuners (ie there is several frontend* in /dev/dvb/adapter%d) |
card_dev_path |
The path of the DVB card devices. Use it if you have a personalised path like /dev/dvb/card_astra |
/dev/dvb/adapter%d |
|
tuning_timeout |
tuning timeout in seconds. |
300 |
0 = no timeout |
timeout_no_diff |
If no channels are streamed, MuMuDVB will kill himself after this time (specified in seconds) |
600 |
0 = infinite timeout |
check_status |
Do we check the card status and display a message if lock is lost |
1 |
0 = no check. |
3.2. Parameters specific to satellite
Parameter name | Description | Default value | Possible values | Comments |
---|---|---|---|---|
pol |
transponder’s polarisation. One char. v (vertical), h (horizontal), l (left circular), r (right circular) |
h, H, v, V, l, L, r or R |
Mandatory |
|
srate |
transponder’s symbol rate |
Mandatory |
||
lnb_type |
The LNB type |
universal |
universal, standard |
Universal : two local oscilators. Standard : one local oscillator.Most of the LNBs are universal. |
lnb_lof_standard |
The frequency of the LNB’s local oscillator when lnb_type=standard |
10750 |
In MHz, see below. |
|
lnb_slof |
The switching frequency frequency of the LNB (define the two bands). Valid when lnb_type=universal |
11700 |
In MHz, see below. |
|
lnb_lof_low |
The frequency of the LNB’s local oscillator for the low band. Valid when lnb_type=universal |
9750 |
In MHz, see below. |
|
lnb_lof_high |
The frequency of the LNB’s local oscillator for the high band. Valid when lnb_type=universal |
10600 |
In MHz, see below. |
|
sat_number |
The satellite number in case you have multiples lnb, no effect if 0 (only 22kHz tone and 13/18V), send a diseqc message if non 0 |
0 |
1 to 4 |
If you have equipment which support more, please contact |
switch_type |
The DiSEqC switch type: Committed or Uncommitted |
C |
C, c, U or U |
|
lnb_voltage_off |
Force the LNB voltage to be 0V (instead of 13V or 18V). This is useful when your LNB have it’s own power supply. |
0 |
0 or 1 |
|
coderate |
coderate, also called FEC |
auto |
none, 1/2, 2/3, 3/4, 4/5, 5/6, 6/7, 7/8, 8/9, auto |
|
rolloff |
rolloff important only for DVB-S2 |
35 |
35, 20, 25, auto |
The default value should work most of the times |
3.2.1. Local oscillator frequencies :
-
S-Band 3650 MHz
-
C band (Hi) 5950 MHz
-
C band (Lo) 5150 MHz
-
Ku Band : this is the default band for MuMuDVB, you don’t have to set the LO frequency. For information : Hi band : 10600, Low band : 9750, Single : 10750
3.3. Parameters specific to terrestrial (DVB-T)
Note
|
auto usually works fine for all the parameters except bandwidth |
Parameter name | Description | Default value | Possible values |
---|---|---|---|
bandwidth |
bandwidth |
8MHz |
8MHz, 7MHz, 6MHz, auto (DVB-T2: 5MHz, 10MHz, 1.712MHz) |
trans_mode |
transmission mode |
auto |
2k, 8k, auto (DVB-T2: 4k, 16k, 32k) |
guardinterval |
guard interval |
auto |
1/32, 1/16, 1/8, 1/4, auto (DVB-T2 : 1/128, 19/128, 19/256) |
coderate |
coderate, also called FEC |
auto |
none, 1/2, 2/3, 3/4, 4/5, 5/6, 6/7, 7/8, 8/9, auto |
3.4. Parameters specific to cable (DVB-C)
Parameter name | Description | Default value | Possible values | Comments |
---|---|---|---|---|
srate |
transponder’s symbol rate |
Mandatory |
||
qam |
quadrature amplitude modulation |
auto |
qpsk, 16, 32, 64, 128, 256, auto |
This option is obsolete, use modulation instead |
coderate |
coderate, also called FEC |
auto |
none, 1/2, 2/3, 3/4, 4/5, 5/6, 6/7, 7/8, 8/9, auto |
Note
|
The spectral inversion is fixed to OFF, it should work for most of the people, if you need to change this parameter, please contact. |
3.5. Parameters specific to ATSC (Cable or Terrestrial)
Parameter name | Description | Default value | Possible values | Comments |
---|---|---|---|---|
atsc_modulation |
the modulation for ATSC |
vsb8 |
vsb8, vsb16, qam256, qam64, qamauto |
This option is obsolete, use modulation instead |
Note
|
VSB 8 is the default modulation for most of the terrestrial ATSC transmission |
4. Other global parameters
4.1. Various parameters
Parameter name | Description | Default value | Possible values | Comments |
---|---|---|---|---|
show_traffic_interval |
the interval in second between two displays of the traffic |
10 |
||
compute_traffic_interval |
the interval in second between two computations of the traffic |
10 |
||
dvr_buffer_size |
The size of the "DVR buffer" in packets |
20 |
>=1 |
see README |
dvr_thread |
Are the packets retrieved from the card in a thread |
0 |
0 or 1 |
Experimental, see README |
dvr_thread_buffer_size |
The size of the "DVR thread buffer" in packets |
5000 |
>=1 |
see README |
server_id |
The server number for the %server template |
0 |
Useful only if you use the %server template |
|
filename_pid |
Specify where MuMuDVB will write it’s PID (Processus IDentifier) |
/var/run/mumudvb/mumudvb_adapter%card_tuner%tuner.pid |
the templates %card %tuner and %server are allowed |
|
check_cc |
Do MuMuDVB check the discontibuities in the stream ? |
0 |
Displayed via the XML status pages or the signal display |
4.2. Packets sending parameters
Parameter name | Description | Default value | Possible values | Comments |
---|---|---|---|---|
dont_send_scrambled |
If set to 1 don’t send the packets detected as scrambled. this will also remove indirectly the sap announces for the scrambled channels |
0 |
||
filter_transport_error |
If set to 1 don’t send the packets tagged with errors by the demodulator. |
0 |
||
psi_tables_filtering |
If set to pat, TS packets with PID from 0x01 to 0x1F are discarded. If set to pat_cat, TS packets with PID from 0x02 to 0x1F are discarded. |
none |
Option to keep only mandatory PSI PID |
|
rewrite_pat |
Do we rewrite the PAT PID |
0 |
0 or 1 |
See README |
rewrite_sdt |
Do we rewrite the SDT PID |
0 |
0 or 1 |
See README |
sort_eit |
Do we sort the EIT PID |
0 |
0 or 1 |
See README |
sdt_force_eit |
Do we force the EIT_schedule_flag and EIT_present_following_flag in SDT |
0 |
0 or 1 |
Let to 0 if you don’t understand |
rtp_header |
Send the stream with the rtp headers (execpt for HTTP unicast) |
0 |
0 or 1 |
4.3. Logs parameters
Parameter name | Description | Default value | Possible values | Comments |
---|---|---|---|---|
log_header |
specify the logging header |
%priority: %module |
The implemented templates are %priority %module %timeepoch %date %pid |
|
log_flush_interval |
LogFile flushing interval (in seconds) |
-1 : no periodic flushing |
||
log_type |
Where the log information will go |
If neither this option and logfile are specified syslog if deamon, console otherwise |
syslog, console |
The first time you specify a logging way, it replaces the default one. Then, each time you sepcify a logging channel, it is added to the previous |
log_file |
The file in wich the logs will be written to |
no file log |
The following templates are allowed %card %tuner %server |
4.4. Multicast parameters
Parameter name | Description | Default value | Possible values | Comments |
---|---|---|---|---|
multicast |
Do we activate multicast, deprecated, use multicast_ipv4 instead |
1 |
0 or 1 |
|
multicast_ipv4 |
Do we activate IPv4 multicast |
1 |
0 or 1 |
|
multicast_ipv6 |
Do we activate IPv6 multicast |
0 |
0 or 1 |
|
multicast_iface4 |
The network interface to send IPv4 multicast packets |
empty (let the system choose) |
||
multicast_iface6 |
The network interface to send IPv6 multicast packets |
empty (let the system choose) |
||
common_port |
Default port for the streaming |
1234 |
||
multicast_ttl |
The multicast Time To Live |
2 |
||
multicast_auto_join |
Set to 1 if you want MuMuDVB to join automatically the multicast groups |
0 |
0 or 1 |
See known problems in the README |
4.5. CAM support parameters
Parameter name | Description | Default value | Possible values | Comments |
---|---|---|---|---|
cam_support |
Specify if we wants the support for scrambled channels |
0 |
0 or 1 |
|
cam_number |
the number of the CAM we want to use |
0 |
In case you have multiple CAMs on one DVB card |
|
cam_reset_interval |
The time (in seconds) we wait for the CAM to be initialised before resetting it. |
30 |
If the reset is not successful, MuMuDVB will reset the CAM again after this interval. The maximum number of resets before exiting is 5 |
|
cam_delay_pmt_send |
The time (in seconds) we wait between the initialization of the CAM and the sending of the first PMT This behavior is made for some "cray" CAMs like powercam v4 which doesn’t accept the PMT just after the ca_info\ _callback |
0 |
Normally this time doesn’t have to be changed. |
|
cam_interval_pmt_send |
The time (in seconds) we wait between possible updates to the PMT sent to the CAM |
3 |
Normally this time doesn’t have to be changed. |
4.6. Autoconfiguration parameters
Parameter name | Description | Default value | Possible values | Comments |
---|---|---|---|---|
autoconfiguration |
autoconfiguration 1, partial: find audio and video PIDs, 2, full: full autoconfiguration |
0 |
0, 1, 2, partial or full |
see the README for more details |
autoconf_ip_header |
For full autoconfiguration, the first part of the ip for streamed channel |
obsolete, use autoconf_ip4 instead |
||
autoconf_ip4 |
For full autoconfiguration, the template for the ipv4 for streamed channel |
239.100.150+%server*10+%card.%number |
You can use expressions with +, * , %card, %tuner, %server and %number |
|
autoconf_ip6 |
For full autoconfiguration, the template for the ipv6 for streamed channel |
FF15:4242::%server:%card:%number |
You can use the keywords %card, %tuner, %server and %number |
|
autoconf_radios |
Do we consider radios as valid channels during full autoconfiguration ? |
0 |
0 or 1 |
|
autoconf_scrambled |
Do we consider scrambled channels valid channels during full autoconfiguration ? |
0 |
0 or 1 |
Automatic when cam_support=1. Sometimes a clear channel can be marked as scrambled. This option allows you to bypass the ckecking. |
autoconf_pid_update |
Do we follow the changes in the PIDs when the PMT is updated ? |
1 |
0 or 1 |
|
autoconf_unicast_start_port |
The unicast port for the first discovered channel |
autoconf_unicast_start_port=value is equivalent to autoconf_unicast_port=value + %number |
||
autoconf_unicast_port |
The unicast port for each discovered channel (autoconf full). Ex "2000+%number" |
You can use expressions with + * %card %tuner %server and %number. Ex : autoconf_unicast_port=2000+100*%card+%number |
||
autoconf_multicast_port |
The multicast port for each discovered channel (autoconf full). Ex "2000+%number" |
You can use expressions with + * %card %tuner %server and %number. Ex : autoconf_unicast_port=2000+100*%card+%number |
||
autoconf_sid_list |
If you don’t want to configure all the channels of the transponder in full autoconfiguration mode, specify with this option the list of the service ids of the channels you want to autoconfigure. |
empty |
||
autoconf_name_template |
The template for the channel name, ex %number-%name |
empty |
See README for more details |
4.7. SAP announces parameters
Parameter name | Description | Default value | Possible values | Comments |
---|---|---|---|---|
sap |
Generation of SAP announces |
0 (1 if full autoconfiguration) |
0 or 1 |
|
sap_organisation |
Organisation field sent in the SAP announces |
MuMuDVB |
Optionnal |
|
sap_uri |
URI field sent in the SAP announces |
Optionnal |
||
sap_sending_ip4 |
The SAP sender IPv4 address |
0.0.0.0 |
Optionnal, not autodetected, if set, enable RFC 4570 SDP Source Filters field |
|
sap_sending_ip6 |
The SAP sender IPv6 address |
:: |
Optionnal, not autodetected, if set, enable RFC 4570 SDP Source Filters field |
|
sap_interval |
Interval in seconds between sap announces |
5 |
positive integers |
|
sap_default_group |
The default playlist group for sap announces |
string |
Optionnal. You can use the keyword %type, see README |
|
sap_ttl |
The TTL for the multicast SAP packets |
255 |
The RFC 2974 says "SAP announcements … SHOULD be sent with an IP time-to-live of 255 (the use of TTL scoping for multicast is discouraged [RFC 2365])." |
4.8. HTTP unicast parameters
Parameter name | Description | Default value | Comments |
---|---|---|---|
unicast |
Set this option to one to activate HTTP unicast |
0 |
see the README for more details |
ip_http |
the listening ip for http unicast, if you want to listen to all interfaces put 0.0.0.0 |
0.0.0.0 |
see the README for more details |
port_http |
The listening port for http unicast |
4242 |
You can use mathematical expressions containing integers, * and +. You can use the %card, %tuner and %server template. Ex port_http=2000+%card*100 |
unicast_consecutive_errors_timeout |
The timeout for disconnecting a client wich is not responding |
5 |
A client will be disconnected if no data have been sucessfully sent during this interval. A value of 0 deactivate the timeout (unadvised). |
unicast_max_clients |
The limit on the number of connected clients |
0 |
0 : no limit. |
unicast_queue_size |
The maximum size of the buffering when writting to a client fails |
512kBytes |
in Bytes. |
5. Channel parameters
Each channel start with an ip= or channel_next line. The only other mandatory parameter is the name of the channel.
Concerning the PIDs see the getting the PIDs section
Parameter name | Description | Default value | Possible values | Comments |
---|---|---|---|---|
ip |
multicast (can also be unicast, in raw UDP ) ipv4 where the chanel will be streamed |
Optionnal if you set multicast=0 (if not used you must use channel_next) |
||
ip6 |
multicast (can also be unicast, in raw UDP ) ipv6 where the chanel will be streamed |
Optionnal if you set multicast=0 |
||
port |
The port |
1234 or common_port |
Ports below 1024 needs root rights. |
|
unicast_port |
The HTTP unicast port for this channel |
Ports below 1024 needs root rights. You need to activate HTTP unicast with ip_http |
||
sap_group |
The playlist group for SAP announces |
string |
optionnal |
|
cam_pmt_pid |
Only for scrambled channels. The PMT PID for CAM support |
|||
service_id |
The service id (program number), olny for autoconfiguration, or rewrite (PAT or SDT) see README for more details |
|||
name |
The name of the channel. Will be used for /var/run/mumudvb/channels_streamed_adapter%d_tuner%d, logging and SAP announces |
Mandatory |
||
pids |
The PIDs list, separated by spaces |
some pids are always sent (PAT CAT EIT SDT TDT NIT), see README for more details |
6. Get the PID numbers
The simplest way is to use autoconfiguration and modify the generated configuration file : /var/run/mumudvb/mumudvb_generated_conf_card%d_tuner%d
6.1. You use autoconfiguration
If you use full autoconfiguration, you don’t need to specify any channel and don’t need any PID, this section does not concern you.
If you use partial autoconfiguration, you’ll need the PMT PID for each channel.
6.2. You do not use autoconfiguration
If you don’t use autoconfiguration (see the README), you have to get the PIDs (Program Identifier) for each channel.
For each channel it is advised to specify at least : - One video PID (except for radios) - One audio PID - The PMT PID - The PCR PID (if different from video/audio)
If you don’t have access to the PIDs via a website like King Of Sat, the easiest way is to use linuxtv’s dvb-apps or w_scan.
You don’t know on wich frequency to tune and the channels you can receive. In this case, you can use w_scan or using scan from dvb-apps if you have an initial tuning config file.
6.2.1. Using w_scan to get an initial tuning file
Note
|
w_scan works for DVB-T, DVB-C, DVB-S/S2 and ATSC. |
You can find wscan in the w_scan website - German or w_scan website - English translation.
w_scan have one disavantage over dvb-apps scan: it takes (usually) more time. But it have several advantages: no need for initial tuning file, card autodection and deeper channel search.
Once you compiled it (optionnal for x86), launch it with the options needed (country is mandatory for terrestrial and cable. for DVB-S/S2 you need to specify your satellite)
Note
|
Here’s the main options for w_scan |
-f type frontend type What programs do you want to search for? a = atsc (vsb/qam) c = cable s = sat t = terrestrian [default] -c choose your country here: DE, GB, US, AU, .. ? for list -s choose your satellite here: S19E2, S13E0, S15W0, .. ? for list
For more information, see w_scan’s help
Your will get lines channels with the file format described here
If you want to use full autoconfiguration, this contains all the parameters you need. For example the second row is the frequency.
6.2.2. Using scan with an initial tuning file
Note
|
With satellite this allow you to find all the frequencies (if the broadcaster follow the norm). Because, every transponder announces the others. |
If you don’t know where to find the inital tuning file, recent versions of scan give the default locations by calling scan without arguments.
You need scan from linuxtv’s dvb-apps
Type
scan -o pids pathtoyourinitialtuningfile
You’ll first get blocks like
>>> tune to: 514000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_2_3:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE 0x0000 0x7850: pmt_pid 0x0110 Barcelona TV -- Barcelona TV (running) 0x0000 0x7851: pmt_pid 0x0710 COM Radio -- COM Radio (running) 0x0000 0x7855: pmt_pid 0x0210 TV L'Hospitalet -- TV L'Hospitalet (running) 0x0000 0x7856: pmt_pid 0x0510 Radio Hospitalet -- Radio Hospitalet (running) 0x0000 0x785a: pmt_pid 0x0310 Televisio Badalona -- Televisio Badalona (running) 0x0000 0x785b: pmt_pid 0x0610 Radio Ciutat Badalona -- Radio Ciutat Badal
You have now acces to the PMT PID (in hexadecimal), you can convert it to decimal and use partial autoconfiguration.
After this blocks, you’ll get lines like
Sensacio FM (0x273f) 02: PCR == A A 0x0701 urBe TV (0x7864) 01: PCR == V V 0x0300 A 0x0301 (cat) Canal Catala Barcelona (0x7869) 01: PCR == V V 0x0200 A 0x0201 (cat) 25 TV (0x786e) 01: PCR == V V 0x0400 A 0x0401 (spa) TT 0x0402 ONDA RAMBLA PUNTO RADIO (0x786f) 02: PCR == A A 0x0601 (cat) Localia (0x7873) 01: PCR == V V 0x0100 A 0x0101 ONA FM (0x7874) 02: PCR == A A 0x0501 TV3 (0x0321) 01: PCR == V V 0x006f A 0x0070 (cat) 0x0072 (vo) 0x0074 (ad) TT 0x0071 AC3 0x0073 SUB 0x032b
You have now acces to the other PIDs
MuMuDVB wants the PIDs in decimal, so you have to convert the pids from hexadecimal to decimal.
6.2.3. Scan only one transponder
You first have to tune the card on the wanted frequency (with tune, szap or tzap for example).
After you use the scan utility:
scan -o pids -c -a 0
Where 0 is the card number
And you’ll get results like in the section scan with an initial tuning file