mptsd reads mpegts streams from udp/multicast or http and combines them into one multiple program stream that is suitable for outputting to DVB-C modulator. Tested with Dektec DTE-3114 Quad QAM Modulator and used in production in small DVB-C networks. https://georgi.unixsol.org/programs/mptsd/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
wing_pn 9311174046 pmt_pid is based by channel index ( >0 && <256 ), pmt_id = channel_index*32 7 years ago
libfuncs @ 0dc8d87080 Update external libraries. 9 years ago
libtsfuncs @ 45e7e999a1 Update external libraries. 9 years ago
.gitignore Initial import. 12 years ago
.gitmodules Initial import. 12 years ago
COPYING License source code under GPL v2. 12 years ago
ChangeLog Add ChangeLog and change version to 1.1 12 years ago
Makefile Makefile: When compiling on OS X -lrt breaks the link phase 7 years ago
README Add RTP input support. 12 years ago
TODO Initial import. 12 years ago
config.c pmt_pid is based by channel index ( >0 && <256 ), pmt_id = channel_index*32 originally the output ts stream 's pmt_pid is based by service_id , and pmt_id = service_id*32 , it may be overflow or duplicated. 7 years ago
config.h License source code under GPL v2. 12 years ago
data.c pmt_pid is based by channel index ( >0 && <256 ), pmt_id = channel_index*32 originally the output ts stream 's pmt_pid is based by service_id , and pmt_id = service_id*32 , it may be overflow or duplicated. 7 years ago
data.h pmt_pid is based by channel index ( >0 && <256 ), pmt_id = channel_index*32 originally the output ts stream 's pmt_pid is based by service_id , and pmt_id = service_id*32 , it may be overflow or duplicated. 7 years ago
inidict.c Initial import. 12 years ago
inidict.h Initial import. 12 years ago
iniparser.c iniparser: Prevent possible NULL ptr deref. 9 years ago
iniparser.h Initial import. 12 years ago
input.c mptsd can remux when pmt table changed 7 years ago
input.h License source code under GPL v2. 12 years ago
mptsd.c Fix warninigs uncovered by llvm on OS X 7 years ago
mptsd.conf Initial import. 12 years ago
mptsd_channels.conf Add RTP input support. 12 years ago
mptsd_epg.conf Initial import. 12 years ago
mptsd_nit.conf Initial import. 12 years ago
mptsd_valgrind Initial import. 12 years ago
network.c Fix warninigs uncovered by llvm on OS X 7 years ago
network.h License source code under GPL v2. 12 years ago
output.h License source code under GPL v2. 12 years ago
output_mix.c License source code under GPL v2. 12 years ago
output_psi.c Fix warninigs uncovered by llvm on OS X 7 years ago
output_write.c Fix format strings on 64 bit machine. 9 years ago
pidref.c License source code under GPL v2. 12 years ago
pidref.h License source code under GPL v2. 12 years ago
rc.mptsd License source code under GPL v2. 12 years ago
rc.mptsd.conf Initial import. 12 years ago
sleep.c Mention CONFIG_HIGH_RES_TIMERS kernel setting. 12 years ago
sleep.h License source code under GPL v2. 12 years ago
web_pages.c License source code under GPL v2. 12 years ago
web_pages.h License source code under GPL v2. 12 years ago
web_server.c License source code under GPL v2. 12 years ago
web_server.h License source code under GPL v2. 12 years ago

README

mptsd
=====
mptsd receives mpegts streams from multicast (udp/rtp) or http and combines
them into one multiple program stream that is suitable for outputing to DVB-C
modulator. It is tested with Dektec DTE-3114 Quad QAM Modulator and it
is used in production in couple of small DVB-C networks.

Installation
============
mptsd do not depend on any external libraries. There are two source code
dependancies that come with mptsd - libfuncs and libtsfuncs.

Make sure your kernel has CONFIG_HIGH_RES_TIMERS enabled. Otherwise sleep
timeout probably won't be able to calibrate itself and mptsd will not work.

Documentation
=============
mptsd is controlled using command line parameters. Run mptsd to see all of
the parameters and explanation what every one of them does. Also there
are 4 configuration files. In the distribution there are example files that
you can change to suit your needs.

mptsd.conf - This file configures the network_id in outputed
NIT table and also MPEG PSI tables playout timeouts.

mptsd_nit.conf - Configures NIT table output.

mptsd_channels.conf - Configure inputs, SDT provider name and transport_stream_id

mptsd_epg.conf - Configures EIT current/next tables. This file is auto
reloaded when it is changed. This allows EPG in output
to work.

One mptsd instance should be used for each transponder.

Limitations
===========
mptsd do not apply PCR restamping to output. If hardware modulator requires
correct PCR (most cheap modulators do) it probably won't like what mptsd
outputs. mptsd was tested and found to be working ok with Dektec DTE-3114.

Development
===========
The development is tracked using git. The repository is hosted at github
to get it, run the following command:

git clone git://github.com/gfto/mptsd.git
git submodule init
git submodule update

Compiling
=========
After cloning the git repository as described in Development section
just run `make`.

Releases
========
Official releases can be downloaded from tsdecrypt home page which is:

http://georgi.unixsol.org/programs/mptsd/

Contact
=======
For patches, bug reports, complaints and so on send e-mail to:

Georgi Chorbadzhiyski <georgi@unixsol.org>