Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
b378129
Corrected build for Android. Included 0xc0 service type for Brazilian…
OuNao Feb 19, 2014
adeee9c
Solved iconv segfault error on android.
OuNao Feb 21, 2014
c6c37e1
Corrected handling of UTF-8 encoding by iconv.
OuNao Feb 23, 2014
4495111
Small change to help android build.
OuNao Feb 23, 2014
9d758a4
Included "--enable-android" for build with android compatibility.
OuNao Feb 23, 2014
7c35338
Android build script.
OuNao Feb 28, 2014
657e275
Merge pull request #48 from OuNao/master
braice Mar 2, 2014
c237eab
Documentation update
braice Mar 2, 2014
f840497
Documentation update
braice Mar 8, 2014
f2d3a0e
scam: add possibility to disable software descrambling support withou…
ostryck Mar 8, 2014
024cd66
scam: few fixes for recent commit
ostryck Mar 8, 2014
84c9ed7
scam: headers cleanup
ostryck Mar 8, 2014
bf01e0e
Update of openWRT Makefile
braice Mar 21, 2014
b7eaf59
Autoconf: check if the PMT belong to the right channel before updating
braice Jun 22, 2014
6ac2e14
Adding user list into state.xml
UffeJakobsen Aug 19, 2014
9b09ac2
Option to enable/disable DiseQC repeating of messages
braice Aug 22, 2014
30cf446
Merge pull request #71 from uffejakobsen/user_state_xml
braice Aug 23, 2014
3ccc2d2
Merge pull request #70 from ostryck/master
braice Oct 21, 2014
c6bca45
scam_getcw: locking fixes
ostryck Oct 26, 2014
4716604
Merge pull request #78 from ostryck/master
braice Oct 26, 2014
66773f1
Add a basic .gitignore file.
lkarsten Jan 4, 2015
da4cdc1
Correct some spelling mistakes.
lkarsten Jan 4, 2015
ae8e861
Merge pull request #82 from lkarsten/master
braice Jan 5, 2015
0838fd6
Implemented getting channel by name in HTTP unicasts, i.e. GET /bynam…
lobodpav Jan 18, 2015
5e750d5
Merge pull request #83 from lobodpav/master
braice Jan 31, 2015
63981bd
EIT rewriter: Fix use of mumudvb_ts_packet_t full_buffer_len instead …
JGRennison Jun 21, 2015
b14ad52
Merge pull request #92 from JGRennison/eit_rewrite_output_length_fix
braice Aug 23, 2015
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
Makefile
Makefile.in
config.*
/aclocal.m4
/compile
/configure
/depcomp
/missing
/autom4te.cache
/install-sh
/src/.deps/
/src/mumudvb
/src/stamp-h1
*.o
*.sw[po]
50 changes: 43 additions & 7 deletions configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
# Process this file with autoconf to produce a configure script.

AC_PREREQ([2.61])
AC_INIT([MuMuDVB], [1.7.3_20131116_master], [[email protected]])
AC_INIT([MuMuDVB], [1.7.3_20140822_master], [[email protected]])
AC_CONFIG_SRCDIR([src/mumudvb.c])
AM_INIT_AUTOMAKE
AC_CONFIG_HEADERS([src/config.h])
Expand Down Expand Up @@ -60,20 +60,37 @@ dnl scam support
dnl
AC_ARG_ENABLE(scam_support,
[ --enable-scam-support SCAM support (default enabled)],,[enable_scam_support="yes"])
AC_ARG_ENABLE(scam_descrambler_support,
[ --enable-scam-descrambler-support SCAM descrambler support (default enabled)],,[enable_scam_descrambler_support="yes"])

