-
Notifications
You must be signed in to change notification settings - Fork 41
Home
Below is my basic usage information page to assist with usage and shall be updated when improvements and feature available.
mptsd is a versatile tool for MPEG TS multichannel multiplexing of individual SPTS => MPTS. (Single Program Transport Stream) => (Multiple Program Transport Stream)
mptsd offering a wide range of features from server configuration to handling various output settings.
This document provides an overview of all command-line options available as of 28-03-2024.
-
-i ident
: Sets the server ident. Default:ux/mptsd
.
-
-b addr
: Binds to a local IP address. Default:0.0.0.0
. -
-p port
: Sets the port to listen on. Default:0
. -
-N
: Disables network. -
-d pidfile
: Daemonizes with specified pidfile. -
-l host
: Specifies the Syslog host. Default: disabled. -
-L port
: Sets the Syslog port. Default:514
.
-
-g file
: Specifies the global configuration file. Default:mptsd.conf
. -
-c file
: Specifies the channels configuration file. Default:mptsd_channels.conf
. -
-e file
: Specifies the EPG configuration file. Default:mptsd_epg.conf
. -
-n file
: Specifies the NIT configuration file. Default:mptsd_nit.conf
.
-
-O ip
: Sets the output UDP address. -
-P ip
: Sets the output UDP port. Default:5000
. -
-o ip
: Specifies the output interface address. Default:0.0.0.0
. -
-t ttl
: Sets the multicast TTL. Default:1
. -
-s SSRC
: Enables RTP. Default: disabled. -
-B Mbps
: Sets the output bitrate in Mbps. Default:38.00
. -
-m mode
: Sets the PCR mode. Available modes:- Mode 0: Do not touch PCRs (default).
- Mode 1: Move PCRs to their calculated place.
- Mode 2: Rewrite PCRs using output bitrate.
- Mode 3: Move PCRs and rewrite them.
mptsd provides the capability for exact PCR restamping, achievable by employing the -m 3
option. This functionality is especially vital for hardware modulators that necessitate precise PCR values to function correctly. Given the importance of this feature for many cost-effective modulators, it is advised to always use -m 3
setting with them.
Compatibility and performance testing of mptsd has successfully demonstrated its effective operation with the following modulators:
- Dektec DTE-3114
- HiDes UT-100C
Employing the -m 3
option ensures that mptsd meets the technical requirements needed for optimal functionality with these and potentially other hardware modulators.
-
-q
: Quiet mode. -
-D
: Debug mode. -
-W
: Write output file (recommended to use with-N
). -
-f
: Specifies the output filename. Default:mptsd-output.ts
(use-
for stdout). -
-E
: Write input file. -
-9
: Enable LCN support. Default: disabled.
The global configuration file for mptsd, affecting server-wide settings.
- Global: Set the network ID.
- Timeouts: Controls the insertion times for needed PSI.
[Global]
network_id=1
[Timeouts]
pat = 100 // Min:25 Max:500
#cat = 200 // Min:25 Max:500 ** unused **
pmt = 200 // Min:25 Max:500
nit = 2000 // Min:25 Max:10000
sdt = 500 // Min:25 Max:2000
#bat = 5000 // Min:25 Max:10000 ** unused **
eit = 1000 // Min:25 Max:2000
#rst = 20000 // Min:25 Max: - ** unused **
tdt = 5000 // Min:25 Max:30000
tot = 15000 // Min:25 Max:30000
stats = 1000 // No limits
Defines channels and their source streams for the multiplex.
- Channel Definition: Names, IDs, and source addresses for each channel.
- PID Mappings: Custom mappings of PIDs from source to multiplex.
[Global]
provider_name = Unix Solutions
transport_stream_id = 1
[Channel1]
service_id = 1
id = btv
name = bTV
eit_mode = 0 # 0 = ignore EIT data from input
# 1 = forward EIT data for the configured service, ignore any other EIT data
source1 = http://signal-server/stb/btv.mpg
#source2 = http://signal-server2/stb/btv.mpg
#source3 = http://signal-server3/stb/btv.mpg
#source4 = udp://239.0.0.1:5000/
#source5 = rtp://239.78.78.2:5000/
#worktime = 14:18-14:19
lcn = 2
lcn_visible = yes
[Channel2]
service_id = 2
id = kanal1
name = "Kanal 1"
source = http://signal-server/stb/kanal1.mpg
lcn = 2
lcn_visible = yes
[Channel3]
service_id = 3
id = novatv
name = "Nova"
source1 = http://signal-server/stb/novatv.mpg
lcn = 3
lcn_visible = yes
[Channel4]
service_id = 4
id = tv2
name = "TV 2"
source1 = http://signal-server/stb/tv2.mpg
lcn = 7
lcn_visible = yes
[Channel5]
service_id = 5
id = ngc
name = "NatGeo"
source1 = http://signal-server/stb/ngc.mpg
lcn = 72
lcn_visible = yes
[Channel6]
service_id = 6
id = tv1
name = "TV 1"
source1 = http://signal-server/stb/tv1.mpg
lcn = 25
lcn_visible = yes
[Channel7]
service_id = 7
id = planetahit
name = "Planeta HIT"
source1 = http://signal-server/stb/planetahit.mpg
lcn = 33
lcn_visible = no
[Channel8]
service_id = 8
id = fresh
name = "Radio Fresh"
radio = yes
source = http://signal-server/stb/fresh.mpg
lcn = 201
lcn_visible = yes
[Channel9]
service_id = 9
id = bgradio
name = "BG Radio"
radio = yes
source1 = http://signal-server/stb/bgradio.mpg
lcn = 202
lcn_visible = yes```
## `mptsd_epg.conf`
Configures EPG data sourcing and association for the multiplex.
### Key Sections:
- **EPG Sources**: Methods and sources for acquiring EPG data.
- **EPG Association**: Links EPG data to specific channels.
## `mptsd_nit.conf`
Manages the Network Information Table (NIT) for the digital television network.
### Key Sections:
- **Network ID**: Unique identifier for the network.
- **Transport Streams**: List of transport streams with identifiers.
- **Network Descriptors**: Additional network metadata.
## Example command line
```bash
mptsd -m 3 -b 0.0.0.0 -O 224.0.0.1 -p 1234 -g ./somepath/mux/mptsd.conf -c ./somepath/mux/mptsd_channels.conf -e ./somepath/mux/mptsd_epg.conf -n ./somepath/mux/mptsd_nit.conf -i mysuper-mux