if test "${enable_scam_support}" = "yes"
if test "${enable_scam_descrambler_support}" = "yes"
then
AC_CHECK_LIB([dvbcsa], [dvbcsa_bs_decrypt],[], [enable_scam_support="no"])
if test "${enable_scam_support}" != "no"
if test "${enable_scam_support}" = "yes"
then
AC_DEFINE(ENABLE_SCAM_SUPPORT, 1, Define if you want the SCAM support)
AC_CHECK_LIB([dvbcsa], [dvbcsa_bs_decrypt],[], [enable_scam_support="no"])
if test "${enable_scam_support}" != "no"
then
AC_DEFINE(ENABLE_SCAM_SUPPORT, 1, Define if you want the SCAM support)
AC_DEFINE(ENABLE_SCAM_DESCRAMBLER_SUPPORT, 1, Define if you want the SCAM descrambler support)
else
enable_scam_descrambler_support="no"
AC_MSG_WARN([libdvbcsa is needed for SCAM support])
fi
else
AC_MSG_WARN([libdvbcsa are needed for SCAM support])
enable_scam_support="no"
enable_scam_descrambler_support="no"
fi
else
enable_scam_support="no"
enable_scam_descrambler_support="no"
if test "${enable_scam_support}" = "yes"
then
AC_DEFINE(ENABLE_SCAM_SUPPORT, 1, Define if you want the SCAM support)
else
enable_scam_support="yes"
fi
fi
AM_CONDITIONAL(BUILD_SCAMSUPPORT, [test "${enable_scam_support}" != "no"])
AM_CONDITIONAL(BUILD_SCAMDESCRAMBLERSUPPORT, [test "${enable_scam_descrambler_support}" != "no"])

dnl
dnl Test coverage
Expand Down Expand Up @@ -105,6 +122,13 @@ then
fi
fi

AC_ARG_ENABLE(android,
[ --enable-android Build for android (default disabled)],,[enable_android="no"])

if test "${enable_android}" = "yes"
then
AC_DEFINE(ANDROID, 1, Define if you want build for android)
fi

# Checks for header files.
AC_HEADER_RESOLV
Expand Down Expand Up @@ -145,12 +169,24 @@ else
echo "Build with SCAM support: no"
fi

if test "${enable_scam_descrambler_support}" != "no" ; then
echo "Build with SCAM descrambler support: yes"
else
echo "Build with SCAM descrambler support: no"
fi

if test "${atsc_long_names}" = "yes" ; then
echo "Build with ATSC long names support: yes"
else
echo "Build with ATSC long names support: no"
fi

if test "${enable_android}" = "yes" ; then
echo "Build with compatibility for android: yes"
else
echo "Build with compatibility for android: no"
fi

echo ""
echo "Debugging"
echo ""
Expand Down
2 changes: 1 addition & 1 deletion doc/Makefile.am
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#We just have a doc target to compile the documentation, no installation is made
ASCIIDOCFLAGS = -a toc -a numbered
htmldocdir = html
html_DOC = $(htmldocdir)/README.html $(htmldocdir)/README_CONF.html $(htmldocdir)/QUICKSTART.html $(htmldocdir)/TRANSCODE.html $(htmldocdir)/WEBSERVICES.html $(htmldocdir)/TRANSCODE_EXTERNAL.html $(htmldocdir)/index.html
html_DOC = $(htmldocdir)/README.html $(htmldocdir)/README_CONF.html $(htmldocdir)/QUICKSTART.html $(htmldocdir)/WEBSERVICES.html $(htmldocdir)/TRANSCODE_EXTERNAL.html $(htmldocdir)/index.html
#DISTCLEANFILES = $(html_DOC)

doc: $(html_DOC)
Expand Down
14 changes: 7 additions & 7 deletions doc/QUICKSTART.txt
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,15 @@ Brice Dubost
What is this quickstart guide ?
-------------------------------

It this guide I'll explain how to stream a full transponder (all the channels
In this guide I'll explain how to stream a full transponder (all the channels
multiplexed on the same carrier frequency) over a network, by assigning each
channel to a different multicast IP. The SAP announces will automatically be generated.

For HTTP unicast or more advanced features, please refer to the full documentation.

I'll take an example for DVB-S (satellite) and DVB-T (terrestrial). DVB-C and ATSC are similar.

I suppose you have one DVB card wich is already working, if you have more than
I suppose you have one DVB card which is already working, if you have more than
one card refer to the full documentation.

If you don't know your transponder frequencies, have a look to the README_CONF
Expand All @@ -25,11 +25,11 @@ DVB-S
* Use the debian package, or
* type `./configure` then `make` in the mumudvb directory and, as root, `make install`

- You have to find wich transponder you want to stream.
- You have to find which transponder you want to stream.
* For European users you can use http://www.kingofsat.net/[King Of Sat]
* You need : the frequency, the polarisation and the symbol rate (srate)
* You need: the frequency, the polarisation and the symbol rate (srate)

- Now create a config file, wich contains :
- Now create a config file, which contains :

------------------------------------
autoconfiguration=full
Expand Down Expand Up @@ -65,7 +65,7 @@ If you want to stream a subset of the transponder you can use autoconf_sid_list
DVB-T
-----

- It's the same way as DVB-S excepted that you need other informations for
- It's the same way as DVB-S except that you need other information on
tuning your card.

You can find these informations in : `/usr/share/doc/dvb-utils/examples/scan/dvb-t/` if you installed the dvb-utils
Expand All @@ -89,7 +89,7 @@ The SAP (session announcement protocol) announces will be sent automatically.
Troubleshooting
---------------

- Try adding one ore several `-v` to the mumudvb command line to have more detailled messages
- Try adding one ore several `-v` to the mumudvb command line to have more detailed messages
- If you experience tuning issues, try with other dvb software like scan or
szap and check your parameters
- If it still don't work, look at common issues in the README and you can
Expand Down
19 changes: 16 additions & 3 deletions doc/README.txt
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ Authors and contacts
- mailto:[email protected][Stéphane Glondu] (man page, debian package)
- Special thanks to Dave Chapman (dvbstream author and contributor)
- Pierre Gronlier, Sébastien Raillard, Ludovic Boué, Romolo Manfredini
- Others, please see git logs

.Mailing list:
- mailto:[email protected][MuMuDVB dev]
Expand All @@ -64,7 +65,7 @@ Features overview
- Support for RTP headers (only for multicast)
- CAM menu access while streaming (using a web/AJAX interface - see WEBSERVICES.txt and CAM_menu_interface.png for screenshot)
- Software descrambling through oscam dvbapi and libdvbcsa

- Support for embedded platforms based on UCLIBC and ANDROID

Detailled feature list
~~~~~~~~~~~~~~~~~~~~~~
Expand Down Expand Up @@ -117,6 +118,9 @@ Then you have a source which can be installed as a release package.
From a release package
^^^^^^^^^^^^^^^^^^^^^^

[NOTE]
If you want to compile for OpenWRT, please follow http://ocsovszki-dorian.blogspot.co.uk/2014/01/tl-wdr4900-openwrt-dvb-t-with-ite9135.html[OpenWRT tutorial]

In order to install MuMuDVB type:

---------------------------------
Expand All @@ -132,6 +136,7 @@ The `[configure options]` specific to MuMuDVB are:
--enable-scam-support SCAM support (default enabled) (see note below)
--enable-coverage build for test coverage (default disabled)
--enable-duma Debbuging DUMA library (default disabled)
--enable-android Support for Android (default disabled)
---------------------------------------------------------------------

[NOTE]
Expand Down Expand Up @@ -497,8 +502,16 @@ will give you the channel with the service id 100, or a 404 error if there is no
Get the channel by name
^^^^^^^^^^^^^^^^^^^^^^^

[NOTE]
This is not implemented for the moment, it will be implemented in a future release
You can ask the channel by the channel name.
The search is case insensitive. If your channel name contains spaces, replace them by '-' character.

If you server is listening on the ip 10.0.0.1 and the port 4242,

----------------------------------------------------
vlc http://10.0.0.1:4242/byname/your-tv-station-name
----------------------------------------------------

will give you the channel with name "Your TV station name". This works also with xine and mplayer.

Get the channels list
^^^^^^^^^^^^^^^^^^^^^
Expand Down
35 changes: 18 additions & 17 deletions doc/README_CONF.txt
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ pids=272 256 257 258
---------------------------


See <<channel_parameters,channel parameters>> section for a list of detailled parameters.
See <<channel_parameters,channel parameters>> section for a list of detailed parameters.

Example config files
--------------------
Expand All @@ -78,10 +78,10 @@ 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
|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 | Optional 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%card)
|tuner | The tuner number | 0 | If you have a card with multiple tuners (ie there are several frontend* in /dev/dvb/adapter%card)
|card_dev_path | The path of the DVB card devices. Use it if you have a personalised path like /dev/dvb/astra%card | /dev/dvb/adapter%card | The template %card can be used
|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
Expand All @@ -107,6 +107,7 @@ Parameters specific to satellite
|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_input |The switch input number in case you have multiples lnb, overrides sat_number, send a diseqc message if non 0 | 0 | 0 to 15| If you have equipment which support more, please contact
|switch_type | The DiSEqC switch type: Committed or Uncommitted | C | C, c, U or u |
|diseqc_repeat | Do we repeat the DiSEqC message (useful for some switches) | 0 | 0 or 1 |
|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
Expand Down Expand Up @@ -190,14 +191,14 @@ Packets sending parameters
[width="80%",cols="2,8,1,2,3",options="header"]
|==================================================================================================================
|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 | |
|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, 1 in full autoconf | 0 or 1 | See README, important for some set top boxes
|rewrite_sdt | Do we rewrite the SDT PID | 0, 1 in full autoconf | 0 or 1 | See README
|rewrite_eit sort_eit | Do we rewrite/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 |
|sdt_force_eit | Do we force the EIT_schedule_flag and EIT_present_following_flag in SDT | 0 | 0 or 1 | Set to 0 if you don't understand
|rtp_header | Send the stream with the rtp headers (except for HTTP unicast) | 0 | 0 or 1 |
|==================================================================================================================

Logs parameters
Expand All @@ -209,7 +210,7 @@ Logs parameters
|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 the log destination will be syslog if MuMuDVB run as a 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
|log_file | The file in which the logs will be written to | no file log | | The following templates are allowed %card %tuner %server
|==================================================================================================================

Multicast parameters
Expand Down Expand Up @@ -275,12 +276,12 @@ 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_organisation |Organisation field sent in the SAP announces | MuMuDVB | | Optional
|sap_uri |URI field sent in the SAP announces | | | Optional
|sap_sending_ip4 |The SAP sender IPv4 address | 0.0.0.0 | | Optional, not autodetected, if set, enable RFC 4570 SDP Source Filters field
|sap_sending_ip6 |The SAP sender IPv6 address | :: | | Optional, 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_default_group | The default playlist group for sap announces | | string | Optional. 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])."
|==================================================================================================================

Expand All @@ -292,7 +293,7 @@ HTTP unicast parameters
|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_consecutive_errors_timeout | The timeout for disconnecting a client which 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.
|==================================================================================================================
Expand All @@ -311,11 +312,11 @@ Concerning the PIDs see the <<getpids,getting the PIDs>> section
[width="80%",cols="2,8,1,1,3",options="header"]
|==================================================================================================================
|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
|ip |multicast (can also be unicast, in raw UDP ) ipv4 where the chanel will be streamed | | | Optional 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 | | | Optional 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
|sap_group |The playlist group for SAP announces | | string | optional
|cam_pmt_pid |Only for scrambled channels. The PMT PID for CAM support | | | This option needs to be specified for descrambling the channel.
|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
Expand Down Expand Up @@ -365,7 +366,7 @@ You can find wscan in the http://wirbel.htpc-forum.de/w_scan/index2.html[w_scan

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)
Once you compiled it (optional 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
Expand Down
Loading