[SCM] Mumudvb packaging branch, upstream, updated. upstream/1.6.20090930-6-g5be7b66

Stephane Glondu steph at glondu.net
Sun Oct 18 15:31:16 UTC 2009


The following commit has been merged in the upstream branch:
commit 5be7b66a44e4ac7b875778e49a75efff50ce3206
Author: Stephane Glondu <steph at glondu.net>
Date:   Sun Oct 18 17:17:59 2009 +0200

    Imported Upstream version 1.6

diff --git a/doc/html/QUICKSTART.html b/doc/html/QUICKSTART.html
new file mode 100644
index 0000000..78511af
--- /dev/null
+++ b/doc/html/QUICKSTART.html
@@ -0,0 +1,637 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
+    "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<meta name="generator" content="AsciiDoc 8.4.4" />
+<title>Quickstart guide for MuMuDVB</title>
+<style type="text/css">
+/* Debug borders */
+p, li, dt, dd, div, pre, h1, h2, h3, h4, h5, h6 {
+/*
+  border: 1px solid red;
+*/
+}
+
+body {
+  margin: 1em 5% 1em 5%;
+}
+
+a {
+  color: blue;
+  text-decoration: underline;
+}
+a:visited {
+  color: fuchsia;
+}
+
+em {
+  font-style: italic;
+  color: navy;
+}
+
+strong {
+  font-weight: bold;
+  color: #083194;
+}
+
+tt {
+  color: navy;
+}
+
+h1, h2, h3, h4, h5, h6 {
+  color: #527bbd;
+  font-family: sans-serif;
+  margin-top: 1.2em;
+  margin-bottom: 0.5em;
+  line-height: 1.3;
+}
+
+h1, h2, h3 {
+  border-bottom: 2px solid silver;
+}
+h2 {
+  padding-top: 0.5em;
+}
+h3 {
+  float: left;
+}
+h3 + * {
+  clear: left;
+}
+
+div.sectionbody {
+  font-family: serif;
+  margin-left: 0;
+}
+
+hr {
+  border: 1px solid silver;
+}
+
+p {
+  margin-top: 0.5em;
+  margin-bottom: 0.5em;
+}
+
+ul, ol, li > p {
+  margin-top: 0;
+}
+
+pre {
+  padding: 0;
+  margin: 0;
+}
+
+span#author {
+  color: #527bbd;
+  font-family: sans-serif;
+  font-weight: bold;
+  font-size: 1.1em;
+}
+span#email {
+}
+span#revision {
+  font-family: sans-serif;
+}
+
+div#footer {
+  font-family: sans-serif;
+  font-size: small;
+  border-top: 2px solid silver;
+  padding-top: 0.5em;
+  margin-top: 4.0em;
+}
+div#footer-text {
+  float: left;
+  padding-bottom: 0.5em;
+}
+div#footer-badges {
+  float: right;
+  padding-bottom: 0.5em;
+}
+
+div#preamble {
+  margin-top: 1.5em;
+  margin-bottom: 1.5em;
+}
+div.tableblock, div.imageblock, div.exampleblock, div.verseblock,
+div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,
+div.admonitionblock {
+  margin-top: 1.5em;
+  margin-bottom: 1.5em;
+}
+div.admonitionblock {
+  margin-top: 2.5em;
+  margin-bottom: 2.5em;
+}
+
+div.content { /* Block element content. */
+  padding: 0;
+}
+
+/* Block element titles. */
+div.title, caption.title {
+  color: #527bbd;
+  font-family: sans-serif;
+  font-weight: bold;
+  text-align: left;
+  margin-top: 1.0em;
+  margin-bottom: 0.5em;
+}
+div.title + * {
+  margin-top: 0;
+}
+
+td div.title:first-child {
+  margin-top: 0.0em;
+}
+div.content div.title:first-child {
+  margin-top: 0.0em;
+}
+div.content + div.title {
+  margin-top: 0.0em;
+}
+
+div.sidebarblock > div.content {
+  background: #ffffee;
+  border: 1px solid silver;
+  padding: 0.5em;
+}
+
+div.listingblock > div.content {
+  border: 1px solid silver;
+  background: #f4f4f4;
+  padding: 0.5em;
+}
+
+div.quoteblock {
+  padding-left: 2.0em;
+  margin-right: 10%;
+}
+div.quoteblock > div.attribution {
+  padding-top: 0.5em;
+  text-align: right;
+}
+
+div.verseblock {
+  padding-left: 2.0em;
+  margin-right: 10%;
+}
+div.verseblock > div.content {
+  white-space: pre;
+}
+div.verseblock > div.attribution {
+  padding-top: 0.75em;
+  text-align: left;
+}
+/* DEPRECATED: Pre version 8.2.7 verse style literal block. */
+div.verseblock + div.attribution {
+  text-align: left;
+}
+
+div.admonitionblock .icon {
+  vertical-align: top;
+  font-size: 1.1em;
+  font-weight: bold;
+  text-decoration: underline;
+  color: #527bbd;
+  padding-right: 0.5em;
+}
+div.admonitionblock td.content {
+  padding-left: 0.5em;
+  border-left: 2px solid silver;
+}
+
+div.exampleblock > div.content {
+  border-left: 2px solid silver;
+  padding: 0.5em;
+}
+
+div.imageblock div.content { padding-left: 0; }
+div.imageblock img { border: 1px solid silver; }
+span.image img { border-style: none; }
+
+dl {
+  margin-top: 0.8em;
+  margin-bottom: 0.8em;
+}
+dt {
+  margin-top: 0.5em;
+  margin-bottom: 0;
+  font-style: normal;
+  color: navy;
+}
+dd > *:first-child {
+  margin-top: 0.1em;
+}
+
+ul, ol {
+    list-style-position: outside;
+}
+ol.arabic {
+  list-style-type: decimal;
+}
+ol.loweralpha {
+  list-style-type: lower-alpha;
+}
+ol.upperalpha {
+  list-style-type: upper-alpha;
+}
+ol.lowerroman {
+  list-style-type: lower-roman;
+}
+ol.upperroman {
+  list-style-type: upper-roman;
+}
+
+div.compact ul, div.compact ol,
+div.compact p, div.compact p,
+div.compact div, div.compact div {
+  margin-top: 0.1em;
+  margin-bottom: 0.1em;
+}
+
+div.tableblock > table {
+  border: 3px solid #527bbd;
+}
+thead {
+  font-family: sans-serif;
+  font-weight: bold;
+}
+tfoot {
+  font-weight: bold;
+}
+td > div.verse {
+  white-space: pre;
+}
+p.table {
+  margin-top: 0;
+}
+/* Because the table frame attribute is overriden by CSS in most browsers. */
+div.tableblock > table[frame="void"] {
+  border-style: none;
+}
+div.tableblock > table[frame="hsides"] {
+  border-left-style: none;
+  border-right-style: none;
+}
+div.tableblock > table[frame="vsides"] {
+  border-top-style: none;
+  border-bottom-style: none;
+}
+
+
+div.hdlist {
+  margin-top: 0.8em;
+  margin-bottom: 0.8em;
+}
+div.hdlist tr {
+  padding-bottom: 15px;
+}
+dt.hdlist1.strong, td.hdlist1.strong {
+  font-weight: bold;
+}
+td.hdlist1 {
+  vertical-align: top;
+  font-style: normal;
+  padding-right: 0.8em;
+  color: navy;
+}
+td.hdlist2 {
+  vertical-align: top;
+}
+div.hdlist.compact tr {
+  margin: 0;
+  padding-bottom: 0;
+}
+
+.comment {
+  background: yellow;
+}
+
+ at media print {
+  div#footer-badges { display: none; }
+}
+
+div#toctitle {
+  color: #527bbd;
+  font-family: sans-serif;
+  font-size: 1.1em;
+  font-weight: bold;
+  margin-top: 1.0em;
+  margin-bottom: 0.1em;
+}
+
+div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 {
+  margin-top: 0;
+  margin-bottom: 0;
+}
+div.toclevel2 {
+  margin-left: 2em;
+  font-size: 0.9em;
+}
+div.toclevel3 {
+  margin-left: 4em;
+  font-size: 0.9em;
+}
+div.toclevel4 {
+  margin-left: 6em;
+  font-size: 0.9em;
+}
+/* Workarounds for IE6's broken and incomplete CSS2. */
+
+div.sidebar-content {
+  background: #ffffee;
+  border: 1px solid silver;
+  padding: 0.5em;
+}
+div.sidebar-title, div.image-title {
+  color: #527bbd;
+  font-family: sans-serif;
+  font-weight: bold;
+  margin-top: 0.0em;
+  margin-bottom: 0.5em;
+}
+
+div.listingblock div.content {
+  border: 1px solid silver;
+  background: #f4f4f4;
+  padding: 0.5em;
+}
+
+div.quoteblock-attribution {
+  padding-top: 0.5em;
+  text-align: right;
+}
+
+div.verseblock-content {
+  white-space: pre;
+}
+div.verseblock-attribution {
+  padding-top: 0.75em;
+  text-align: left;
+}
+
+div.exampleblock-content {
+  border-left: 2px solid silver;
+  padding-left: 0.5em;
+}
+
+/* IE6 sets dynamically generated links as visited. */
+div#toc a:visited { color: blue; }
+</style>
+<script type="text/javascript">
+/*<![CDATA[*/
+window.onload = function(){generateToc(2)}
+/* Author: Mihai Bazon, September 2002
+ * http://students.infoiasi.ro/~mishoo
+ *
+ * Table Of Content generator
+ * Version: 0.4
+ *
+ * Feel free to use this script under the terms of the GNU General Public
+ * License, as long as you do not remove or alter this notice.
+ */
+
+ /* modified by Troy D. Hanson, September 2006. License: GPL */
+ /* modified by Stuart Rackham, October 2006. License: GPL */
+
+function getText(el) {
+  var text = "";
+  for (var i = el.firstChild; i != null; i = i.nextSibling) {
+    if (i.nodeType == 3 /* Node.TEXT_NODE */) // IE doesn't speak constants.
+      text += i.data;
+    else if (i.firstChild != null)
+      text += getText(i);
+  }
+  return text;
+}
+
+function TocEntry(el, text, toclevel) {
+  this.element = el;
+  this.text = text;
+  this.toclevel = toclevel;
+}
+
+function tocEntries(el, toclevels) {
+  var result = new Array;
+  var re = new RegExp('[hH]([2-'+(toclevels+1)+'])');
+  // Function that scans the DOM tree for header elements (the DOM2
+  // nodeIterator API would be a better technique but not supported by all
+  // browsers).
+  var iterate = function (el) {
+    for (var i = el.firstChild; i != null; i = i.nextSibling) {
+      if (i.nodeType == 1 /* Node.ELEMENT_NODE */) {
+        var mo = re.exec(i.tagName)
+        if (mo)
+          result[result.length] = new TocEntry(i, getText(i), mo[1]-1);
+        iterate(i);
+      }
+    }
+  }
+  iterate(el);
+  return result;
+}
+
+// This function does the work. toclevels = 1..4.
+function generateToc(toclevels) {
+  var toc = document.getElementById("toc");
+  var entries = tocEntries(document.getElementsByTagName("body")[0], toclevels);
+  for (var i = 0; i < entries.length; ++i) {
+    var entry = entries[i];
+    if (entry.element.id == "")
+      entry.element.id = "toc" + i;
+    var a = document.createElement("a");
+    a.href = "#" + entry.element.id;
+    a.appendChild(document.createTextNode(entry.text));
+    var div = document.createElement("div");
+    div.appendChild(a);
+    div.className = "toclevel" + entry.toclevel;
+    toc.appendChild(div);
+  }
+  if (entries.length == 0)
+    document.getElementById("header").removeChild(toc);
+}
+/*]]>*/
+</script>
+</head>
+<body>
+<div id="header">
+<h1>Quickstart guide for MuMuDVB</h1>
+<span id="author">Brice Dubost</span><br />
+<div id="toc">
+  <div id="toctitle">Table of Contents</div>
+  <noscript><p><b>JavaScript must be enabled in your browser to display the table of contents.</b></p></noscript>
+</div>
+</div>
+<h2 id="_what_is_this_quickstart_guide">1. What is this quickstart guide ?</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>It this guide I&#8217;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.</p></div>
+<div class="paragraph"><p>For HTTP unicast or more advanced features, please refer to the full documentation.</p></div>
+<div class="paragraph"><p>I&#8217;ll take an example for DVB-S (satellite) and DVB-T (terrestrial)</p></div>
+<div class="paragraph"><p>I suppose you have one DVB card wich is already working, if you have more than
+one card refer to the full documentation.</p></div>
+</div>
+<h2 id="_dvb_s">2. DVB-S</h2>
+<div class="sectionbody">
+<div class="ulist"><ul>
+<li>
+<p>
+First install mumudvb
+</p>
+<div class="ulist"><ul>
+<li>
+<p>
+Use the debian package, or
+</p>
+</li>
+<li>
+<p>
+type <tt>make</tt> in the mumudvb directory and, as root, <tt>make install</tt>
+</p>
+</li>
+</ul></div>
+</li>
+<li>
+<p>
+You have to find wich transponder you want to stream.
+</p>
+<div class="ulist"><ul>
+<li>
+<p>
+For European users you can use <a href="http://www.kingofsat.net/">King Of Sat</a>
+</p>
+</li>
+<li>
+<p>
+You need : the frequency, the polarisation and the symbol rate (srate)
+</p>
+</li>
+</ul></div>
+</li>
+<li>
+<p>
+Now create a config file, wich contains :
+</p>
+</li>
+</ul></div>
+<div class="listingblock">
+<div class="content">
+<pre><tt>autoconfiguration=2
+freq=__tranponder frequency in MHz__
+pol=__polarisation H, V, L or R__
+srate=__symbol rate__</tt></pre>
+</div></div>
+<div class="listingblock">
+<div class="title">Example :</div>
+<div class="content">
+<pre><tt>autoconfiguration=2
+freq=11785
+pol=h
+srate=27500</tt></pre>
+</div></div>
+<div class="ulist"><ul>
+<li>
+<p>
+Now launch MuMuDVB with :
+</p>
+</li>
+</ul></div>
+<div class="listingblock">
+<div class="content">
+<pre><tt>mumudvb -d -c __path to config file__</tt></pre>
+</div></div>
+<div class="ulist"><ul>
+<li>
+<p>
+That&#8217;s all, you should get a list of the streamed channels with their IP
+adress
+</p>
+</li>
+</ul></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">The SAP (session announcement protocol) announces will be sent automatically.</td>
+</tr></table>
+</div>
+</div>
+<h2 id="_dvb_t">3. DVB-T</h2>
+<div class="sectionbody">
+<div class="ulist"><ul>
+<li>
+<p>
+It&#8217;s the same way as DVB-S excepted that you need other informations for
+tuning your card.
+</p>
+</li>
+</ul></div>
+<div class="paragraph"><p>You can find these informations in : <tt>/usr/share/doc/dvb-utils/examples/scan/dvb-t/</tt> if you installed the dvb-utils
+package</p></div>
+<div class="paragraph"><p>Your config file will be :</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><tt>autoconfiguration=2
+freq=__frequency in kHz__</tt></pre>
+</div></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">If your bandwith is different from 8Mhz or if you experience tuning issues,
+look for the following parameters in README_CONF : bandwidth, qam, trans_mode,
+guardinterval, coderate</td>
+</tr></table>
+</div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">The SAP (session announcement protocol) announces will be sent automatically.</td>
+</tr></table>
+</div>
+</div>
+<h2 id="_troubleshooting">4. Troubleshooting</h2>
+<div class="sectionbody">
+<div class="ulist"><ul>
+<li>
+<p>
+Try adding -v to the mumudvb command line to have more detailled messages
+</p>
+</li>
+<li>
+<p>
+If you experience tuning issues, try with other dvb software like scan or
+szap and check your parameters
+</p>
+</li>
+<li>
+<p>
+If it still don&#8217;t work, look at common issues in the README and you can
+contact (see the README for getting the e-mail addresses)
+</p>
+</li>
+</ul></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">When contacting about an issue, please join the config file used and the output of MuMuDVB in verbose mode ( -vvv on the command line) and any other information that could be useful.</td>
+</tr></table>
+</div>
+</div>
+<div id="footer">
+<div id="footer-text">
+Last updated 2009-06-29 08:16:31 CEST
+</div>
+</div>
+</body>
+</html>
diff --git a/doc/html/README-fr.html b/doc/html/README-fr.html
new file mode 100644
index 0000000..a9770a7
--- /dev/null
+++ b/doc/html/README-fr.html
@@ -0,0 +1,1363 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
+    "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<meta name="generator" content="AsciiDoc 8.4.4" />
+<title>MuMuDVB - README</title>
+<style type="text/css">
+/* Debug borders */
+p, li, dt, dd, div, pre, h1, h2, h3, h4, h5, h6 {
+/*
+  border: 1px solid red;
+*/
+}
+
+body {
+  margin: 1em 5% 1em 5%;
+}
+
+a {
+  color: blue;
+  text-decoration: underline;
+}
+a:visited {
+  color: fuchsia;
+}
+
+em {
+  font-style: italic;
+  color: navy;
+}
+
+strong {
+  font-weight: bold;
+  color: #083194;
+}
+
+tt {
+  color: navy;
+}
+
+h1, h2, h3, h4, h5, h6 {
+  color: #527bbd;
+  font-family: sans-serif;
+  margin-top: 1.2em;
+  margin-bottom: 0.5em;
+  line-height: 1.3;
+}
+
+h1, h2, h3 {
+  border-bottom: 2px solid silver;
+}
+h2 {
+  padding-top: 0.5em;
+}
+h3 {
+  float: left;
+}
+h3 + * {
+  clear: left;
+}
+
+div.sectionbody {
+  font-family: serif;
+  margin-left: 0;
+}
+
+hr {
+  border: 1px solid silver;
+}
+
+p {
+  margin-top: 0.5em;
+  margin-bottom: 0.5em;
+}
+
+ul, ol, li > p {
+  margin-top: 0;
+}
+
+pre {
+  padding: 0;
+  margin: 0;
+}
+
+span#author {
+  color: #527bbd;
+  font-family: sans-serif;
+  font-weight: bold;
+  font-size: 1.1em;
+}
+span#email {
+}
+span#revision {
+  font-family: sans-serif;
+}
+
+div#footer {
+  font-family: sans-serif;
+  font-size: small;
+  border-top: 2px solid silver;
+  padding-top: 0.5em;
+  margin-top: 4.0em;
+}
+div#footer-text {
+  float: left;
+  padding-bottom: 0.5em;
+}
+div#footer-badges {
+  float: right;
+  padding-bottom: 0.5em;
+}
+
+div#preamble {
+  margin-top: 1.5em;
+  margin-bottom: 1.5em;
+}
+div.tableblock, div.imageblock, div.exampleblock, div.verseblock,
+div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,
+div.admonitionblock {
+  margin-top: 1.5em;
+  margin-bottom: 1.5em;
+}
+div.admonitionblock {
+  margin-top: 2.5em;
+  margin-bottom: 2.5em;
+}
+
+div.content { /* Block element content. */
+  padding: 0;
+}
+
+/* Block element titles. */
+div.title, caption.title {
+  color: #527bbd;
+  font-family: sans-serif;
+  font-weight: bold;
+  text-align: left;
+  margin-top: 1.0em;
+  margin-bottom: 0.5em;
+}
+div.title + * {
+  margin-top: 0;
+}
+
+td div.title:first-child {
+  margin-top: 0.0em;
+}
+div.content div.title:first-child {
+  margin-top: 0.0em;
+}
+div.content + div.title {
+  margin-top: 0.0em;
+}
+
+div.sidebarblock > div.content {
+  background: #ffffee;
+  border: 1px solid silver;
+  padding: 0.5em;
+}
+
+div.listingblock > div.content {
+  border: 1px solid silver;
+  background: #f4f4f4;
+  padding: 0.5em;
+}
+
+div.quoteblock {
+  padding-left: 2.0em;
+  margin-right: 10%;
+}
+div.quoteblock > div.attribution {
+  padding-top: 0.5em;
+  text-align: right;
+}
+
+div.verseblock {
+  padding-left: 2.0em;
+  margin-right: 10%;
+}
+div.verseblock > div.content {
+  white-space: pre;
+}
+div.verseblock > div.attribution {
+  padding-top: 0.75em;
+  text-align: left;
+}
+/* DEPRECATED: Pre version 8.2.7 verse style literal block. */
+div.verseblock + div.attribution {
+  text-align: left;
+}
+
+div.admonitionblock .icon {
+  vertical-align: top;
+  font-size: 1.1em;
+  font-weight: bold;
+  text-decoration: underline;
+  color: #527bbd;
+  padding-right: 0.5em;
+}
+div.admonitionblock td.content {
+  padding-left: 0.5em;
+  border-left: 2px solid silver;
+}
+
+div.exampleblock > div.content {
+  border-left: 2px solid silver;
+  padding: 0.5em;
+}
+
+div.imageblock div.content { padding-left: 0; }
+div.imageblock img { border: 1px solid silver; }
+span.image img { border-style: none; }
+
+dl {
+  margin-top: 0.8em;
+  margin-bottom: 0.8em;
+}
+dt {
+  margin-top: 0.5em;
+  margin-bottom: 0;
+  font-style: normal;
+  color: navy;
+}
+dd > *:first-child {
+  margin-top: 0.1em;
+}
+
+ul, ol {
+    list-style-position: outside;
+}
+ol.arabic {
+  list-style-type: decimal;
+}
+ol.loweralpha {
+  list-style-type: lower-alpha;
+}
+ol.upperalpha {
+  list-style-type: upper-alpha;
+}
+ol.lowerroman {
+  list-style-type: lower-roman;
+}
+ol.upperroman {
+  list-style-type: upper-roman;
+}
+
+div.compact ul, div.compact ol,
+div.compact p, div.compact p,
+div.compact div, div.compact div {
+  margin-top: 0.1em;
+  margin-bottom: 0.1em;
+}
+
+div.tableblock > table {
+  border: 3px solid #527bbd;
+}
+thead {
+  font-family: sans-serif;
+  font-weight: bold;
+}
+tfoot {
+  font-weight: bold;
+}
+td > div.verse {
+  white-space: pre;
+}
+p.table {
+  margin-top: 0;
+}
+/* Because the table frame attribute is overriden by CSS in most browsers. */
+div.tableblock > table[frame="void"] {
+  border-style: none;
+}
+div.tableblock > table[frame="hsides"] {
+  border-left-style: none;
+  border-right-style: none;
+}
+div.tableblock > table[frame="vsides"] {
+  border-top-style: none;
+  border-bottom-style: none;
+}
+
+
+div.hdlist {
+  margin-top: 0.8em;
+  margin-bottom: 0.8em;
+}
+div.hdlist tr {
+  padding-bottom: 15px;
+}
+dt.hdlist1.strong, td.hdlist1.strong {
+  font-weight: bold;
+}
+td.hdlist1 {
+  vertical-align: top;
+  font-style: normal;
+  padding-right: 0.8em;
+  color: navy;
+}
+td.hdlist2 {
+  vertical-align: top;
+}
+div.hdlist.compact tr {
+  margin: 0;
+  padding-bottom: 0;
+}
+
+.comment {
+  background: yellow;
+}
+
+ at media print {
+  div#footer-badges { display: none; }
+}
+
+div#toctitle {
+  color: #527bbd;
+  font-family: sans-serif;
+  font-size: 1.1em;
+  font-weight: bold;
+  margin-top: 1.0em;
+  margin-bottom: 0.1em;
+}
+
+div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 {
+  margin-top: 0;
+  margin-bottom: 0;
+}
+div.toclevel2 {
+  margin-left: 2em;
+  font-size: 0.9em;
+}
+div.toclevel3 {
+  margin-left: 4em;
+  font-size: 0.9em;
+}
+div.toclevel4 {
+  margin-left: 6em;
+  font-size: 0.9em;
+}
+/* Workarounds for IE6's broken and incomplete CSS2. */
+
+div.sidebar-content {
+  background: #ffffee;
+  border: 1px solid silver;
+  padding: 0.5em;
+}
+div.sidebar-title, div.image-title {
+  color: #527bbd;
+  font-family: sans-serif;
+  font-weight: bold;
+  margin-top: 0.0em;
+  margin-bottom: 0.5em;
+}
+
+div.listingblock div.content {
+  border: 1px solid silver;
+  background: #f4f4f4;
+  padding: 0.5em;
+}
+
+div.quoteblock-attribution {
+  padding-top: 0.5em;
+  text-align: right;
+}
+
+div.verseblock-content {
+  white-space: pre;
+}
+div.verseblock-attribution {
+  padding-top: 0.75em;
+  text-align: left;
+}
+
+div.exampleblock-content {
+  border-left: 2px solid silver;
+  padding-left: 0.5em;
+}
+
+/* IE6 sets dynamically generated links as visited. */
+div#toc a:visited { color: blue; }
+</style>
+<script type="text/javascript">
+/*<![CDATA[*/
+window.onload = function(){generateToc(2)}
+/* Author: Mihai Bazon, September 2002
+ * http://students.infoiasi.ro/~mishoo
+ *
+ * Table Of Content generator
+ * Version: 0.4
+ *
+ * Feel free to use this script under the terms of the GNU General Public
+ * License, as long as you do not remove or alter this notice.
+ */
+
+ /* modified by Troy D. Hanson, September 2006. License: GPL */
+ /* modified by Stuart Rackham, October 2006. License: GPL */
+
+function getText(el) {
+  var text = "";
+  for (var i = el.firstChild; i != null; i = i.nextSibling) {
+    if (i.nodeType == 3 /* Node.TEXT_NODE */) // IE doesn't speak constants.
+      text += i.data;
+    else if (i.firstChild != null)
+      text += getText(i);
+  }
+  return text;
+}
+
+function TocEntry(el, text, toclevel) {
+  this.element = el;
+  this.text = text;
+  this.toclevel = toclevel;
+}
+
+function tocEntries(el, toclevels) {
+  var result = new Array;
+  var re = new RegExp('[hH]([2-'+(toclevels+1)+'])');
+  // Function that scans the DOM tree for header elements (the DOM2
+  // nodeIterator API would be a better technique but not supported by all
+  // browsers).
+  var iterate = function (el) {
+    for (var i = el.firstChild; i != null; i = i.nextSibling) {
+      if (i.nodeType == 1 /* Node.ELEMENT_NODE */) {
+        var mo = re.exec(i.tagName)
+        if (mo)
+          result[result.length] = new TocEntry(i, getText(i), mo[1]-1);
+        iterate(i);
+      }
+    }
+  }
+  iterate(el);
+  return result;
+}
+
+// This function does the work. toclevels = 1..4.
+function generateToc(toclevels) {
+  var toc = document.getElementById("toc");
+  var entries = tocEntries(document.getElementsByTagName("body")[0], toclevels);
+  for (var i = 0; i < entries.length; ++i) {
+    var entry = entries[i];
+    if (entry.element.id == "")
+      entry.element.id = "toc" + i;
+    var a = document.createElement("a");
+    a.href = "#" + entry.element.id;
+    a.appendChild(document.createTextNode(entry.text));
+    var div = document.createElement("div");
+    div.appendChild(a);
+    div.className = "toclevel" + entry.toclevel;
+    toc.appendChild(div);
+  }
+  if (entries.length == 0)
+    document.getElementById("header").removeChild(toc);
+}
+/*]]>*/
+</script>
+</head>
+<body>
+<div id="header">
+<h1>MuMuDVB - README</h1>
+<span id="author">Brice Dubost</span><br />
+<span id="email"><tt>&lt;<a href="mailto:mumudvb at braice.net">mumudvb at braice.net</a>&gt;</tt></span><br />
+Version 1.6
+<div id="toc">
+  <div id="toctitle">Table of Contents</div>
+  <noscript><p><b>JavaScript must be enabled in your browser to display the table of contents.</b></p></noscript>
+</div>
+</div>
+<div id="preamble">
+<div class="sectionbody">
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">Une version HTML de ce fichier est disponible sur <a href="http://mumudvb.braice.net">le site web de MuMuDVB</a>.</td>
+</tr></table>
+</div>
+<div class="imageblock">
+<div class="content">
+<img src="http://mumudvb.braice.net/mumudvb/logo_mumu_wiki.png" alt="http://mumudvb.braice.net/mumudvb/logo_mumu_wiki.png"/>
+</div>
+</div>
+</div>
+</div>
+<h2 id="_pr_sentation">1. Présentation</h2>
+<div class="sectionbody">
+<h3 id="_description">1.1. Description</h3><div style="clear:left"></div>
+<div class="paragraph"><p>MuMuDVB (Multi Multicast DVB) est, à l&#8217;origine, une modification de dvbstream pour le <a href="http://www.crans.org">cr at ns</a>. Nous avons décidé de redistribuer le projet.</p></div>
+<div class="paragraph"><p>MuMuDVB est un projet indépendant.</p></div>
+<div class="paragraph"><p>MuMuDVB est un programme qui rediffuse des flux (chaînes de télévision) depuis une carte DVB (télévision numérique) sur un réseau en utilisant du multicast ou de l&#8217;unicast HTTP. Il peut diffuser un transpondeur (ensemble de chaînes regroupées sur une même fréquence) entier en assignant une ip multicast par chaîne.</p></div>
+<h3 id="_site_web">1.2. Site Web</h3><div style="clear:left"></div>
+<div class="paragraph"><p><a href="http://mumudvb.braice.net">Site principal de MuMuDVB</a></p></div>
+</div>
+<h2 id="_auteurs_et_contacts">2. Auteurs et contacts</h2>
+<div class="sectionbody">
+<div class="ulist"><div class="title">Auteur principal</div><ul>
+<li>
+<p>
+<a href="mailto:mumudvb at braice.net">Brice Dubost</a>
+</p>
+</li>
+</ul></div>
+<div class="ulist"><div class="title">Contributeurs</div><ul>
+<li>
+<p>
+<a href="mailto:manu at REMOVEMEcrans.ens-cachan.fr">Manuel Sabban</a> (getopt)
+</p>
+</li>
+<li>
+<p>
+<a href="mailto:glondu at REMOVEMEcrans.ens-cachan.fr">Stéphane Glondu</a> (makefile cleaning, man page, debian package)
+</p>
+</li>
+<li>
+<p>
+Special thanks to Dave Chapman (dvbstream author)
+</p>
+</li>
+<li>
+<p>
+Pierre Gronlier, Sébastien Raillard
+</p>
+</li>
+</ul></div>
+<div class="ulist"><div class="title">Liste de discussion</div><ul>
+<li>
+<p>
+<a href="mailto:mumudvb-dev at REMOVEMElists.crans.org">MuMuDVB dev</a>
+</p>
+</li>
+<li>
+<p>
+<a href="https://lists.crans.org/listinfo/mumudvb-dev">Information et inscriptions à la liste MuMuDVB dev</a>
+</p>
+</li>
+</ul></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">Lorsque vous contactez à propos d&#8217;un problème, n&#8217;oubliez pas de joindre le fichier de configuration utilisé et la sortie de MuMuDVB en mode verbeux ( -vvv sur la ligne de commande ) ajoutez y toute information qui pourrait être utile. Merci.</td>
+</tr></table>
+</div>
+</div>
+<h2 id="_fonctionnalit_s">3. Fonctionnalités</h2>
+<div class="sectionbody">
+<h3 id="_fonctionalit_s_principales">3.1. Fonctionalités principales</h3><div style="clear:left"></div>
+<div class="ulist"><ul>
+<li>
+<p>
+Diffuse les chaînes d&#8217;un transpondeur vers différents groupes (adresses IP) multicast.
+</p>
+</li>
+<li>
+<p>
+MuMuDVB peux réécrire le PID PAT (table d&#8217;allocation des programmes) pour n&#8217;annoncer que les chaînes présentes (utile pour certaines set-top box). Voir la section <a href="#pat_rewrite">réécriture du PAT</a>.
+</p>
+</li>
+<li>
+<p>
+Support des chaines cryptées (si vous n&#8217;avez pas de CAM vous pouvez utiliser sasc-ng mais vérifiez que c&#8217;est autorisé dans votre pays/par votre abonnement)
+</p>
+</li>
+<li>
+<p>
+Configuration automatique, i.e. dçouverte automatique des chaînes, référez-vous à la section <a href="#autoconfiguration">Autoconfiguration</a>.
+</p>
+</li>
+<li>
+<p>
+Génération des annonces SAP, voir la section <a href="#sap">annonces SAP</a>.
+</p>
+</li>
+<li>
+<p>
+Support pour DVB-S (satellite), DVB-C (cable), DVB-T (terrestre) et ATSC (terrestre ou cable en amérique du nord)
+</p>
+</li>
+<li>
+<p>
+Support pour l&#8217;unicast HTTP. voir la section <a href="#unicast">unicast HTTP</a>
+</p>
+</li>
+<li>
+<p>
+Support pour les en-têtes RTP (seulement pour la diffusion en multicast)
+</p>
+</li>
+</ul></div>
+<h3 id="_liste_d_taill_e_des_fonctionalit_s">3.2. Liste détaillée des fonctionalités</h3><div style="clear:left"></div>
+<div class="ulist"><ul>
+<li>
+<p>
+Possibilité de montrer le niveau de réception pendant la diffusion
+</p>
+</li>
+<li>
+<p>
+Montre si les chaines sont désembrouillées avec succès par le module CAM
+</p>
+</li>
+<li>
+<p>
+Génère une liste des chaines "actives" et "inactives" en temps réel
+</p>
+</li>
+<li>
+<p>
+Peut se transformer en démon et écrire sont identifiant de processus dans un fichier
+</p>
+</li>
+<li>
+<p>
+Supporte les LNB standards et universels
+</p>
+</li>
+<li>
+<p>
+Peux s&#8217;arréter automatiquement après un certain délai si aucune donnée n&#8217;est reçue.
+</p>
+</li>
+<li>
+<p>
+Arrête d&#8217;essayer d&#8217;accorder la carte après un délai configurable
+</p>
+</li>
+<li>
+<p>
+Les PIDs obligatoire sont transmis avec toutes les chaînes :
+</p>
+<div class="ulist"><ul>
+<li>
+<p>
+PAT (0): Program Association Table : Contient la liste des programmes et leurs PIDs PMT.
+</p>
+</li>
+<li>
+<p>
+CAT (1): Conditionnal Access Table : Contient des informations concernant les chaînes brouillées.
+</p>
+</li>
+<li>
+<p>
+NIT (16) : Network Information Table : Fournit des informations à propos du réseau physique.
+</p>
+</li>
+<li>
+<p>
+SDT (17) : Service Description Table : Le pid SDT contient des données décrivant les différents services ex : nom des services, fournisseur du service, etc.
+</p>
+</li>
+<li>
+<p>
+EIT (18) : Event Information Table : Le pid EIT contient des données concernant les programmes comme : le nom du programme, l&#8217;heure de début, la durée, une description etc &#8230;
+</p>
+</li>
+<li>
+<p>
+TDT (20): Time and Date Table : Le pid TDT contient l&#8217;heure et la date. Cette information est dans un pid à part car sa mise à jour est fréquente.
+</p>
+</li>
+</ul></div>
+</li>
+<li>
+<p>
+Peux s&#8217;inscrire à tous les groupes multicast (IGMP membership request) pour éviter que certains switchs ne broadcastent les paquets. Se référer à la section <a href="#problems_hp">problèmes avec certains switchs HP</a>.
+</p>
+</li>
+<li>
+<p>
+Supporte l&#8217;autoconfiguration, pour plus de détails voir la section <a href="#autoconfiguration">Autoconfiguration</a>
+</p>
+<div class="ulist"><ul>
+<li>
+<p>
+En mode d&#8217;autoconfiguration, MuMuDVB suit les changements dans les PIDs des chaînes et se met a jour automatiquement.
+</p>
+</li>
+</ul></div>
+</li>
+<li>
+<p>
+Scripts d&#8217;initialisation style Debian
+</p>
+</li>
+<li>
+<p>
+Peut utiliser une carte accordée par un autre programme. Ceci est utile pour le DVB-S2 qui n&#8217;est pas encore supporté nativement
+</p>
+</li>
+<li>
+<p>
+La taille du tampon peux être réglée pour réduire l&#8217;utilisation processeur. Voir la section <a href="#reduce_cpu">réduire l&#8217;utilisation processseur</a>
+</p>
+</li>
+<li>
+<p>
+Peux ne pas envoyer les paquets brouillés
+</p>
+</li>
+<li>
+<p>
+Détecte automatiquement si une chaîne est brouillée
+</p>
+</li>
+<li>
+<p>
+Peut réinitialiser le module CAM si l&#8217;initialisation échoue
+</p>
+</li>
+</ul></div>
+<div class="paragraph"><p>D&#8217;autres petits programmes sont disponibles depuis le <a href="http://gitweb.braice.net/gitweb?p=mumudvb_tools;a=summary">dépot MuMuDVB Tools</a> :</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+relay: ce programme s&#8217;inscrit a un flux multicast et le renvoie sur une autre adresse. Il peux être utilisé pour traverser des réseaux ne supportant pas le multicast.
+</p>
+</li>
+<li>
+<p>
+recup_sap: très petit et basique client sap. Récupère les annonces pendant 60 secondes et les place dans un fichier.
+</p>
+</li>
+</ul></div>
+</div>
+<h2 id="_installation">4. Installation</h2>
+<div class="sectionbody">
+<h3 id="_partir_des_sources">4.1. À partir des sources</h3><div style="clear:left"></div>
+<h4 id="_partir_d_8217_un_snapshot">4.1.1. À partir d&#8217;un snapshot</h4>
+<div class="paragraph"><p>Si vous avez téléchargé un snapshot, vous devez regénérer les fichiers d&#8217;auto(conf make etc &#8230;). Pour faire cela, vous avec besoin des autotools et automake et taper, dans le répertoire de MuMuDVB :</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><tt>autoreconf -i -f</tt></pre>
+</div></div>
+<div class="paragraph"><p>Ainsi vous aurez un source qui peux être installé comme un source "relase"</p></div>
+<h4 id="_partir_d_8217_une_release">4.1.2. À partir d&#8217;une "release"</h4>
+<div class="paragraph"><p>Pour installer MuMuDVB, tapez :</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><tt>$ ./configure [options pour configure]
+$ make
+# make install</tt></pre>
+</div></div>
+<div class="paragraph"><p>Les <tt>[options pour configure]</tt> spécifiques à MuMuDVB sont :</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><tt>  --enable-cam-support    Support pour les modules CAM (actif par défaut)
+  --enable-coverage       Compiler avec le support pour les tests de couverture du code (désactivé par défaut)
+  --enable-duma           Librairie de debug DUMA (désactivé par défaut)</tt></pre>
+</div></div>
+<div class="paragraph"><p>Vous pouvez obtenir la liste de toutes les options de configure en tapant</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><tt>$ ./configure --help</tt></pre>
+</div></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">Le support pour les modules CAM dépends des librairies libdvben50221, libucsi ( des dvb-apps de linuxtv ) et libpthread. Le script configure détectera la présence de ces librairies et désactivera le support pour les modules CAM si l&#8217;une d&#8217;elle est absente.</td>
+</tr></table>
+</div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">Le décodage des noms de chaîne longs pour l&#8217;autocoonfiguration en ATSC dépends de la librairie libucsi ( des dvb-apps de linuxtv ). Le script configure détectera la présence de cette librairies et désactivera le support pour les noms longs si elle est absente. L&#8217;autoconfiguration complète fonctionnera toujours avec l&#8217;ATSC mais les noms de chaîne seront des noms courts ( 7 caractères maximum ).</td>
+</tr></table>
+</div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">Si vous voulez compiler la documentation i.e. générer des fichiers HTML avec asciidoc, tapez <tt>make doc</tt>. Le rendu des table fonctionnera avec asciidoc 8.4.4 ( il peux fonctionner avec des versions plus faibles mais il n&#8217;a pas été testé ).</td>
+</tr></table>
+</div>
+<div class="paragraph"><p>Pour installer les scripts d&#8217;initialisation ( style debian ) tapez :</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><tt># cp scripts/debian/etc/default/mumudvb /etc/default/mumudvb
+# cp scripts/debian/etc/init.d/mumudvb /etc/init.d/mumudvb</tt></pre>
+</div></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">Il est conseillé de créer un utilisateur système pour MuMuDVB, par exemple : <tt>_mumudvb</tt>. Vous devez ajouter cet utilisateur au groupe vidéo et rendre le répertoire <tt>/var/run/mumudvb</tt> en lecture-écriture pour cet utilisateur. En faisant cela, vous pourrez profiter de toutes les fonctionnalités de MuMuDVB.</td>
+</tr></table>
+</div>
+<h3 id="_partir_du_paquet_debian">4.2. À partir du paquet Debian</h3><div style="clear:left"></div>
+<div class="paragraph"><p>Si vous voulez installer une version qui n&#8217;est pas dans vos dépôts, vous pouvez le faire à la main en tapant :</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><tt># dpkg -i mumudvb*.deb</tt></pre>
+</div></div>
+<div class="paragraph"><p>Sinon vous pouvez utiliser aptitude ou synaptic.</p></div>
+</div>
+<h2 id="_utilisation">5. Utilisation</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>La documentation concernant la syntaxe du fichier de configuration est dans le fichier <tt>doc/README_CONF-fr.txt</tt> ( <a href="README_CONF-fr.html">Version HTML</a> ).</p></div>
+<div class="paragraph"><p>Utilisation:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><tt>mumudvb [options] -c fichier_de_configuration
+mumudvb [options] --config fichier_de_configuration</tt></pre>
+</div></div>
+<div class="paragraph"><p>Les différentes options sont :</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><tt>-d, --debug
+        Ne se met pas en tâche de fond et affiche les messages sur la sortie standard.
+
+-s, --signal
+        Affiche la force du signal toutes les 5 secondes
+
+-t, --traffic
+        Affiche toutes les 10 secondes la bande passante prise par chaque chaîne
+
+-h, --help
+        Montre l'aide ( en Anglais )
+
+-v
+        Plus verbeux ( ajouter plusieurs v pour plus de verbosité )
+
+-q
+        Plus silencieux ( ajouter pour rendre encore plus silencieux )</tt></pre>
+</div></div>
+<div class="paragraph"><p>Signal: ( voir kill(1) )</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><tt>    SIGUSR1: bascule l'affichage de la force du signal
+    SIGUSR2: bascule l'affichage du traffic</tt></pre>
+</div></div>
+</div>
+<h2 id="autoconfiguration">6. Autoconfiguration</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>MuMuDVB est capable de trouver les différentes chaînes dans le transpondeur et leur PIDs ( Program IDentifiers ).</p></div>
+<div class="paragraph"><p>Sans l&#8217;autoconfiguration, vous devez spécifier les paramètres du transpondeur et, pour chaque chaîne, l&#8217;ip de multicast, le nom et les PIDs ( PMT, audio, vidéo, télétexte etc&#8230; ).</p></div>
+<div class="paragraph"><p>À la fin de l&#8217;autoconfiguration MuMuDVB génère un fichier de configuration avec les paramètres obtenus. Le fichier généré est : <tt>/var/run/mumudvb/mumudvb_generated_conf_card%d</tt></p></div>
+<div class="paragraph"><p>Si les PIDs sont changés, MuMuDVB mettra automatiquement à jour les chaînes sauf si vous mettez <tt>autoconf_pid_update=0</tt> dans votre fichier de configuration.</p></div>
+<div class="paragraph"><p>MuMuDVB est capable de s&#8217;autoconfigurer de deux manières différentes :</p></div>
+<h3 id="_autoconfiguration_compl_te">6.1. Autoconfiguration "complète"</h3><div style="clear:left"></div>
+<div class="paragraph"><p>C&#8217;est la manière la plus simple pour utiliser MuMuDVB.</p></div>
+<div class="paragraph"><p>Utilisez ce mode lorsque vous voulez diffuser un transpondeur entier.</p></div>
+<div class="paragraph"><p>Dans ce mode, MuMuDVB trouvera pour vous les différentes chaînes, leurs noms et leurs PIDs (PMT, PCR, Audio, Vidéo, Sous-titres, Télétexte et AC3).</p></div>
+<div class="paragraph"><p>Pour utiliser ce mode, vous devez :
+- Définir les paramètres d&#8217;accord dans votre fichier de configuration
+- Ajouter <tt>autoconfiguration=2</tt> à votre fichier de configuration
+- Vous n&#8217;avez a spécifier aucune chaîne
+- Pour une première utilisation, n&#8217;oubliez pas d&#8217;ajouter la paramètre <tt>-d</tt> lorsque vous lancez MuMuDVB :
+   ex <tt>mumudvb -d -c your_config_file</tt></p></div>
+<div class="listingblock">
+<div class="title">Example Fichier de configuration pour une réception satellite à une fréquence de 11.296GHz et une polarisation horizontale</div>
+<div class="content">
+<pre><tt>freq=11296
+pol=h
+srate=27500
+autoconfiguration=2</tt></pre>
+</div></div>
+<div class="paragraph"><p>Les chaînes seront diffusées sur les adresses ip de multicast 239.100.c.n où c est le numéro de carte ( 0 par défaut ) et n est le numéro de chaîne.</p></div>
+<div class="paragraph"><p>Si vous n&#8217;utilisez pas l&#8217;option common_port, MuMuDVB utilisera le port 1234.</p></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">Par défaut, les annnonces SAP sont activées si vous utilisez ce mode d&#8217;autoconfiguration. Pour les désactiver, ajoutez <tt>sap=0</tt> après la ligne <tt>autoconfiguration=2</tt>.</td>
+</tr></table>
+</div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">Un fichier de configuration d&#8217;exemple, documenté (en anglais) peux être est disponible : <tt>doc/configuration_examples/autoconf_full.conf</tt></td>
+</tr></table>
+</div>
+<h3 id="autoconfiguration_simple">6.2. Autoconfiguration "simple"</h3><div style="clear:left"></div>
+<div class="paragraph"><p>Utilisez ce mode lorsque vous voulez contrôler le nom des chaînes et quelle chaînes vous voulez diffuser.</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+Vous devez ajouter <em>autoconfiguration=1</em> dans le début de votre fichier de configuration.
+</p>
+</li>
+<li>
+<p>
+Pour chaque chaîne, vous devez préciser :
+</p>
+<div class="ulist"><ul>
+<li>
+<p>
+L&#8217;adresse IP
+</p>
+</li>
+<li>
+<p>
+Le nom
+</p>
+</li>
+<li>
+<p>
+Le PID PMT
+</p>
+</li>
+</ul></div>
+</li>
+</ul></div>
+<div class="paragraph"><p>MuMuDVB trouvera les PIDs audio, vidéo, PCR, télétexte, sous-titres et AC3 avant de diffuser.</p></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">Si vous mettez plus d&#8217;un PID pour une chaîne, MuMuDVB désactivera l&#8217;autoconfiguration pour cette chaîne.</td>
+</tr></table>
+</div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">Un fichier de configuration détaillé et documenté (en anglais) se trouve à l&#8217;emplacement : <tt>doc/configuration_examples/autoconf1.conf</tt></td>
+</tr></table>
+</div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">L&#8217;autoconfiguration simple peut ne pas réussir à trouver les bon PIDs si le PID PMT est partagé entre plusieurs chaînes. Dans ce cas, vous devez spécifier le numéro de programme ( transport stream identifier ou stream identifier ) via l&#8217;option <tt>ts_id</tt>.</td>
+</tr></table>
+</div>
+</div>
+<h2 id="sap">7. Annonces SAP</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Les annonces SAP (Session Announcement Protocol) ont été conçues pour que le client obtienne automatiquement la liste des chaînes diffusées et leurs adresses. Ceci permet d'éviter d&#8217;avoir a donner la liste des adresses ip de multicast a chaque client.</p></div>
+<div class="paragraph"><p>VLC et la plupart des set-top boxes supportent les annonces SAP.</p></div>
+<div class="paragraph"><p>MuMuDVB générera et enverra les annonces SAP si cela est demandé via le fichier de configuration ou en mode d&#8217;autoconfiguration complète.</p></div>
+<div class="paragraph"><p>Les annonces SAP seront envoyées uniquement pour les chaînes actives. Quand une chaîne devient inactive, MuMuDVB arrête automatiquement d&#8217;envoyer les annonces pour cette chaîne jusqu'à ce qu&#8217;elle redevienne active.</p></div>
+<h3 id="_demander_mumudvb_de_g_n_rer_les_annonces_sap">7.1. Demander à MuMuDVB de générer les annonces SAP</h3><div style="clear:left"></div>
+<div class="paragraph"><p>Pour envoyer les annonces SAP, vous devez ajouter <tt>sap=1</tt> à votre fichier de configuration. Les autres paramètres concernant les annonces SAP sont documentés dans le fichier <tt>doc/README_CONF-fr</tt> ( <a href="README_CONF-fr.html">Version HTML</a> ).</p></div>
+<h3 id="_configurer_le_client_pour_recevoir_les_annonces_sap">7.2. Configurer le client pour recevoir les annonces SAP</h3><div style="clear:left"></div>
+<h4 id="_vlc_gt_0_8_2">7.2.1. VLC &gt; 0.8.2</h4>
+<div class="paragraph"><p>Vous devez aller dans paramètres, puis paramètres avancés. Les annonces SAP peuvent êtres activés dans liste de lecture &#8594; découverte de services.</p></div>
+<div class="paragraph"><p>N&#8217;oubliez pas de sauvegarder les paramètres.</p></div>
+<div class="paragraph"><p>Vous devriez avoir désormais une section SAP dans votre liste de lecture.</p></div>
+<h4 id="_vlc_lt_0_8_2">7.2.2. VLC &lt; 0.8.2</h4>
+<div class="paragraph"><p>Allez dans le menu <tt>paramètres</tt> puis <tt>ajouter une interface</tt> et choisissez <tt>liste de lecture SAP</tt>, Désormais, lorsque vous ouvrez la liste de lecture, les annonces SAP devraient apparaître automatiquement.</p></div>
+</div>
+<h2 id="unicast">8. Unicast HTTP</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>En plus du multicast, MuMuDVB supporte aussi l&#8217;unicast HTTP. Cela vous permet d&#8217;utiliser MuMuDVB à travers des réseau qui ne supportent pas le multicast.</p></div>
+<div class="paragraph"><p>Il y a une connexion en écoute, la chaîne est sélectionnée par le chemin HTTP, voir plus loin.</p></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">Rappelez vous que l&#8217;unicast peut consommer beaucoup de bande passante. Pensez à limiter le nombre de clients.</td>
+</tr></table>
+</div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">Si vous ne voulez pas que le flux multicast (toujours présent) aille sur votre réseau, utilisez l&#8217;option <tt>multicast_ttl=0</tt></td>
+</tr></table>
+</div>
+<h3 id="_activer_l_8217_unicast_http">8.1. Activer l&#8217;unicast HTTP</h3><div style="clear:left"></div>
+<div class="paragraph"><p>Pour activer l&#8217;unicast HTTP vous devez définir l&#8217;option <tt>ip_http</tt>. Cette option vous permet de définir l&#8217;adresse IP sur laquelle vous voulez écouter les connections entrantes. Si vous voulez écouter sur toutes vos interfaces, mettez <tt>0.0.0.0</tt>.</p></div>
+<div class="paragraph"><p>Vous pouvez aussi définir le port d'écoute en utilisant l&#8217;option <tt>port_http</tt>. Si le port n&#8217;est pas défini, MuMuDVB utilisera le port par défaut : 4242.</p></div>
+<h3 id="_activer_l_8217_unicast_par_cha_ne">8.2. Activer l&#8217;unicast par chaîne</h3><div style="clear:left"></div>
+<div class="paragraph"><p>Vous pouvez créer des connections en écoute seulement pour une chaîne. Dans ce cas, quand un client se connecte dessus, il obtiendra toujours la même chaîne indépendamment du chemin HTTP.</p></div>
+<h4 id="_vous_utilisez_l_8217_autoconfiguration_compl_te">8.2.1. Vous utilisez l&#8217;autoconfiguration complète</h4>
+<div class="paragraph"><p>Vous devez définir l&#8217;option <tt>autoconf_unicast_start_port</tt> qui précise quel sera le port d'écoute pour la première chaîne découverte ( le port sera incrémenté pour chaque chaîne ).</p></div>
+<h4 id="_vous_n_8217_utilisez_pas_l_8217_autoconfiguration_compl_te">8.2.2. Vous n&#8217;utilisez pas l&#8217;autoconfiguration complète</h4>
+<div class="paragraph"><p>Pour les chaînes pour lesquelles avoir une connexion en écoute, vous devez définir l&#8217;option <tt>unicast_port</tt> qui permet de spécifier le port d'écoute.</p></div>
+<h3 id="_cot_client_les_diff_rentes_m_thodes_pour_obtenir_les_cha_nes">8.3. Coté client, les différentes méthodes pour obtenir les chaînes</h3><div style="clear:left"></div>
+<h4 id="_cas_d_8217_une_connexion_pour_une_cha_ne">8.3.1. Cas d&#8217;une connexion pour une chaîne</h4>
+<div class="paragraph"><p>Si le client se connecte au serveur sur un port qui est pour une seule chaîne, il obtiendra cette chaîne indépendamment du chemin demandé</p></div>
+<div class="paragraph"><p>Si votre serveur écoute sur l&#8217;ip 10.0.0.1 et le port pour la chaîne est 5000,</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><tt>vlc http://10.0.0.1:5000/</tt></pre>
+</div></div>
+<h4 id="_obtenir_les_cha_nes_par_num_ro">8.3.2. Obtenir les chaînes par numéro</h4>
+<div class="paragraph"><p>Vous pouvez obtenir les chaînes en utilisant leur numéro ( la première chaine est numéroté 1 ).</p></div>
+<div class="paragraph"><p>Si votre serveur écoute sur l&#8217;ip 10.0.0.1 et le port 4242,</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><tt>vlc http://10.0.0.1:4242/bynumber/3</tt></pre>
+</div></div>
+<div class="paragraph"><p>vous donnera la chaîne numéro 3. Ceci marche aussi avec xine et mplayer.</p></div>
+<h4 id="_obtenir_les_cha_nes_par_leur_nom">8.3.3. Obtenir les chaînes par leur nom</h4>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">Cette fonctionnalité n&#8217;est pas implémentée pour le moment. Elle sera implémentée dans une prochaine version.</td>
+</tr></table>
+</div>
+<h4 id="_obtenir_la_liste_des_cha_nes">8.3.4. Obtenir la liste des chaînes</h4>
+<div class="paragraph"><p>Si votre serveur écoute sur l&#8217;ip 10.0.0.1 et le port 4242,</p></div>
+<div class="paragraph"><p>Pour obtenir la liste des chaînes ( format HTML "basique" ) entrez l&#8217;adresse <tt>http://10.0.0.1:4242/channels_list.html</tt> dans votre navigateur.</p></div>
+<div class="paragraph"><p>Pour obtenir la liste des chaînes ( en texte brut avec plus de détails que la version HTML ) entrez l&#8217;adresse <tt>http://10.0.0.1:4242/channels_list.txt</tt> dans votre navigateur.</p></div>
+<h3 id="_unicast_http_et_surveillance_de_mumudvb">8.4. Unicast HTTP et surveillance de MuMuDVB</h3><div style="clear:left"></div>
+<div class="paragraph"><p>Cette connexion HTTP peut être utilisée pour surveiller MuMuDVB. Cette fonctionnalité sera implémentée dans un futur proche. Merci de signaler quelles informations pourraient vous intéresser.</p></div>
+</div>
+<h2 id="_surveillance_de_mumudvb">9. Surveillance de MuMuDVB</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Vous pouvez utiliser <a href="http://mmonit.com/monit/">Monit</a> pour surveiller MuMuDVB et le redémarrer lorsqu&#8217;il a des problèmes (MuMuDVB se suicide lorsque de gros problèmes apparaissent).</p></div>
+<div class="paragraph"><p>Vous devez installer les scripts de démarrage ( fait automatiquement si vous utilisez le paquet Debian ) et ajouter les lignes suivantes à votre fichier <tt>/etc/monit/services</tt> :</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><tt>check process mumudvb with pidfile /var/run/mumudvb/mumudvb_carte0.pid
+    start program = "/etc/init.d/mumudvb start"
+    stop program = "/etc/init.d/mumudvb stop"</tt></pre>
+</div></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">Le 0 doit être remplacé par le numéro de votre carte si vous avez plusieurs cartes.</td>
+</tr></table>
+</div>
+<div class="paragraph"><p>Pour plus d&#8217;informations référez vous au <a href="http://mmonit.com/monit/">site web de Monit</a>.</p></div>
+<div class="paragraph"><p>MuMuDVB tourne habituellement pendant des jours sans le moindre problème, mais avec monit vous êtes sur. Monit est aussi capable d&#8217;envoyer des e-mails en cas de problèmes.</p></div>
+</div>
+<h2 id="_support_pour_les_cha_nes_brouill_es">10. Support pour les chaînes brouillées</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Note importante : vérifiez si le contrat avec votre fournisseur de services vous autorise à diffuser les chaînes brouillées.</p></div>
+<h3 id="_d_brouillage_mat_riel">10.1. Débrouillage matériel</h3><div style="clear:left"></div>
+<div class="paragraph"><p>MuMuDVB supporte les chaînes brouillées à l&#8217;aide d&#8217;un décodeur matériel ( un module CAM : Conditionnal Access Module ). MuMuDVB peut demander au module de débrouiller plusieurs chaînes si le module le supporte ( les CAMs Aston Pro ou PowerCam Pro sont capable de débrouiller plusieurs chaînes simultanément).</p></div>
+<div class="paragraph"><p>Si vous êtes limités par le nombre de PIDs que le module CAM peut débrouiller simultanément, il est possible de demander au module de débrouiller seulement les PIDs audio et vidéo. Cette fonctionnalité n&#8217;est pas implémentée, merci de contacter si vous en avez besoin.</p></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">Le débrouillage matériel n&#8217;utilise quasiment aucune puissance processeur, tout le débrouillage est effectué par le module CAM.</td>
+</tr></table>
+</div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">MuMuDVB ne demande pas au module CAM si le débrouillage est possible. Cette fonctionnalité des modules CAM n&#8217;est pas fiable. La plupart des modules CAM répondront par un menu si le débrouillage n&#8217;est pas possible et MuMuDVB l&#8217;affichera sur la sortie standard d&#8217;erreur.</td>
+</tr></table>
+</div>
+<div class="paragraph"><p>Les informations concernant le module CAM sont stockées dans le fichier <em>'</em>/var/run/mumudvb/caminfo_carte%d''' où %d est le numéro de carte DVB.</p></div>
+<div class="listingblock">
+<div class="title">Example</div>
+<div class="content">
+<pre><tt>CAM_Application_Type=01
+CAM_Application_Manufacturer=02ca
+CAM_Manufacturer_Code=3000
+CAM_Menu_String=PowerCam_HD V2.0
+ID_CA_Supported=0100
+ID_CA_Supported=0500</tt></pre>
+</div></div>
+<h4 id="_comment_demander_le_d_brouillage">10.1.1. Comment demander le débrouillage ?</h4>
+<div class="paragraph"><div class="title">Vous utilisez le mode d&#8217;autoconfiguration complet :</div><p>Il vous suffit d&#8217;ajouter <tt>cam_support=1</tt> à votre fichier de configuration.</p></div>
+<div class="ulist"><div class="title">Vous utilisez l&#8217;autoconfiguration partielle ou pas d&#8217;autoconfiguration</div><ul>
+<li>
+<p>
+Ajoutez <tt>cam_support=1</tt> à votre fichier de configuration ( avant la définition des chaînes )
+</p>
+</li>
+<li>
+<p>
+Pour chaque chaîne brouillée, ajoutez l&#8217;option <tt>cam_pmt_pid</tt>. Cette option permet à MuMuDVB de savoir quel PID est le PID PMT. Ce PID sera utilisé pour demander le débrouillage.
+</p>
+</li>
+</ul></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">Vous avez un exemple de fichier de configuration avec le support pour les chaînes brouillées dans <tt>doc/configuration_examples/autoconf1.conf</tt></td>
+</tr></table>
+</div>
+<h3 id="_d_brouillage_logiciel">10.2. Débrouillage logiciel</h3><div style="clear:left"></div>
+<div class="paragraph"><p>Note importante : Cette solution n&#8217;est pas autorisée par certains contrats de fournisseurs de services.</p></div>
+<div class="paragraph"><p>MuMuDVB a été testé avec succès avec des solutions de débrouillage logiciel comme sascng + newcs + dvbloopback.</p></div>
+<div class="paragraph"><p>Dans ce cas, vous n&#8217;avez pas besoin de définir l&#8217;option <tt>cam_support</tt>. Vous devez juste ajuste l&#8217;option <tt>card</tt> pour être en accord avec votre carte virtuelle dvbloopback.</p></div>
+<div class="paragraph"><p>Si vous utilisez ces solutions référez vous à la section <a href="#reduce_cpu">réduire l&#8217;utilisation CPU de MuMuDVB</a>.</p></div>
+<h3 id="_tat_du_d_brouillage">10.3. État du débrouillage</h3><div style="clear:left"></div>
+<div class="paragraph"><p>L'état du débrouillage est stocké avec la liste des chaînes diffusées.</p></div>
+<div class="listingblock">
+<div class="title">Example</div>
+<div class="content">
+<pre><tt>239.100.0.7:1234:ESCALES:PartiallyUnscrambled
+239.100.0.8:1234:Fit/Toute l'Histoire:PartiallyUnscrambled
+239.100.0.9:1234:NT1:PartiallyUnscrambled
+239.100.0.10:1234:ACTION:PartiallyUnscrambled
+239.100.0.11:1234:MANGAS:PartiallyUnscrambled
+239.100.0.12:1234:ENCYCLOPEDIA:PartiallyUnscrambled
+239.100.0.13:1234:XXL PL:PartiallyUnscrambled
+239.100.0.14:1234:France 5:HighlyScrambled
+239.100.0.16:1234:LCP:FullyUnscrambled
+239.100.0.17:1234:VIDEOCLICK:FullyUnscrambled</tt></pre>
+</div></div>
+<div class="ulist"><ul>
+<li>
+<p>
+FullyUnscrambled : Moins de 5% de paquets brouillés
+</p>
+</li>
+<li>
+<p>
+PartiallyUnscrambled : entre 5% et 95% de paquets brouillés
+</p>
+</li>
+<li>
+<p>
+HighlyScrambled : plus de 95% de paquets brouillés
+</p>
+</li>
+</ul></div>
+</div>
+<h2 id="pat_rewrite">11. Réécriture du PID PAT (Program Allocation Table)</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Cette fonctionnalité est principalement destinée pour les set-top boxes. Cet option permet d&#8217;annoncer uniquement la chaîne diffusée dans le PID PAT (Program Allocation Table) au lieu de toutes les chaînes du transpondeur. Les clients sur ordinateur regardent cette table et décode le premier programme avec des PIDs audio/vidéo. Les set-top boxes décodent habituellement le premier programme de cette table ce qui résulte en un écran noir pour la plupart des chaînes.</p></div>
+<div class="paragraph"><p>Pour activer la réécriture du PAT, ajoutez <tt>rewrite_pat=1</tt> à votre fichier de configuration. Cet fonctionnalité utilise peu de puissance processeur, la table PAT étant réécrite une fois par chaîne et stockée en mémoire.</p></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">La réécriture du PAT peu échouer (i.e. ne résout pas les symptômes précédents) pour certaines chaînes si le PID PMT est partagé par plusieurs chaînes. Dans ce cas, vous devez ajouter l&#8217;option <tt>ts_id</tt> pour spécifier le "transport stream id", encore appelé "service id" ou numéro de programme.</td>
+</tr></table>
+</div>
+</div>
+<h2 id="reduce_cpu">12. Réduire l&#8217;utilisation processeur (Expérimental)</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Normalement MuMuDVB lit les paquets de la carte un par un et demande à la carte après chaque lecture si il y a un nouveau paquet disponible ( poll ). Mais souvent les cartes on un tampon interne ( la carte a plusieurs paquets de disponible d&#8217;un coup ) ce qui rends certains "polls" inutiles. Ces "polls" consomme du temps processeur.</p></div>
+<div class="paragraph"><p>Pour réduire l&#8217;utilisation CPU, une solution est d&#8217;essayer de lire plusieurs paquets à la fois. Pour faire cela, utilisez l&#8217;option <tt>dvr_buffer_size</tt>.</p></div>
+<div class="listingblock">
+<div class="title">Example</div>
+<div class="content">
+<pre><tt>dvr_buffer_size=40</tt></pre>
+</div></div>
+<div class="paragraph"><p>Pour voir si la valeur que vous avez choisie est trop grande ou trop basse, exécutez MuMuDVB en mode verbeux, le nombre moyen de paquets reçus en même temps sera affiché toutes les deux minutes. Si ce nombre est plus faible que votre taille de tampon il est inutile de l&#8217;augmenter.</p></div>
+<div class="paragraph"><p>La réduction de l&#8217;utilisation processeur peut être entre 20 et 50%.</p></div>
+<div class="paragraph"><p>Cette fonctionalité est assez jeune et peut avoir des effets de bord, merci de contacter si vous en constatez.</p></div>
+<div class="paragraph"><p>Si vous utilisez cette option, n&#8217;hésitez pas a reporter les améliorations constatées à mumudvb @AT@ braice DOT net</p></div>
+</div>
+<h2 id="_d_tails_techniques_en_vrac">13. Détails techniques (en vrac)</h2>
+<div class="sectionbody">
+<div class="ulist"><ul>
+<li>
+<p>
+Consommation processeur : MuMuDVB utilise 15% du temps processeur d&#8217;un Celeron 2.6GHz avec une carte satellite Hauppauge et un noyau 2.6.9 lorsqu&#8217;un transpondeur entier est diffusé ( environs 30Mbit/s)
+</p>
+</li>
+<li>
+<p>
+Essayez d'éviter les vieux chipset via ou nForce et, de manière générale les cartes mères à très bas coût. Ils ne supportent pas d&#8217;avoir un important flux de données sur le bus PCI.
+</p>
+</li>
+<li>
+<p>
+Lorsque le programme démarre, il écrit la liste des chaînes dans le fichier <tt>/var/run/mumudvb/chaines_diffusees_carte%d</tt> ( où %d est le numéro de carte ). Ce fichier contient la liste des chaînes diffusées ( mise à jour toutes les 5 secondes ) sous la forme : "nom:ip:port:EtatDuBrouillage"
+</p>
+</li>
+<li>
+<p>
+MuMuDVB peut supporter autant de cartes que le système d&#8217;exploitation. Les anciennes version de udev+glibc ne supportaient pas plus de 4 cartes mais ce problème est résolu en utilisant des versions relativement récentes ( udev &gt; 104 et libc6 &gt; 2.7 )
+</p>
+</li>
+<li>
+<p>
+Lorsque MuMuDVB tourne en démon, il écrit son identifiant de processus dans le fichier <tt>/var/run/mumudvb/mumudvb_carte%d.pid</tt>, où %d est remplacé par le numéro de carte.
+</p>
+</li>
+<li>
+<p>
+MuMuDVB supporte la réception satellite en bande Ku avec des LNB universel ou standard. Le support pour la réception satellite en bande S ou C est implémenté via l&#8217;utilisation de l&#8217;option <tt>lo_frequency</tt>. Référez vous au fichier <tt>doc/README_CONF-fr</tt> ( <a href="README_CONF-fr.html">Version HTML</a> ) pour plus de détails.
+</p>
+</li>
+</ul></div>
+</div>
+<h2 id="_probl_mes_connus">14. Problèmes connus</h2>
+<div class="sectionbody">
+<h3 id="_vlc_n_8217_arrive_pas_lire_le_flux_mais_cela_marche_avec_xine_ou_mplayer">14.1. VLC n&#8217;arrive pas à lire le flux mais cela marche avec xine ou mplayer</h3><div style="clear:left"></div>
+<div class="ulist"><ul>
+<li>
+<p>
+Pour VLC vous devez spécifier le PID PMT en plus des PIDs audio et vidéo.
+C&#8217;est un problème fréquent. Pour le résoudre, vous pouvez utilisez le mode verbeux de VLC ( <tt>vlc -v</tt> ) et vous obtiendrez une ligne comme : <tt>[00000269] ts demuxer debug:   * number=1025 pid=110</tt>. Vous obtiendrez le PID PMT associé à votre numéro de programme. Vous pouvez aussi utiliser dvbsnoop, ou vous référer à la section "comment obtenir les PIDs" du fichier <tt>doc/README_CONF-fr</tt> ( <a href="README_CONF-fr.html">Version HTML</a> ). Une autre solution est d&#8217;utiliser l&#8217;autoconfiguration complète.
+</p>
+</li>
+</ul></div>
+<h3 id="_vlc_arrive_a_lire_la_vid_o_mais_pas_le_son">14.2. VLC arrive a lire la vidéo mais pas le son</h3><div style="clear:left"></div>
+<div class="ulist"><ul>
+<li>
+<p>
+Ce problème peut arriver lorsque le PID PCR ( i.e. l&#8217;horloge ) n&#8217;est pas le PID vidéo. Dans ce cas, vous devez vérifier si le PID PCR est bien dans votre liste de PIDs.
+</p>
+</li>
+</ul></div>
+<h3 id="_mumudvb_ne_marche_pas_en_mode_d_mon">14.3. MuMuDVB ne marche pas en mode démon</h3><div style="clear:left"></div>
+<div class="ulist"><ul>
+<li>
+<p>
+Pour passer en mode démon, MuMuDVB a besoin que le répertoire <tt>/var/run/mumudvb/</tt> soit autorisé en écriture pour pouvoir écrire son identifiant de processus et la liste des chaînes.
+</p>
+</li>
+</ul></div>
+<h3 id="_le_syst_me_plante_ou_g_le">14.4. Le système plante ou gèle</h3><div style="clear:left"></div>
+<div class="ulist"><ul>
+<li>
+<p>
+Les vieux chipset VIA ou nForce sont des chipset grand public. Ils ne peuvent pas traiter une quantité importante de données sur le bus PCI. Mais vous pouvez tenter d&#8217;ajuster les paramètres de votre BIOS.
+</p>
+</li>
+</ul></div>
+<h3 id="_probl_mes_d_8217_accord_en_dvb_t">14.5. Problèmes d&#8217;accord en DVB-T</h3><div style="clear:left"></div>
+<div class="ulist"><ul>
+<li>
+<p>
+Vous devez vérifier les paramètres d&#8217;accord, sachant que la détection automatique de la bande passante ne marche pas généralement.
+</p>
+</li>
+</ul></div>
+<h3 id="_ma_set_top_box_affiche_un_cran_noir">14.6. Ma set top box affiche un écran noir</h3><div style="clear:left"></div>
+<div class="ulist"><ul>
+<li>
+<p>
+Si le flux fonctionne bien lorsqu&#8217;il est lu via un ordinateur et pas sur votre set-top box, c&#8217;est probablement que votre set-top box a besoin que le PID PAT soit réécrit. MuMuDVB peut réécrire le PID PAT, pour cela ajoutez <tt>rewrite_pat=1</tt> à votre fichier de configuration.
+</p>
+</li>
+</ul></div>
+<h3 id="_l_8217_autoconfiguration_partielle_ne_trouve_pas_les_bon_pids">14.7. L&#8217;autoconfiguration partielle ne trouve pas les bon PIDs</h3><div style="clear:left"></div>
+<div class="ulist"><ul>
+<li>
+<p>
+Ceci peut arriver lorsqu&#8217;un PID PMT est partagé entre plusieurs chaînes. Référez vous à la section <a href="#autoconfiguration_simple">autoconfiguration partielle</a> pour plus de détails.
+</p>
+</li>
+</ul></div>
+<h3 id="_le_module_cam_refuse_de_d_crypter_des_cha_nes_locked">14.8. Le module CAM refuse de décrypter des chaînes "locked"</h3><div style="clear:left"></div>
+<div class="ulist"><ul>
+<li>
+<p>
+Certains modules CAM viaccess peuvent avoir un verrou pour les chaînes "adultes". Pour enlever ce verrou, allez dans le menu du module CAM, en utilisant, par exemple, "gnutv -cammenu" (des dvb-apps de linuxtv).
+</p>
+</li>
+</ul></div>
+<div class="paragraph"><p>Vous devez mettre le "maturity rating" au maximum et déverrouiller "Maturity rating" dans le sous-menu "Bolts".</p></div>
+<h3 id="_vlc_ne_choisit_pas_le_bon_programme_m_me_avec_la_r_criture_du_pat">14.9. VLC ne choisit pas le bon programme même avec la réécriture du PAT</h3><div style="clear:left"></div>
+<div class="paragraph"><p>Ceci est un bug de VLC <a href="https://trac.videolan.org/vlc/ticket/2782">https://trac.videolan.org/vlc/ticket/2782</a></p></div>
+<div class="paragraph"><p>La réécriture du PAT permet d&#8217;annoncer que la chaîne présente dans le flux dans la table PAT. Mais VLC lit aussi la table SDT pour trouver les chaînes (il devrait seulement se référer au PAT) et sélectionne parfois le mauvais programme.
+Une solution temporaire est de ne pas envoyer le PID SDT. Vous pouvez faire cela en utilisant l&#8217;option <tt>dont_send_sdt</tt>.</p></div>
+<div class="paragraph"><p>Cet option sera remplacée par une réécriture du PID SDT.</p></div>
+<h3 id="problems_hp">14.10. À L&#8217;AIDE ! mon traffic multicast inonde le réseau (J&#8217;utilise un commutateur HP procurve)</h3><div style="clear:left"></div>
+<div class="paragraph"><p>La meilleure explication est fournie dans le guide de routage du multicast de HP.</p></div>
+<div class="paragraph"><p>On switches that do not support Data-Driven IGMP, unregistered multicast
+groups are flooded to the VLAN rather than pruned. In this scenario, Fast-Leave IGMP can actually increase the problem of multicast flooding by removing the IGMP group filter before the Querier has recognized the IGMP leave. The Querier will continue to transmit the multicast group during this short time, and because the group is no longer registered the switch will then flood the multicast group to all ports.</p></div>
+<div class="paragraph"><p>On ProCurve switches that do support Data-Driven IGMP (“Smart” IGMP),
+when unregistered multicasts are received the switch automatically filters (drops) them. Thus, the sooner the IGMP Leave is processed, the sooner this multicast traffic stops flowing.</p></div>
+<div class="paragraph"><p>Switches without problems (supporting data driven igmp):</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+Switch 6400cl
+</p>
+</li>
+<li>
+<p>
+Switch 6200yl
+</p>
+</li>
+<li>
+<p>
+Switch 5400zl
+</p>
+</li>
+<li>
+<p>
+Switch 5300xl
+</p>
+</li>
+<li>
+<p>
+Switch 4200vl
+</p>
+</li>
+<li>
+<p>
+Switch 3500yl
+</p>
+</li>
+<li>
+<p>
+Switch 3400cl
+</p>
+</li>
+<li>
+<p>
+Switch 2900
+</p>
+</li>
+<li>
+<p>
+Switch 2800
+</p>
+</li>
+<li>
+<p>
+Switch 2500
+</p>
+</li>
+</ul></div>
+<div class="paragraph"><p>Switches WITH problems (NOT supporting data driven igmp):</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+Switch 2600
+</p>
+</li>
+<li>
+<p>
+Switch 2600-PWR
+</p>
+</li>
+<li>
+<p>
+Switch 4100gl
+</p>
+</li>
+<li>
+<p>
+Switch 6108
+</p>
+</li>
+</ul></div>
+<div class="paragraph"><p>En conclusion, si vous avez un commutateur de la deuxième liste, c&#8217;est "normal". La solution est de faire en sorte que MuMuDVB joigne le groupe multicast. Pour cela, ajoutez <tt>multicast_auto_join=1</tt> dans votre fichier de configuration.</p></div>
+<h3 id="_mumudvb_utilise_beaucoup_de_temps_processeur_avec_sasc_ng">14.11. MuMuDVB utilise beaucoup de temps processeur avec sasc-ng !</h3><div style="clear:left"></div>
+<div class="paragraph"><p>Si vous utilisez sasc-ng + dvbloopback, MuMuDVB consommera plus de temps processeur que nécessaire.</p></div>
+<div class="paragraph"><p>Une partie de ce temps CPU est utilisé pour débrouiller les chaînes, une autre part est due à la manière dont dvbloopback est implémenté et à la manière dont MuMuDVB interroge la carte.</p></div>
+<div class="paragraph"><p>Pour réduire l&#8217;utilisation processeur référez vous à la section <a href="#reduce_cpu">réduire l&#8217;utilisation processeur de MuMuDVB</a>. Dans le cas de l&#8217;utilisation de MuMuDVB avec sasc-ng cette amélioration peut être importante.</p></div>
+</div>
+<div id="footer">
+<div id="footer-text">
+Last updated 2009-09-26 18:35:56 CEST
+</div>
+</div>
+</body>
+</html>
diff --git a/doc/html/README.html b/doc/html/README.html
new file mode 100644
index 0000000..f8032a3
--- /dev/null
+++ b/doc/html/README.html
@@ -0,0 +1,1366 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
+    "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<meta name="generator" content="AsciiDoc 8.4.4" />
+<title>MuMuDVB - README</title>
+<style type="text/css">
+/* Debug borders */
+p, li, dt, dd, div, pre, h1, h2, h3, h4, h5, h6 {
+/*
+  border: 1px solid red;
+*/
+}
+
+body {
+  margin: 1em 5% 1em 5%;
+}
+
+a {
+  color: blue;
+  text-decoration: underline;
+}
+a:visited {
+  color: fuchsia;
+}
+
+em {
+  font-style: italic;
+  color: navy;
+}
+
+strong {
+  font-weight: bold;
+  color: #083194;
+}
+
+tt {
+  color: navy;
+}
+
+h1, h2, h3, h4, h5, h6 {
+  color: #527bbd;
+  font-family: sans-serif;
+  margin-top: 1.2em;
+  margin-bottom: 0.5em;
+  line-height: 1.3;
+}
+
+h1, h2, h3 {
+  border-bottom: 2px solid silver;
+}
+h2 {
+  padding-top: 0.5em;
+}
+h3 {
+  float: left;
+}
+h3 + * {
+  clear: left;
+}
+
+div.sectionbody {
+  font-family: serif;
+  margin-left: 0;
+}
+
+hr {
+  border: 1px solid silver;
+}
+
+p {
+  margin-top: 0.5em;
+  margin-bottom: 0.5em;
+}
+
+ul, ol, li > p {
+  margin-top: 0;
+}
+
+pre {
+  padding: 0;
+  margin: 0;
+}
+
+span#author {
+  color: #527bbd;
+  font-family: sans-serif;
+  font-weight: bold;
+  font-size: 1.1em;
+}
+span#email {
+}
+span#revision {
+  font-family: sans-serif;
+}
+
+div#footer {
+  font-family: sans-serif;
+  font-size: small;
+  border-top: 2px solid silver;
+  padding-top: 0.5em;
+  margin-top: 4.0em;
+}
+div#footer-text {
+  float: left;
+  padding-bottom: 0.5em;
+}
+div#footer-badges {
+  float: right;
+  padding-bottom: 0.5em;
+}
+
+div#preamble {
+  margin-top: 1.5em;
+  margin-bottom: 1.5em;
+}
+div.tableblock, div.imageblock, div.exampleblock, div.verseblock,
+div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,
+div.admonitionblock {
+  margin-top: 1.5em;
+  margin-bottom: 1.5em;
+}
+div.admonitionblock {
+  margin-top: 2.5em;
+  margin-bottom: 2.5em;
+}
+
+div.content { /* Block element content. */
+  padding: 0;
+}
+
+/* Block element titles. */
+div.title, caption.title {
+  color: #527bbd;
+  font-family: sans-serif;
+  font-weight: bold;
+  text-align: left;
+  margin-top: 1.0em;
+  margin-bottom: 0.5em;
+}
+div.title + * {
+  margin-top: 0;
+}
+
+td div.title:first-child {
+  margin-top: 0.0em;
+}
+div.content div.title:first-child {
+  margin-top: 0.0em;
+}
+div.content + div.title {
+  margin-top: 0.0em;
+}
+
+div.sidebarblock > div.content {
+  background: #ffffee;
+  border: 1px solid silver;
+  padding: 0.5em;
+}
+
+div.listingblock > div.content {
+  border: 1px solid silver;
+  background: #f4f4f4;
+  padding: 0.5em;
+}
+
+div.quoteblock {
+  padding-left: 2.0em;
+  margin-right: 10%;
+}
+div.quoteblock > div.attribution {
+  padding-top: 0.5em;
+  text-align: right;
+}
+
+div.verseblock {
+  padding-left: 2.0em;
+  margin-right: 10%;
+}
+div.verseblock > div.content {
+  white-space: pre;
+}
+div.verseblock > div.attribution {
+  padding-top: 0.75em;
+  text-align: left;
+}
+/* DEPRECATED: Pre version 8.2.7 verse style literal block. */
+div.verseblock + div.attribution {
+  text-align: left;
+}
+
+div.admonitionblock .icon {
+  vertical-align: top;
+  font-size: 1.1em;
+  font-weight: bold;
+  text-decoration: underline;
+  color: #527bbd;
+  padding-right: 0.5em;
+}
+div.admonitionblock td.content {
+  padding-left: 0.5em;
+  border-left: 2px solid silver;
+}
+
+div.exampleblock > div.content {
+  border-left: 2px solid silver;
+  padding: 0.5em;
+}
+
+div.imageblock div.content { padding-left: 0; }
+div.imageblock img { border: 1px solid silver; }
+span.image img { border-style: none; }
+
+dl {
+  margin-top: 0.8em;
+  margin-bottom: 0.8em;
+}
+dt {
+  margin-top: 0.5em;
+  margin-bottom: 0;
+  font-style: normal;
+  color: navy;
+}
+dd > *:first-child {
+  margin-top: 0.1em;
+}
+
+ul, ol {
+    list-style-position: outside;
+}
+ol.arabic {
+  list-style-type: decimal;
+}
+ol.loweralpha {
+  list-style-type: lower-alpha;
+}
+ol.upperalpha {
+  list-style-type: upper-alpha;
+}
+ol.lowerroman {
+  list-style-type: lower-roman;
+}
+ol.upperroman {
+  list-style-type: upper-roman;
+}
+
+div.compact ul, div.compact ol,
+div.compact p, div.compact p,
+div.compact div, div.compact div {
+  margin-top: 0.1em;
+  margin-bottom: 0.1em;
+}
+
+div.tableblock > table {
+  border: 3px solid #527bbd;
+}
+thead {
+  font-family: sans-serif;
+  font-weight: bold;
+}
+tfoot {
+  font-weight: bold;
+}
+td > div.verse {
+  white-space: pre;
+}
+p.table {
+  margin-top: 0;
+}
+/* Because the table frame attribute is overriden by CSS in most browsers. */
+div.tableblock > table[frame="void"] {
+  border-style: none;
+}
+div.tableblock > table[frame="hsides"] {
+  border-left-style: none;
+  border-right-style: none;
+}
+div.tableblock > table[frame="vsides"] {
+  border-top-style: none;
+  border-bottom-style: none;
+}
+
+
+div.hdlist {
+  margin-top: 0.8em;
+  margin-bottom: 0.8em;
+}
+div.hdlist tr {
+  padding-bottom: 15px;
+}
+dt.hdlist1.strong, td.hdlist1.strong {
+  font-weight: bold;
+}
+td.hdlist1 {
+  vertical-align: top;
+  font-style: normal;
+  padding-right: 0.8em;
+  color: navy;
+}
+td.hdlist2 {
+  vertical-align: top;
+}
+div.hdlist.compact tr {
+  margin: 0;
+  padding-bottom: 0;
+}
+
+.comment {
+  background: yellow;
+}
+
+ at media print {
+  div#footer-badges { display: none; }
+}
+
+div#toctitle {
+  color: #527bbd;
+  font-family: sans-serif;
+  font-size: 1.1em;
+  font-weight: bold;
+  margin-top: 1.0em;
+  margin-bottom: 0.1em;
+}
+
+div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 {
+  margin-top: 0;
+  margin-bottom: 0;
+}
+div.toclevel2 {
+  margin-left: 2em;
+  font-size: 0.9em;
+}
+div.toclevel3 {
+  margin-left: 4em;
+  font-size: 0.9em;
+}
+div.toclevel4 {
+  margin-left: 6em;
+  font-size: 0.9em;
+}
+/* Workarounds for IE6's broken and incomplete CSS2. */
+
+div.sidebar-content {
+  background: #ffffee;
+  border: 1px solid silver;
+  padding: 0.5em;
+}
+div.sidebar-title, div.image-title {
+  color: #527bbd;
+  font-family: sans-serif;
+  font-weight: bold;
+  margin-top: 0.0em;
+  margin-bottom: 0.5em;
+}
+
+div.listingblock div.content {
+  border: 1px solid silver;
+  background: #f4f4f4;
+  padding: 0.5em;
+}
+
+div.quoteblock-attribution {
+  padding-top: 0.5em;
+  text-align: right;
+}
+
+div.verseblock-content {
+  white-space: pre;
+}
+div.verseblock-attribution {
+  padding-top: 0.75em;
+  text-align: left;
+}
+
+div.exampleblock-content {
+  border-left: 2px solid silver;
+  padding-left: 0.5em;
+}
+
+/* IE6 sets dynamically generated links as visited. */
+div#toc a:visited { color: blue; }
+</style>
+<script type="text/javascript">
+/*<![CDATA[*/
+window.onload = function(){generateToc(2)}
+/* Author: Mihai Bazon, September 2002
+ * http://students.infoiasi.ro/~mishoo
+ *
+ * Table Of Content generator
+ * Version: 0.4
+ *
+ * Feel free to use this script under the terms of the GNU General Public
+ * License, as long as you do not remove or alter this notice.
+ */
+
+ /* modified by Troy D. Hanson, September 2006. License: GPL */
+ /* modified by Stuart Rackham, October 2006. License: GPL */
+
+function getText(el) {
+  var text = "";
+  for (var i = el.firstChild; i != null; i = i.nextSibling) {
+    if (i.nodeType == 3 /* Node.TEXT_NODE */) // IE doesn't speak constants.
+      text += i.data;
+    else if (i.firstChild != null)
+      text += getText(i);
+  }
+  return text;
+}
+
+function TocEntry(el, text, toclevel) {
+  this.element = el;
+  this.text = text;
+  this.toclevel = toclevel;
+}
+
+function tocEntries(el, toclevels) {
+  var result = new Array;
+  var re = new RegExp('[hH]([2-'+(toclevels+1)+'])');
+  // Function that scans the DOM tree for header elements (the DOM2
+  // nodeIterator API would be a better technique but not supported by all
+  // browsers).
+  var iterate = function (el) {
+    for (var i = el.firstChild; i != null; i = i.nextSibling) {
+      if (i.nodeType == 1 /* Node.ELEMENT_NODE */) {
+        var mo = re.exec(i.tagName)
+        if (mo)
+          result[result.length] = new TocEntry(i, getText(i), mo[1]-1);
+        iterate(i);
+      }
+    }
+  }
+  iterate(el);
+  return result;
+}
+
+// This function does the work. toclevels = 1..4.
+function generateToc(toclevels) {
+  var toc = document.getElementById("toc");
+  var entries = tocEntries(document.getElementsByTagName("body")[0], toclevels);
+  for (var i = 0; i < entries.length; ++i) {
+    var entry = entries[i];
+    if (entry.element.id == "")
+      entry.element.id = "toc" + i;
+    var a = document.createElement("a");
+    a.href = "#" + entry.element.id;
+    a.appendChild(document.createTextNode(entry.text));
+    var div = document.createElement("div");
+    div.appendChild(a);
+    div.className = "toclevel" + entry.toclevel;
+    toc.appendChild(div);
+  }
+  if (entries.length == 0)
+    document.getElementById("header").removeChild(toc);
+}
+/*]]>*/
+</script>
+</head>
+<body>
+<div id="header">
+<h1>MuMuDVB - README</h1>
+<span id="author">Brice Dubost</span><br />
+<span id="email"><tt>&lt;<a href="mailto:mumudvb at braice.net">mumudvb at braice.net</a>&gt;</tt></span><br />
+Version 1.6
+<div id="toc">
+  <div id="toctitle">Table of Contents</div>
+  <noscript><p><b>JavaScript must be enabled in your browser to display the table of contents.</b></p></noscript>
+</div>
+</div>
+<div id="preamble">
+<div class="sectionbody">
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">An HTML version of this file is availaible on <a href="http://mumudvb.braice.net">MuMuDVB&#8217;s website</a>.</td>
+</tr></table>
+</div>
+<div class="imageblock">
+<div class="content">
+<img src="http://mumudvb.braice.net/mumudvb/logo_mumu_wiki.png" alt="http://mumudvb.braice.net/mumudvb/logo_mumu_wiki.png"/>
+</div>
+</div>
+</div>
+</div>
+<h2 id="_presentation">1. Presentation</h2>
+<div class="sectionbody">
+<h3 id="_description">1.1. Description</h3><div style="clear:left"></div>
+<div class="paragraph"><p>MuMuDVB (Multi Multicast DVB) is originally a modification of dvbstream that <a href="http://www.crans.org">cr at ns</a> made. We have decided to redistribute it.</p></div>
+<div class="paragraph"><p>Now, it&#8217;s a standalone project.</p></div>
+<div class="paragraph"><p>MuMuDVB is a program that redistributes streams from DVB (Digital Television) on a network using
+multicasting or HTTP unicast. It can multicast a whole DVB transponder by assigning
+each channel a different multicast IP.</p></div>
+<h3 id="_website">1.2. Website</h3><div style="clear:left"></div>
+<div class="paragraph"><p><a href="http://mumudvb.braice.net">Mumudvb main site</a></p></div>
+</div>
+<h2 id="_authors_and_contacts">2. Authors and contacts</h2>
+<div class="sectionbody">
+<div class="ulist"><div class="title">Upstream author</div><ul>
+<li>
+<p>
+<a href="mailto:mumudvb at braice.net">Brice Dubost</a>
+</p>
+</li>
+</ul></div>
+<div class="ulist"><div class="title">Contributions</div><ul>
+<li>
+<p>
+<a href="mailto:manu at REMOVEMEcrans.ens-cachan.fr">Manuel Sabban</a> (getopt)
+</p>
+</li>
+<li>
+<p>
+<a href="mailto:glondu at REMOVEMEcrans.ens-cachan.fr">Stéphane Glondu</a> (makefile cleaning, man page, debian package)
+</p>
+</li>
+<li>
+<p>
+Special thanks to Dave Chapman (dvbstream author)
+</p>
+</li>
+<li>
+<p>
+Pierre Gronlier, Sébastien Raillard
+</p>
+</li>
+</ul></div>
+<div class="ulist"><div class="title">Mailing list:</div><ul>
+<li>
+<p>
+<a href="mailto:mumudvb-dev at REMOVEMElists.crans.org">MuMuDVB dev</a>
+</p>
+</li>
+<li>
+<p>
+<a href="https://lists.crans.org/listinfo/mumudvb-dev">MuMuDVB dev list information and subscription</a>
+</p>
+</li>
+</ul></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">When contacting about an issue, please join the config file used and the output of MuMuDVB in verbose mode ( -vvv on the command line) and any other information that could be useful.</td>
+</tr></table>
+</div>
+</div>
+<h2 id="_contents_and_features">3. Contents and features</h2>
+<div class="sectionbody">
+<h3 id="_features_overview">3.1. Features overview</h3><div style="clear:left"></div>
+<div class="ulist"><ul>
+<li>
+<p>
+Stream channels from a transponder on different multicast IPs
+</p>
+</li>
+<li>
+<p>
+Support for scrambled channels (if you don&#8217;t have a CAM you can use sasc-ng, but check if it&#8217;s allowed in you country/by your broadcaster)
+</p>
+</li>
+<li>
+<p>
+Support for automatic configuration i.e channels discovery, see <a href="#autoconfiguration">Autoconfiguration</a> section
+</p>
+</li>
+<li>
+<p>
+Generation of SAP announces, see <a href="#sap">SAP</a> section
+</p>
+</li>
+<li>
+<p>
+Support of DVB-S, DVB-C, DVB-T and ATSC
+</p>
+</li>
+<li>
+<p>
+Possibility to partially rewrite the stream for better compatibility with set-top boxes. See <a href="#pat_rewrite">Pat Rewrite</a> section.
+</p>
+</li>
+<li>
+<p>
+Support for HTTP unicast see <a href="#unicast">http unicast</a> section
+</p>
+</li>
+<li>
+<p>
+Support for RTP headers (only for multicast)
+</p>
+</li>
+</ul></div>
+<h3 id="_detailled_feature_list">3.2. Detailled feature list</h3><div style="clear:left"></div>
+<div class="ulist"><ul>
+<li>
+<p>
+Can show reception level when streaming
+</p>
+</li>
+<li>
+<p>
+Show if channels are successfully descrambled by the CAM
+</p>
+</li>
+<li>
+<p>
+Makes a list of streamed and down channels in real time
+</p>
+</li>
+<li>
+<p>
+Can deamonize and write his own process id in a file
+</p>
+</li>
+<li>
+<p>
+Supports standard and universals LNBs
+</p>
+</li>
+<li>
+<p>
+Can stop himself if it receives no data from the card after a defined timeout
+</p>
+</li>
+<li>
+<p>
+Stops trying tuning after a configurable timeout
+</p>
+</li>
+<li>
+<p>
+The mandatory pids are always sent with all channels :
+</p>
+<div class="ulist"><ul>
+<li>
+<p>
+PAT (0): Program Association Table
+</p>
+</li>
+<li>
+<p>
+CAT (1): Conditionnal Access Table
+</p>
+</li>
+<li>
+<p>
+NIT (16): Network Information Table: intended to provide information about the physical network.
+</p>
+</li>
+<li>
+<p>
+SDT (17): Service Description Table: data describing the services in the system e.g. names of services, the service provider, etc.
+</p>
+</li>
+<li>
+<p>
+EIT (18): Event Information Table: data concerning events or programmes such as event name, start time, duration, etc.
+</p>
+</li>
+<li>
+<p>
+TDT (20): Time and Date Table: information related to the present time and date.This information is given in a separate table due to the frequent updating of this information.
+</p>
+</li>
+</ul></div>
+</li>
+<li>
+<p>
+Can suscribe to all multicast groups (IGMP membership request) in order to avoid some switches to broadcast all channels see <a href="#problems_hp">problems with HP switches</a>.
+</p>
+</li>
+<li>
+<p>
+Supports autoconfiguration, see <a href="#autoconfiguration">Autoconfiguration</a> section
+</p>
+<div class="ulist"><ul>
+<li>
+<p>
+In autoconfiguration mode, MuMuDVB follow the changes in the PIDs and update itself while running.
+</p>
+</li>
+</ul></div>
+</li>
+<li>
+<p>
+Debian flavor initialisation scripts
+</p>
+</li>
+<li>
+<p>
+Can skip the tuning of the card as a temporary workaround for DVB-S2
+</p>
+</li>
+<li>
+<p>
+The buffer size can be tuned to reduce CPU usage, see <a href="#reduce_cpu">reduce MuMuDVB CPU usage</a> section.
+</p>
+</li>
+<li>
+<p>
+Can avoid the sending of scrambled packets
+</p>
+</li>
+<li>
+<p>
+Automatically detect the scrambling status of a channel
+</p>
+</li>
+<li>
+<p>
+Can reset the CAM module in case of a bad initialisation
+</p>
+</li>
+</ul></div>
+<div class="paragraph"><p>Others small programs are availaible from <a href="http://gitweb.braice.net/gitweb?p=mumudvb_tools;a=summary">MuMuDVB Tools Repository</a> :</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+relay: this program takes a stream and sends it again on a different ip. It can be used to unicast a stream over a network that doesn&#8217;t support multicast, and multicast it again at the other end
+</p>
+</li>
+<li>
+<p>
+recup_sap: tiny sap client, get sap announces during 60 seconds and put them on a file (unsorted)
+</p>
+</li>
+</ul></div>
+</div>
+<h2 id="_installation">4. Installation</h2>
+<div class="sectionbody">
+<h3 id="_from_sources">4.1. From sources</h3><div style="clear:left"></div>
+<h4 id="_from_a_snapshot">4.1.1. From a snapshot</h4>
+<div class="paragraph"><p>If you downloaded a snapshot, you will have to generate the auto(conf make etc &#8230;) files. In order to do this you will need the autotools and automake and, type in the folder of MuMuDVB</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><tt>autoreconf -i -f</tt></pre>
+</div></div>
+<div class="paragraph"><p>Then you have a source which can be installed as a release package.</p></div>
+<h4 id="_from_a_release_package">4.1.2. From a release package</h4>
+<div class="paragraph"><p>In order to install MuMuDVB type:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><tt>$ ./configure [configure options]
+$ make
+# make install</tt></pre>
+</div></div>
+<div class="paragraph"><p>The <tt>[configure options]</tt> specific to MuMuDVB are:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><tt>  --enable-cam-support    CAM support (default enabled)
+  --enable-coverage       build for test coverage (default disabled)
+  --enable-duma           Debbuging DUMA library (default disabled)</tt></pre>
+</div></div>
+<div class="paragraph"><p>You can have a list of all the configure options by typing</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><tt>$ ./configure --help</tt></pre>
+</div></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">The CAM support depends on libdvben50221, libucsi (from linuxtv&#8217;s dvb-apps) and libpthread. The configure script will detect automatically the presence of these libraries and desactivate the CAM support if one of them is not present.</td>
+</tr></table>
+</div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">The decoding of long channel names for autoconfiguration in ATSC depends on libucsi (from linuxtv&#8217;s dvb-apps). The configure script will detect automatically the presence of this library and desactivate the long channel name support if it is not present. The full autoconfiguration will still work with ATSC but the channel names will be the short channels names (7 characters maximum)</td>
+</tr></table>
+</div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">If you want to compile the doc i.e. generate HTML files using asciidoc, type <tt>make doc</tt>. The rendering for the tables will work with asciidoc 8.4.4 (can work with lower version but not tested).</td>
+</tr></table>
+</div>
+<div class="paragraph"><p>In order to install starting scripts (debian flavor) type:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><tt># cp scripts/debian/etc/default/mumudvb /etc/default/mumudvb
+# cp scripts/debian/etc/init.d/mumudvb /etc/init.d/mumudvb</tt></pre>
+</div></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">It is advised to create a system user for MuMuDVB, e.g. : <tt>_mumudvb</tt>, you have to add this user to the video group and make the directory <tt>/var/run/mumudvb</tt> RW by this user. By doing this, you&#8217;ll be able to get all the features of MuMuDVB.</td>
+</tr></table>
+</div>
+<h3 id="_from_debian_package">4.2. From Debian package</h3><div style="clear:left"></div>
+<div class="paragraph"><p>If you want to install a version which is not in your repositories, you can install it by hand by typing:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><tt># dpkg -i mumudvb*.deb</tt></pre>
+</div></div>
+<div class="paragraph"><p>Otherwise you can use aptitude/synaptic as usual</p></div>
+</div>
+<h2 id="_usage">5. Usage</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>The documentation for configuration file syntax is in <tt>doc/README_CONF.txt</tt> (<a href="README_CONF.html">HTML version</a>).</p></div>
+<div class="paragraph"><p>Usage:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><tt>mumudvb [options] -c config_file
+mumudvb [options] --config config_file</tt></pre>
+</div></div>
+<div class="paragraph"><p>Possible options are:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><tt>-d, --debug
+        Don't deamonize and print messages on the standard output.
+
+-s, --signal
+        Print signal strenght every 5 seconds
+
+-t, --traffic
+        Print the traffic of the channels every 10 seconds
+
+-h, --help
+        Show help
+
+-v
+        More verbose (add for more)
+
+-q
+        More quiet (add for less)</tt></pre>
+</div></div>
+<div class="paragraph"><p>Signal: (see kill(1))</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><tt>    SIGUSR1: switch the signal strenght printing
+    SIGUSR2: switch the traffic printing</tt></pre>
+</div></div>
+</div>
+<h2 id="autoconfiguration">6. Autoconfiguration</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>MuMuDVB is able to find the channels in the transponder and their PIDs (Program IDentifiers).</p></div>
+<div class="paragraph"><p>Without autoconfiguration, you have to set the transponder parameters, and for each channel, the multicast ip, the name and the PIDs (PMT, audio, video, teletext etc&#8230;)</p></div>
+<div class="paragraph"><p>At the end of autoconfiguration, MuMuDVB generates a config file with the discovered parameters. This file is: <tt>/var/run/mumudvb/mumudvb_generated_conf_card%d</tt></p></div>
+<div class="paragraph"><p>If the PIDs are changed, MuMuDVB will automatically update the channels except if you put <tt>autoconf_pid_update=0</tt> in your configuration file.</p></div>
+<div class="paragraph"><p>MuMuDVB is able to do two kinds of autoconfiguration:</p></div>
+<h3 id="_full_autoconfiguration">6.1. Full autoconfiguration</h3><div style="clear:left"></div>
+<div class="paragraph"><p>This is the easiest way to use MuMuDVB.</p></div>
+<div class="paragraph"><p>Use this when you want to stream a full transponder.</p></div>
+<div class="paragraph"><p>In this mode, MuMuDVB will find for you the different channels, their name and their PIDs (PMT, PCR, Audio, Video, Subtitle, Teletext and AC3).</p></div>
+<div class="paragraph"><p>In order to use this mode you have to:
+- Set the tuning parameters to your config file
+- Add <tt>autoconfiguration=2</tt> to your config file
+- You don&#8217;t have to set any channels
+- For a first use don&#8217;t forget to put the <tt>-d</tt> parameter when you launch MuMuDVB:
+   e.g. <tt>mumudvb -d -c your_config_file</tt></p></div>
+<div class="listingblock">
+<div class="title">Example config file for satellite at frequency 11.296GHz with horizontal polarization</div>
+<div class="content">
+<pre><tt>freq=11296
+pol=h
+srate=27500
+autoconfiguration=2</tt></pre>
+</div></div>
+<div class="paragraph"><p>The channels will be streamed over the multicasts ip adresses 239.100.c.n where c is the card number (0 by default) and n is the channel number.</p></div>
+<div class="paragraph"><p>If you don&#8217;t use the common_port directive, MuMuDVB will use the port 1234.</p></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">By default, SAP announces are activated if you use this autoconfiguration mode. To desactivate them put <tt>sap=0</tt> after the <tt>autoconfiguration=2</tt> line.</td>
+</tr></table>
+</div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">A detailled, documented example configuration file can be found in <tt>doc/configuration_examples/autoconf_full.conf</tt></td>
+</tr></table>
+</div>
+<h3 id="autoconfiguration_simple">6.2. Simple autoconfiguration</h3><div style="clear:left"></div>
+<div class="paragraph"><p>Use this when you want to control the name of the channels, and wich channel you want to stream.</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+You have to add <em>autoconfiguration=1</em> in the head of your config file.
+</p>
+</li>
+<li>
+<p>
+For each channel, you have to set:
+</p>
+<div class="ulist"><ul>
+<li>
+<p>
+the Ip adress
+</p>
+</li>
+<li>
+<p>
+the name
+</p>
+</li>
+<li>
+<p>
+the PMT PID
+</p>
+</li>
+</ul></div>
+</li>
+</ul></div>
+<div class="paragraph"><p>MuMuDVB will find the audio, video, PCR, teletext, subtitling and AC3 PIDs for you before streaming.</p></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">If you put more than one PID for a channel, MuMuDVB will desactivate autoconfiguration for this channel.</td>
+</tr></table>
+</div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">A detailled, documented example configuration file can be found in <tt>doc/configuration_examples/autoconf1.conf</tt></td>
+</tr></table>
+</div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">Simple autoconfiguration can fail finding the good pids if a PMT pid is shared within multiples channels. In this case you have to add the <tt>ts_id</tt> option to the channel to specify the transport stream id, also known as service id.</td>
+</tr></table>
+</div>
+</div>
+<h2 id="sap">7. SAP announces</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>SAP (Session Announcement Protocol) announces are made for the client to know which channels are streamed and what is their name and adress. It avoids to give to the client the list of the multicast ip adresses.</p></div>
+<div class="paragraph"><p>VLC and most of set-top boxes are known to support them.</p></div>
+<div class="paragraph"><p>MuMuDVB will automatically generate and send SAP announces if asked to in the config file or if you are in full autoconfiguration mode.</p></div>
+<div class="paragraph"><p>The SAP announces will be only sent for alive channels. When a channel goes down, MuMuDVB will stop sending announces for this channel, until it goes back.</p></div>
+<h3 id="_asking_mumudvb_to_generate_sap_announces">7.1. Asking MuMuDVB to generate SAP announces</h3><div style="clear:left"></div>
+<div class="paragraph"><p>For sending SAP announces you have to add <tt>sap=1</tt> to your config file. The other parameters concerning the sap announces are documented in the <tt>doc/README_CONF.txt</tt> file (<a href="README_CONF.html">HTML version</a>).</p></div>
+<h3 id="_configuring_the_client_to_get_the_sap_announces">7.2. Configuring the client to get the SAP announces</h3><div style="clear:left"></div>
+<h4 id="_vlc_gt_0_8_2">7.2.1. VLC &gt; 0.8.2</h4>
+<div class="paragraph"><p>You have to enter the settings, choose advanced settings. The SAP announces are in playlist&#8594;service discovery.</p></div>
+<div class="paragraph"><p>Don&#8217;t forget to save the settings.</p></div>
+<div class="paragraph"><p>You should have now a SAP section in your playlist.</p></div>
+<h4 id="_vlc_lt_0_8_2">7.2.2. VLC &lt; 0.8.2</h4>
+<div class="paragraph"><p>Click on the "Settings" menu, then on "add interface" and choose SAP playlist. Then open you playlist, the SAP announces should appear automatically.</p></div>
+</div>
+<h2 id="unicast">8. HTTP Unicast</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>In addition to multicast, MuMuDVB also supports HTTP unicast. This make you able to use MuMuDVB on networks wich doesn&#8217;t support multicast.</p></div>
+<div class="paragraph"><p>There is one listening connection, the channel is selected via the HTTP path, see further.</p></div>
+<div class="paragraph"><p>And you can have listening sockets per channel, in this case the client will always get the same channel independantly of the path.</p></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">Be careful with unicast, it can eat a lot of bandwith. Think about limitting the number of clients.</td>
+</tr></table>
+</div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">If you don&#8217;t want the (always here) multicast traffic to go on your network set <tt>multicast_ttl=0</tt></td>
+</tr></table>
+</div>
+<h3 id="_activate_http_unicast">8.1. Activate HTTP unicast</h3><div style="clear:left"></div>
+<div class="paragraph"><p>To enable HTTP unicast you have to set the option <tt>ip_http</tt>. This option will set the ip adress on which you want to listen for incoming connections. If you want to listen on all your interfaces, put <tt>0.0.0.0</tt>.</p></div>
+<div class="paragraph"><p>You can also define the listening port using <tt>port_http</tt>. If the port is not defined, the default port will be 4242.</p></div>
+<h3 id="_activate_per_channel_listening_socket">8.2. Activate "per channel" listening socket</h3><div style="clear:left"></div>
+<div class="paragraph"><p>You can create listening connections only for a channel. In this case, when a client connect to this socket he will alway get the same channel independantly of the HTTP path.</p></div>
+<h4 id="_if_you_use_full_autoconfiguration">8.2.1. If you use full autoconfiguration</h4>
+<div class="paragraph"><p>You need to set the option <tt>autoconf_unicast_start_port</tt> which define what is the output port for the first discovered channel (for the following channels the port will be incremented).</p></div>
+<h4 id="_if_you_don_8217_t_use_full_autoconfiguration">8.2.2. If you don&#8217;t use full autoconfiguration</h4>
+<div class="paragraph"><p>For the channels for which you want to have a listening unicast socket you have to set the option <tt>unicast_port</tt> which define the listening port of the socket</p></div>
+<h3 id="_client_side_the_different_methods_to_get_channels">8.3. Client side, the different methods to get channels</h3><div style="clear:left"></div>
+<h4 id="_single_channel_socket">8.3.1. Single channel socket</h4>
+<div class="paragraph"><p>If the client connect to a single client socket he will get the associated channel independantly of the path.</p></div>
+<div class="paragraph"><p>If you server is listening on the ip 10.0.0.1 and the port for the channel is 5000,</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><tt>vlc http://10.0.0.1:5000/</tt></pre>
+</div></div>
+<h4 id="_get_the_channel_by_number">8.3.2. Get the channel by number</h4>
+<div class="paragraph"><p>You can ask the channel by the channel number (starting at 1).</p></div>
+<div class="paragraph"><p>If you server is listening on the ip 10.0.0.1 and the port 4242,</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><tt>vlc http://10.0.0.1:4242/bynumber/3</tt></pre>
+</div></div>
+<div class="paragraph"><p>will give you the channel number 3. This works also with xine and mplayer.</p></div>
+<h4 id="_get_the_channel_by_name">8.3.3. Get the channel by name</h4>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">This is not implemented for the moment, it will be implemented in a future release</td>
+</tr></table>
+</div>
+<h4 id="_get_the_channels_list">8.3.4. Get the channels list</h4>
+<div class="paragraph"><p>If you server is listening on the ip 10.0.1 and the port 4242,</p></div>
+<div class="paragraph"><p>To get the channel list (in basic html) just enter the adress <tt>http://10.0.0.1:4242/channels_list.html</tt> in your web browser.</p></div>
+<div class="paragraph"><p>To get the channel list (in basic plain text with more informations) just enter the adress <tt>http://10.0.0.1:4242/channels_list.txt</tt> in your web browser.</p></div>
+<h3 id="_http_unicast_and_monitoring">8.4. HTTP unicast and monitoring</h3><div style="clear:left"></div>
+<div class="paragraph"><p>This HTTP connection can be used to monitor MuMuDVB. This feature will be implemented in a near future release. Please tell wich data can be interesting for you.</p></div>
+</div>
+<h2 id="_monitoring">9. Monitoring</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>You can use <a href="http://mmonit.com/monit/">Monit</a> to monitor MuMuDVB an restart it when it experiences problems (MuMuDVB kill himself when big issues appear).</p></div>
+<div class="paragraph"><p>You have to install the init scripts (automatic if you used the Debian package) and add the following lines to your <tt>/etc/monit/services</tt> file:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><tt>check process mumudvb with pidfile /var/run/mumudvb/mumudvb_carte0.pid
+    start program = "/etc/init.d/mumudvb start"
+    stop program = "/etc/init.d/mumudvb stop"</tt></pre>
+</div></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">The 0 have to be replaced by the DVB card number if you have multiples cards.</td>
+</tr></table>
+</div>
+<div class="paragraph"><p>For more detailled information, refer to the <a href="http://mmonit.com/monit/">Monit Website</a>.</p></div>
+<div class="paragraph"><p>MuMuDVB usually run for many days without problems, but with monit you are safe. Monit is also able to send e-mails in case of problems.</p></div>
+</div>
+<h2 id="_scrambled_channels_support">10. Scrambled channels support</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Important note : check the contract with your broadcaster to see if you are allowed to stream the scrambled channels you&#8217;re subscribed to.</p></div>
+<h3 id="_hardware_descrambling">10.1. Hardware descrambling</h3><div style="clear:left"></div>
+<div class="paragraph"><p>MuMuDVB supports scrambled channels via hardware descrambling i.e. a CAM (Conditionnal Access Module). It can ask the CAM to descramble multiple channels if the CAM supports it (Aston Pro, or PowerCam Pro are known to work with multiple channels).</p></div>
+<div class="paragraph"><p>If you are limited by the number of PIDs the can can decrypt simultaneously, it is possible to ask the CAM to decrypt only the audio and video. This feature is not implemented, please ask if you need it.</p></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">The hardware descramblig uses almost no CPU, all the descrambling is made by the CAM.</td>
+</tr></table>
+</div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">MuMuDVB doesn&#8217;t query the CAM before asking for descrambling. The query is not reliable. Most of CAMs answer a menu when the descrambling is not possible and MuMuDVB will display it on the standard error.</td>
+</tr></table>
+</div>
+<div class="paragraph"><p>The information concerning the CAM is stored in <em>'</em>/var/run/mumudvb/caminfo_carte%d''' where %d is the DVB card number.</p></div>
+<div class="listingblock">
+<div class="title">Example contents of <em>'</em>/var/run/mumudvb/caminfo_carte%d'''</div>
+<div class="content">
+<pre><tt>CAM_Application_Type=01
+CAM_Application_Manufacturer=02ca
+CAM_Manufacturer_Code=3000
+CAM_Menu_String=PowerCam_HD V2.0
+ID_CA_Supported=0100
+ID_CA_Supported=0500</tt></pre>
+</div></div>
+<h4 id="_how_to_ask_mumudvb_for_descrambling">10.1.1. How to ask MuMuDVB for descrambling?</h4>
+<div class="paragraph"><div class="title">You are using full autoconfiguration :</div><p>Just add <tt>cam_support=1</tt> to your config file</p></div>
+<div class="ulist"><div class="title">You are using partial autoconfiguration or no autoconfiguration</div><ul>
+<li>
+<p>
+Add <tt>cam_support=1</tt> to your config file (before the channels)
+</p>
+</li>
+<li>
+<p>
+For each scrambled channel add the <tt>cam_pmt_pid</tt> option. This option is made for MuMuDVB to know wich PID is the PMT PID wich will be used to ask for descrambling
+</p>
+</li>
+</ul></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">You have an example of CAM support in doc/configuration_examples/autoconf1.conf</td>
+</tr></table>
+</div>
+<h3 id="_software_descrambling">10.2. Software descrambling</h3><div style="clear:left"></div>
+<div class="paragraph"><p>Important note : this solution is not allowed by some provider contracts.</p></div>
+<div class="paragraph"><p>MuMuDVB has been reported to work with software descrambling solutions like sascng + newcs + dvbloopback.</p></div>
+<div class="paragraph"><p>In this case  you don&#8217;t need to set the <tt>cam_support</tt> option. Just ajust the <tt>card</tt> option to fit with your virtual dvbloopback card.</p></div>
+<div class="paragraph"><p>If you use these solutions, see <a href="#reduce_cpu">reduce MuMuDVB CPU usage</a> section.</p></div>
+<h3 id="_scrambling_status">10.3. Scrambling status</h3><div style="clear:left"></div>
+<div class="paragraph"><p>The scrambling status is stored together with the streamed channel list.</p></div>
+<div class="listingblock">
+<div class="title">Example</div>
+<div class="content">
+<pre><tt>239.100.0.7:1234:ESCALES:PartiallyUnscrambled
+239.100.0.8:1234:Fit/Toute l'Histoire:PartiallyUnscrambled
+239.100.0.9:1234:NT1:PartiallyUnscrambled
+239.100.0.10:1234:ACTION:PartiallyUnscrambled
+239.100.0.11:1234:MANGAS:PartiallyUnscrambled
+239.100.0.12:1234:ENCYCLOPEDIA:PartiallyUnscrambled
+239.100.0.13:1234:XXL PL:PartiallyUnscrambled
+239.100.0.14:1234:France 5:HighlyScrambled
+239.100.0.16:1234:LCP:FullyUnscrambled
+239.100.0.17:1234:VIDEOCLICK:FullyUnscrambled</tt></pre>
+</div></div>
+<div class="ulist"><ul>
+<li>
+<p>
+FullyUnscrambled : less than 5% of scrambled packets
+</p>
+</li>
+<li>
+<p>
+PartiallyUnscrambled : between 5% and 95% of scrambled packets
+</p>
+</li>
+<li>
+<p>
+HighlyScrambled : more than 95% of scrambled packets
+</p>
+</li>
+</ul></div>
+</div>
+<h2 id="pat_rewrite">11. PAT (Program Allocation Table) Rewriting</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>This feature is mainly intended for set-top boxes. This option will announce only the streamed channel in the Program Allocation Table instead of all transponder channels. Computer clients parse this table and decode the first working program. Set-top boxes usually try only the first one which give usually a blank screen in most of the channels.</p></div>
+<div class="paragraph"><p>To enable PAT rewriting, add <tt>rewrite_pat=1</tt> to your config file. This feature consumes few CPU, since the rewritten PAT is stored in memory and computed only once per channel.</p></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">PAT rewrite can fail (i.e. doesn&#8217;t solve the previous symptoms) for some channels if their PMT pid is shared. In this case you have to add the <tt>ts_id</tt> option to the channel to specify the transport stream id, also known as service id.</td>
+</tr></table>
+</div>
+</div>
+<h2 id="reduce_cpu">12. Reduce MuMuDVB CPU usage (Experimental)</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Normally MuMuDVB reads the packets from the card one by one and ask the card if there is data avalaible between each packets (poll). But often the cards have an internal buffer. Because of this buffer, some pollings are useless. These pollings eat some CPU time.</p></div>
+<div class="paragraph"><p>To reduce CPU usage, one solution is to try to read several packets at the same time. To do this use the option <tt>dvr_buffer_size</tt>.</p></div>
+<div class="listingblock">
+<div class="title">Example</div>
+<div class="content">
+<pre><tt>dvr_buffer_size=40</tt></pre>
+</div></div>
+<div class="paragraph"><p>To see if the value you put is too big or to low, run MuMuDVB in verbose mode, the average number of packets received at the same time will be shown every 2 minutes. If this number if below your buffer size, it is useless to increase it.</p></div>
+<div class="paragraph"><p>The CPU usage reduction can be between 20% and 50%.</p></div>
+<div class="paragraph"><p>This feature is very new and can have sides effets, please contact if you see any.</p></div>
+<div class="paragraph"><p>If you use this option feel free to report the improvements at mumudvb @AT@ braice DOT net</p></div>
+</div>
+<h2 id="_technical_details_not_sorted">13. Technical details (not sorted)</h2>
+<div class="sectionbody">
+<div class="ulist"><ul>
+<li>
+<p>
+CPU consuming: MuMuDVB takes 15% CPU of a celeron 2.6GHz with an Hauppauge card and linux version 2.6.9 when streaming a full transponder (about 30MBit/s)
+</p>
+</li>
+<li>
+<p>
+Try to avoid old via or nForce chipsets and in general ultra low cost motherboards. They can&#8217;t deal with a lot of data on the PCI bus.
+</p>
+</li>
+<li>
+<p>
+When the program starts, he writes the channel list in the file <tt>/var/run/mumudvb/chaines_diffusees_carte%d</tt> (where %d is the card number). This file contains streamed channels (updated every 5 seconds) in the form: "name:ip:port:Scramblingstatus"
+</p>
+</li>
+<li>
+<p>
+MuMuDVB is able to support as many cards as the operating system does. Old versions of udev+glibc were not able to support more than 4 cards but this problem is solved using relatively recent versions (udev &gt; 104 and libc6 &gt; 2.7)
+</p>
+</li>
+<li>
+<p>
+When daemonized, MuMuDVB writes its process identifier in <tt>/var/run/mumudvb/mumudvb_carte%d.pid</tt>, where %d is replaced by the card number
+</p>
+</li>
+<li>
+<p>
+MuMuDVB supports satellite in the Ku band, with universal or standard LNBs. The support of satellites in the S or C band is implemented via the use of the lo_frequency option. See <tt>doc/README_CONF.txt</tt> (<a href="README_CONF.html">HTML version</a>).
+</p>
+</li>
+</ul></div>
+</div>
+<h2 id="_known_issues">14. Known issues</h2>
+<div class="sectionbody">
+<h3 id="_vlc_can_8217_t_read_the_stream_but_it_is_fine_with_xine_or_mplayer">14.1. VLC can&#8217;t read the stream but it is fine with xine or mplayer</h3><div style="clear:left"></div>
+<div class="ulist"><ul>
+<li>
+<p>
+For VLC, you must specify the PMT PID besides audio and video PIDs.
+It&#8217;s a frequent issue. To solve it you can use the verbose mode of VLC (<tt>vlc -v</tt>) and you&#8217;ll see a ligne like: <tt>[00000269] ts demuxer debug:   * number=1025 pid=110</tt> you&#8217;ll have the PMT PID associated with your program number, you can also use dvbsnoop, or see how to get pids in <tt>doc/README_CONF.txt</tt> (<a href="README_CONF.html">HTML version</a>). Another solution is to use full autoconfiguration.
+</p>
+</li>
+</ul></div>
+<h3 id="_vlc_reads_the_video_but_no_audio">14.2. VLC reads the video but no audio</h3><div style="clear:left"></div>
+<div class="ulist"><ul>
+<li>
+<p>
+This problem can happend if the PCR (i.e. clock) information is not carried with the video. In this case you have to check if the PCR PID is in the PIDs list.
+</p>
+</li>
+</ul></div>
+<h3 id="_mumudvb_can_8217_t_deamonize">14.3. MuMuDVB can&#8217;t deamonize</h3><div style="clear:left"></div>
+<div class="ulist"><ul>
+<li>
+<p>
+In order to deamonize, MuMuDVB needs the directory <tt>/var/run/mumudvb/</tt> to be writable, in order to write his process identifier and the channel list.
+</p>
+</li>
+</ul></div>
+<h3 id="_the_system_crashes_or_freeze">14.4. The system crashes or freeze</h3><div style="clear:left"></div>
+<div class="ulist"><ul>
+<li>
+<p>
+Old via chipset or nForce chipset are not professional chipsets. They can&#8217;t deal with a lot of data on PCI. But you can try to tune your BIOS.
+</p>
+</li>
+</ul></div>
+<h3 id="_tuning_issues_with_dvb_t">14.5. Tuning issues with DVB-T</h3><div style="clear:left"></div>
+<div class="ulist"><ul>
+<li>
+<p>
+You must check tuning settings, knowing that auto bandwidth usually does&#8217;nt work.
+</p>
+</li>
+</ul></div>
+<h3 id="_the_set_top_box_display_a_blank_screen">14.6. The set-top box display a blank screen</h3><div style="clear:left"></div>
+<div class="ulist"><ul>
+<li>
+<p>
+If the stream is working well when reading it with a computer and not with your set-top box, this is probably because your set-top box needs the PAT PID to be rewritten. To do this add <tt>rewrite_pat=1</tt> to your config file.
+</p>
+</li>
+</ul></div>
+<h3 id="_simple_autoconfiguration_fails_finding_the_right_pids">14.7. Simple autoconfiguration fails finding the right pids</h3><div style="clear:left"></div>
+<div class="ulist"><ul>
+<li>
+<p>
+This can happend if a PMT PIDs is shared among multiple channels, see <a href="#autoconfiguration_simple">simple autoconfiguration</a> section for more details.
+</p>
+</li>
+</ul></div>
+<h3 id="_the_cam_is_complaining_about_locked_channels">14.8. The CAM is complaining about locked channels</h3><div style="clear:left"></div>
+<div class="ulist"><ul>
+<li>
+<p>
+Some viaccess CAMs can have a lock for "mature" channels. To desactivate this lock go on the CAM menu using "gnutv -cammenu" for example (from linuxtv dvb-apps).
+</p>
+</li>
+</ul></div>
+<div class="paragraph"><p>You have to set the maturity rating to maximum and unlock Maturity rating in Bolts submenu.</p></div>
+<h3 id="_vlc_doesn_8217_t_select_the_good_program_even_with_pat_rewriting">14.9. VLC doesn&#8217;t select the good program even with PAT rewriting</h3><div style="clear:left"></div>
+<div class="paragraph"><p>This is a VLC bug <a href="https://trac.videolan.org/vlc/ticket/2782">https://trac.videolan.org/vlc/ticket/2782</a></p></div>
+<div class="paragraph"><p>The PAT rewrite announces only the streamed channel in the PAT, but VLC also read the SDT to find channels (it should only refer to the PAT) and sometimes select the bad program.
+A temporary workaround is avoid sending the SDT PID. You can do this using the <tt>dont_send_sdt</tt> option.</p></div>
+<div class="paragraph"><p>This option will be replaced by a SDT rewrite.</p></div>
+<h3 id="problems_hp">14.10. HELP ! my multicast traffic is flooded (I have a HP procurve switch)</h3><div style="clear:left"></div>
+<div class="paragraph"><p>The best explanation is found in the HP multicast routing guide.</p></div>
+<div class="paragraph"><p>On switches that do not support Data-Driven IGMP, unregistered multicast
+groups are flooded to the VLAN rather than pruned. In this scenario, Fast-Leave IGMP can actually increase the problem of multicast flooding by removing the IGMP group filter before the Querier has recognized the IGMP leave. The Querier will continue to transmit the multicast group during this short time, and because the group is no longer registered the switch will then flood the multicast group to all ports.</p></div>
+<div class="paragraph"><p>On ProCurve switches that do support Data-Driven IGMP (“Smart” IGMP),
+when unregistered multicasts are received the switch automatically filters (drops) them. Thus, the sooner the IGMP Leave is processed, the sooner this multicast traffic stops flowing.</p></div>
+<div class="paragraph"><p>Switches without problems (supporting data driven igmp):</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+Switch 6400cl
+</p>
+</li>
+<li>
+<p>
+Switch 6200yl
+</p>
+</li>
+<li>
+<p>
+Switch 5400zl
+</p>
+</li>
+<li>
+<p>
+Switch 5300xl
+</p>
+</li>
+<li>
+<p>
+Switch 4200vl
+</p>
+</li>
+<li>
+<p>
+Switch 3500yl
+</p>
+</li>
+<li>
+<p>
+Switch 3400cl
+</p>
+</li>
+<li>
+<p>
+Switch 2900
+</p>
+</li>
+<li>
+<p>
+Switch 2800
+</p>
+</li>
+<li>
+<p>
+Switch 2500
+</p>
+</li>
+</ul></div>
+<div class="paragraph"><p>Switches WITH problems (NOT supporting data driven igmp):</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+Switch 2600
+</p>
+</li>
+<li>
+<p>
+Switch 2600-PWR
+</p>
+</li>
+<li>
+<p>
+Switch 4100gl
+</p>
+</li>
+<li>
+<p>
+Switch 6108
+</p>
+</li>
+</ul></div>
+<div class="paragraph"><p>So if you have one of the above switches this is "normal". The workaround is to make MuMuDVB join the multicast group. For this put <tt>multicast_auto_join=1</tt> in your configuration file.</p></div>
+<h3 id="_mumudvb_is_eating_a_lot_of_cpu_with_sasc_ng">14.11. MuMuDVB is eating a lot of CPU with sasc-ng !</h3><div style="clear:left"></div>
+<div class="paragraph"><p>If you use sasc-ng + dvbloopback, MuMuDVB will eat more CPU than needed.</p></div>
+<div class="paragraph"><p>A part of this CPU time is used to descramble the channels, another part is due to the way dvbloopback is implemented and the way MuMuDVB ask the card.</p></div>
+<div class="paragraph"><p>To reduce the cpu usage, see <a href="#reduce_cpu">reduce MuMuDVB CPU usage</a> section. In the case of using MuMuDVB with sasc-ng this improvement can be quite large.</p></div>
+</div>
+<div id="footer">
+<div id="footer-text">
+Last updated 2009-09-26 18:05:40 CEST
+</div>
+</div>
+</body>
+</html>
diff --git a/doc/html/README_CONF-fr.html b/doc/html/README_CONF-fr.html
new file mode 100644
index 0000000..346ae35
--- /dev/null
+++ b/doc/html/README_CONF-fr.html
@@ -0,0 +1,1274 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
+    "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<meta name="generator" content="AsciiDoc 8.4.4" />
+<title>MuMuDVB - README concernant le fichier de configuration</title>
+<style type="text/css">
+/* Debug borders */
+p, li, dt, dd, div, pre, h1, h2, h3, h4, h5, h6 {
+/*
+  border: 1px solid red;
+*/
+}
+
+body {
+  margin: 1em 5% 1em 5%;
+}
+
+a {
+  color: blue;
+  text-decoration: underline;
+}
+a:visited {
+  color: fuchsia;
+}
+
+em {
+  font-style: italic;
+  color: navy;
+}
+
+strong {
+  font-weight: bold;
+  color: #083194;
+}
+
+tt {
+  color: navy;
+}
+
+h1, h2, h3, h4, h5, h6 {
+  color: #527bbd;
+  font-family: sans-serif;
+  margin-top: 1.2em;
+  margin-bottom: 0.5em;
+  line-height: 1.3;
+}
+
+h1, h2, h3 {
+  border-bottom: 2px solid silver;
+}
+h2 {
+  padding-top: 0.5em;
+}
+h3 {
+  float: left;
+}
+h3 + * {
+  clear: left;
+}
+
+div.sectionbody {
+  font-family: serif;
+  margin-left: 0;
+}
+
+hr {
+  border: 1px solid silver;
+}
+
+p {
+  margin-top: 0.5em;
+  margin-bottom: 0.5em;
+}
+
+ul, ol, li > p {
+  margin-top: 0;
+}
+
+pre {
+  padding: 0;
+  margin: 0;
+}
+
+span#author {
+  color: #527bbd;
+  font-family: sans-serif;
+  font-weight: bold;
+  font-size: 1.1em;
+}
+span#email {
+}
+span#revision {
+  font-family: sans-serif;
+}
+
+div#footer {
+  font-family: sans-serif;
+  font-size: small;
+  border-top: 2px solid silver;
+  padding-top: 0.5em;
+  margin-top: 4.0em;
+}
+div#footer-text {
+  float: left;
+  padding-bottom: 0.5em;
+}
+div#footer-badges {
+  float: right;
+  padding-bottom: 0.5em;
+}
+
+div#preamble {
+  margin-top: 1.5em;
+  margin-bottom: 1.5em;
+}
+div.tableblock, div.imageblock, div.exampleblock, div.verseblock,
+div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,
+div.admonitionblock {
+  margin-top: 1.5em;
+  margin-bottom: 1.5em;
+}
+div.admonitionblock {
+  margin-top: 2.5em;
+  margin-bottom: 2.5em;
+}
+
+div.content { /* Block element content. */
+  padding: 0;
+}
+
+/* Block element titles. */
+div.title, caption.title {
+  color: #527bbd;
+  font-family: sans-serif;
+  font-weight: bold;
+  text-align: left;
+  margin-top: 1.0em;
+  margin-bottom: 0.5em;
+}
+div.title + * {
+  margin-top: 0;
+}
+
+td div.title:first-child {
+  margin-top: 0.0em;
+}
+div.content div.title:first-child {
+  margin-top: 0.0em;
+}
+div.content + div.title {
+  margin-top: 0.0em;
+}
+
+div.sidebarblock > div.content {
+  background: #ffffee;
+  border: 1px solid silver;
+  padding: 0.5em;
+}
+
+div.listingblock > div.content {
+  border: 1px solid silver;
+  background: #f4f4f4;
+  padding: 0.5em;
+}
+
+div.quoteblock {
+  padding-left: 2.0em;
+  margin-right: 10%;
+}
+div.quoteblock > div.attribution {
+  padding-top: 0.5em;
+  text-align: right;
+}
+
+div.verseblock {
+  padding-left: 2.0em;
+  margin-right: 10%;
+}
+div.verseblock > div.content {
+  white-space: pre;
+}
+div.verseblock > div.attribution {
+  padding-top: 0.75em;
+  text-align: left;
+}
+/* DEPRECATED: Pre version 8.2.7 verse style literal block. */
+div.verseblock + div.attribution {
+  text-align: left;
+}
+
+div.admonitionblock .icon {
+  vertical-align: top;
+  font-size: 1.1em;
+  font-weight: bold;
+  text-decoration: underline;
+  color: #527bbd;
+  padding-right: 0.5em;
+}
+div.admonitionblock td.content {
+  padding-left: 0.5em;
+  border-left: 2px solid silver;
+}
+
+div.exampleblock > div.content {
+  border-left: 2px solid silver;
+  padding: 0.5em;
+}
+
+div.imageblock div.content { padding-left: 0; }
+div.imageblock img { border: 1px solid silver; }
+span.image img { border-style: none; }
+
+dl {
+  margin-top: 0.8em;
+  margin-bottom: 0.8em;
+}
+dt {
+  margin-top: 0.5em;
+  margin-bottom: 0;
+  font-style: normal;
+  color: navy;
+}
+dd > *:first-child {
+  margin-top: 0.1em;
+}
+
+ul, ol {
+    list-style-position: outside;
+}
+ol.arabic {
+  list-style-type: decimal;
+}
+ol.loweralpha {
+  list-style-type: lower-alpha;
+}
+ol.upperalpha {
+  list-style-type: upper-alpha;
+}
+ol.lowerroman {
+  list-style-type: lower-roman;
+}
+ol.upperroman {
+  list-style-type: upper-roman;
+}
+
+div.compact ul, div.compact ol,
+div.compact p, div.compact p,
+div.compact div, div.compact div {
+  margin-top: 0.1em;
+  margin-bottom: 0.1em;
+}
+
+div.tableblock > table {
+  border: 3px solid #527bbd;
+}
+thead {
+  font-family: sans-serif;
+  font-weight: bold;
+}
+tfoot {
+  font-weight: bold;
+}
+td > div.verse {
+  white-space: pre;
+}
+p.table {
+  margin-top: 0;
+}
+/* Because the table frame attribute is overriden by CSS in most browsers. */
+div.tableblock > table[frame="void"] {
+  border-style: none;
+}
+div.tableblock > table[frame="hsides"] {
+  border-left-style: none;
+  border-right-style: none;
+}
+div.tableblock > table[frame="vsides"] {
+  border-top-style: none;
+  border-bottom-style: none;
+}
+
+
+div.hdlist {
+  margin-top: 0.8em;
+  margin-bottom: 0.8em;
+}
+div.hdlist tr {
+  padding-bottom: 15px;
+}
+dt.hdlist1.strong, td.hdlist1.strong {
+  font-weight: bold;
+}
+td.hdlist1 {
+  vertical-align: top;
+  font-style: normal;
+  padding-right: 0.8em;
+  color: navy;
+}
+td.hdlist2 {
+  vertical-align: top;
+}
+div.hdlist.compact tr {
+  margin: 0;
+  padding-bottom: 0;
+}
+
+.comment {
+  background: yellow;
+}
+
+ at media print {
+  div#footer-badges { display: none; }
+}
+
+div#toctitle {
+  color: #527bbd;
+  font-family: sans-serif;
+  font-size: 1.1em;
+  font-weight: bold;
+  margin-top: 1.0em;
+  margin-bottom: 0.1em;
+}
+
+div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 {
+  margin-top: 0;
+  margin-bottom: 0;
+}
+div.toclevel2 {
+  margin-left: 2em;
+  font-size: 0.9em;
+}
+div.toclevel3 {
+  margin-left: 4em;
+  font-size: 0.9em;
+}
+div.toclevel4 {
+  margin-left: 6em;
+  font-size: 0.9em;
+}
+/* Workarounds for IE6's broken and incomplete CSS2. */
+
+div.sidebar-content {
+  background: #ffffee;
+  border: 1px solid silver;
+  padding: 0.5em;
+}
+div.sidebar-title, div.image-title {
+  color: #527bbd;
+  font-family: sans-serif;
+  font-weight: bold;
+  margin-top: 0.0em;
+  margin-bottom: 0.5em;
+}
+
+div.listingblock div.content {
+  border: 1px solid silver;
+  background: #f4f4f4;
+  padding: 0.5em;
+}
+
+div.quoteblock-attribution {
+  padding-top: 0.5em;
+  text-align: right;
+}
+
+div.verseblock-content {
+  white-space: pre;
+}
+div.verseblock-attribution {
+  padding-top: 0.75em;
+  text-align: left;
+}
+
+div.exampleblock-content {
+  border-left: 2px solid silver;
+  padding-left: 0.5em;
+}
+
+/* IE6 sets dynamically generated links as visited. */
+div#toc a:visited { color: blue; }
+</style>
+<script type="text/javascript">
+/*<![CDATA[*/
+window.onload = function(){generateToc(2)}
+/* Author: Mihai Bazon, September 2002
+ * http://students.infoiasi.ro/~mishoo
+ *
+ * Table Of Content generator
+ * Version: 0.4
+ *
+ * Feel free to use this script under the terms of the GNU General Public
+ * License, as long as you do not remove or alter this notice.
+ */
+
+ /* modified by Troy D. Hanson, September 2006. License: GPL */
+ /* modified by Stuart Rackham, October 2006. License: GPL */
+
+function getText(el) {
+  var text = "";
+  for (var i = el.firstChild; i != null; i = i.nextSibling) {
+    if (i.nodeType == 3 /* Node.TEXT_NODE */) // IE doesn't speak constants.
+      text += i.data;
+    else if (i.firstChild != null)
+      text += getText(i);
+  }
+  return text;
+}
+
+function TocEntry(el, text, toclevel) {
+  this.element = el;
+  this.text = text;
+  this.toclevel = toclevel;
+}
+
+function tocEntries(el, toclevels) {
+  var result = new Array;
+  var re = new RegExp('[hH]([2-'+(toclevels+1)+'])');
+  // Function that scans the DOM tree for header elements (the DOM2
+  // nodeIterator API would be a better technique but not supported by all
+  // browsers).
+  var iterate = function (el) {
+    for (var i = el.firstChild; i != null; i = i.nextSibling) {
+      if (i.nodeType == 1 /* Node.ELEMENT_NODE */) {
+        var mo = re.exec(i.tagName)
+        if (mo)
+          result[result.length] = new TocEntry(i, getText(i), mo[1]-1);
+        iterate(i);
+      }
+    }
+  }
+  iterate(el);
+  return result;
+}
+
+// This function does the work. toclevels = 1..4.
+function generateToc(toclevels) {
+  var toc = document.getElementById("toc");
+  var entries = tocEntries(document.getElementsByTagName("body")[0], toclevels);
+  for (var i = 0; i < entries.length; ++i) {
+    var entry = entries[i];
+    if (entry.element.id == "")
+      entry.element.id = "toc" + i;
+    var a = document.createElement("a");
+    a.href = "#" + entry.element.id;
+    a.appendChild(document.createTextNode(entry.text));
+    var div = document.createElement("div");
+    div.appendChild(a);
+    div.className = "toclevel" + entry.toclevel;
+    toc.appendChild(div);
+  }
+  if (entries.length == 0)
+    document.getElementById("header").removeChild(toc);
+}
+/*]]>*/
+</script>
+</head>
+<body>
+<div id="header">
+<h1>MuMuDVB - README concernant le fichier de configuration</h1>
+<span id="author">Brice Dubost</span><br />
+<span id="email"><tt>&lt;<a href="mailto:mumudvb at braice.net">mumudvb at braice.net</a>&gt;</tt></span><br />
+Version 1.6
+<div id="toc">
+  <div id="toctitle">Table of Contents</div>
+  <noscript><p><b>JavaScript must be enabled in your browser to display the table of contents.</b></p></noscript>
+</div>
+</div>
+<h2 id="_comportement_g_n_ral">1. Comportement général</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Pour fonctionner correctement, MuMuDVB a besoin d&#8217;un fichier de configuration.</p></div>
+<div class="paragraph"><p>L&#8217;ordre des paramètres n&#8217;a, la plupart du temps, pas d&#8217;importance.</p></div>
+<div class="paragraph"><p>Vous pouvez mettre des commentaires n&#8217;importe où dans le fichier de configuration, il suffit de commencer la ligne par un <tt>#</tt>. Les commentaires dans une ligne ne sont pas autorisés, exemple <tt>port=1234 #Le port multicast</tt> n&#8217;est pas une ligne valide.</p></div>
+<div class="paragraph"><p>Tous les paramètres s'écrivent sous la forme <tt>nom=valeur</tt></p></div>
+<div class="listingblock">
+<div class="title">Example</div>
+<div class="content">
+<pre><tt>#La fréquence d'accord
+freq=11987</tt></pre>
+</div></div>
+<div class="paragraph"><p>Le fichier de configurations est constitué de deux parts : une partie générale, et une partie définissant les chaînes</p></div>
+<h3 id="_partie_g_n_rale">1.1. Partie générale</h3><div style="clear:left"></div>
+<div class="paragraph"><p>Cette partie, la première du fichier de configuration, contient les paramètres nécessaires pour accorder la carte DVB et les autres paramètres globaux.</p></div>
+<div class="paragraph"><p>Pour les paramètres concernant l&#8217;accord de la carte, référez vous à la section <a href="#tuning">paramètres d&#8217;accord</a>. Pour les autres paramètres globaux, référez vous à la section <a href="#other_global">paramètres globaux</a></p></div>
+<h3 id="_partie_concernant_les_cha_nes">1.2. Partie concernant les chaînes</h3><div style="clear:left"></div>
+<div class="paragraph"><p>Si vous n&#8217;utilisez pas l&#8217;autoconfiguration complète, vous devez définir les chaînes que vous voulez diffuser.</p></div>
+<div class="paragraph"><p>Chaque définition de chaîne commence par une ligne <tt>ip=</tt> et fini par une ligne <tt>pids=</tt>.</p></div>
+<div class="paragraph"><p>Référez vous a la section <a href="#channel_parameters">configuration des chaînes</a> pour une liste détaillée des différents paramètres.</p></div>
+</div>
+<h2 id="_fichiers_d_8217_exemple">2. Fichiers d&#8217;exemple</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Vous pouvez trouver des fichiers de configuration documentés dans le répertoire  <tt>doc/configuration_examples</tt></p></div>
+</div>
+<h2 id="tuning">3. Paramètres concernant l&#8217;accord de la carte</h2>
+<div class="sectionbody">
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">Pour la réception terrestre et câblée, vous pouvez utiliser w_scan pour savoir quelles chaînes vous pouvez recevoir. Pour plus de détails référez vous a la section <a href="#w_scan">w_scan</a>. Sinon vous pouvez regarder le contenu des "initial tuning files" fourni avec dvb-apps de linuxtv.
+Le site  <a href="http://www.kingofsat.net">King Of Sat</a> référence les chaînes satellite pouvant être reçues en Europe</td>
+</tr></table>
+</div>
+<h3 id="_param_tres_communs_tous_les_modes_de_r_ception_terrestre_satellite_et_c_ble">3.1. Paramètres communs à tous les modes de réception (terrestre, satellite et câble)</h3><div style="clear:left"></div>
+<div class="paragraph"><p>Dans la liste suivante, seul le paramètre <tt>freq</tt> est obligatoire</p></div>
+<div class="tableblock">
+<table rules="all"
+width="80%"
+frame="border"
+cellspacing="0" cellpadding="4">
+<col width="14%" />
+<col width="57%" />
+<col width="7%" />
+<col width="21%" />
+<thead>
+<tr>
+<th align="left" valign="top">Nom </th>
+<th align="left" valign="top">Description </th>
+<th align="left" valign="top"> Valeur par défaut </th>
+<th align="left" valign="top"> Commentaires</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td align="left" valign="top"><p class="table">freq</p></td>
+<td align="left" valign="top"><p class="table">Fréquence du transpondeur en MHz</p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+<td align="left" valign="top"><p class="table">Obligatoire</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">card</p></td>
+<td align="left" valign="top"><p class="table">Le numéro de carte DVB/ATSC</p></td>
+<td align="left" valign="top"><p class="table">0</p></td>
+<td align="left" valign="top"><p class="table">Limité seulement par l&#8217;OS</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">tuning_timeout</p></td>
+<td align="left" valign="top"><p class="table">Temps d&#8217;attente pour l&#8217;accord de la carte</p></td>
+<td align="left" valign="top"><p class="table">300</p></td>
+<td align="left" valign="top"><p class="table">0 = attente infinie</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">timeout_no_diff</p></td>
+<td align="left" valign="top"><p class="table">Si aucune chaîne n&#8217;est diffusée, MuMuDVB se "suicidera" au bout de ce délai ( en secondes )</p></td>
+<td align="left" valign="top"><p class="table">600</p></td>
+<td align="left" valign="top"><p class="table">0 = attente infinie</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">dont_tune</p></td>
+<td align="left" valign="top"><p class="table">MuMuDVB n&#8217;accordera pas la carte si ce paramètre est spécifié (un autre programme comme tzap l&#8217;a fait)</p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+<td align="left" valign="top"><p class="table">Ceci est principalement pour le DVB-S2</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<h3 id="_param_tres_sp_cifiques_la_r_ception_satellite">3.2. Paramètres spécifiques à la réception satellite</h3><div style="clear:left"></div>
+<div class="tableblock">
+<table rules="all"
+width="80%"
+frame="border"
+cellspacing="0" cellpadding="4">
+<col width="14%" />
+<col width="42%" />
+<col width="7%" />
+<col width="21%" />
+<col width="14%" />
+<thead>
+<tr>
+<th align="left" valign="top">Nom </th>
+<th align="left" valign="top">Description </th>
+<th align="left" valign="top"> Valeur par défaut </th>
+<th align="left" valign="top"> Valeurs possibles </th>
+<th align="left" valign="top"> Commentaires</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td align="left" valign="top"><p class="table">pol</p></td>
+<td align="left" valign="top"><p class="table">Polarisation. Un caractère. <em>v</em> (verticale), <em>h</em> (horizontale), <em>l</em> ( circulaire gauche ), <em>r</em> ( circulaire droite )</p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+<td align="left" valign="top"><p class="table">h, H, v, V, l, L, r ou R</p></td>
+<td align="left" valign="top"><p class="table">Obligatoire</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">srate</p></td>
+<td align="left" valign="top"><p class="table">Le taux de symboles ( symbol rate )</p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+<td align="left" valign="top"><p class="table">Obligatoire</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">lnb_type</p></td>
+<td align="left" valign="top"><p class="table">Le type de LNB</p></td>
+<td align="left" valign="top"><p class="table">universal</p></td>
+<td align="left" valign="top"><p class="table">universal, standard</p></td>
+<td align="left" valign="top"><p class="table">Universel : deux oscillateurs locaux. Standard : un oscillateur local. La plupart des LNBs sont universels.</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">lnb_lof_standard</p></td>
+<td align="left" valign="top"><p class="table">La fréquence de l&#8217;oscillateur local du LNB ( lorsque le type de LNB est standard )</p></td>
+<td align="left" valign="top"><p class="table">10750</p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+<td align="left" valign="top"><p class="table">En MHz, voir plus bas</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">lnb_slof</p></td>
+<td align="left" valign="top"><p class="table">La fréquence de commutation pour le LNB, définit les bandes haute et basse ( lorsque le type de LNB est universel )</p></td>
+<td align="left" valign="top"><p class="table">11700</p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+<td align="left" valign="top"><p class="table">En MHz, voir plus bas</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">lnb_lof_low</p></td>
+<td align="left" valign="top"><p class="table">La fréquence de l&#8217;oscillateur local du LNB pour la bande basse ( lorsque le type de LNB est universel )</p></td>
+<td align="left" valign="top"><p class="table">9750</p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+<td align="left" valign="top"><p class="table">En MHz, voir plus bas</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">lnb_lof_high</p></td>
+<td align="left" valign="top"><p class="table">La fréquence de l&#8217;oscillateur local du LNB pour la bande haute ( lorsque le type de LNB est universel )</p></td>
+<td align="left" valign="top"><p class="table">10600</p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+<td align="left" valign="top"><p class="table">En MHz, voir plus bas</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">sat_number</p></td>
+<td align="left" valign="top"><p class="table">Le numéro de satellite si vous avez plusieurs LNB. Aucun effet si égal à 0 (seulement ton 22kHz et 13/18V), envoie un message diseqc si différent de 0</p></td>
+<td align="left" valign="top"><p class="table">0</p></td>
+<td align="left" valign="top"><p class="table">0, 1 à 4</p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">lnb_voltage_off</p></td>
+<td align="left" valign="top"><p class="table">Force la tension pour le LNB à 0V (au lieu de 13V ou 18V). Ceci est utile si votre LNB possède sa propre alimentation.</p></td>
+<td align="left" valign="top"><p class="table">0</p></td>
+<td align="left" valign="top"><p class="table">0 ou 1</p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">coderate</p></td>
+<td align="left" valign="top"><p class="table">coderate, appelé aussi FEC</p></td>
+<td align="left" valign="top"><p class="table">auto</p></td>
+<td align="left" valign="top"><p class="table">none, 1/2, 2/3, 3/4, 4/5, 5/6, 6/7, 7/8, 8/9, auto</p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<h4 id="_fr_quences_pour_l_8217_oscillateur_local">3.2.1. Fréquences pour l&#8217;oscillateur local :</h4>
+<div class="ulist"><ul>
+<li>
+<p>
+Bande S 3650 MHz
+</p>
+</li>
+<li>
+<p>
+Bande C (Hi) 5950 MHz
+</p>
+</li>
+<li>
+<p>
+Bande C (Lo) 5150 MHz
+</p>
+</li>
+<li>
+<p>
+Bande Ku : C&#8217;est la bande par défaut, vous n&#8217;avez pas a spécifier la fréquence de l&#8217;oscillateur local. Pour information Hi band : 10600, Low band : 9750, Single : 10750
+</p>
+</li>
+</ul></div>
+<h3 id="_param_tres_sp_cifiques_la_r_ception_terrestre_dvb_t">3.3. Paramètres spécifiques à la réception terrestre (DVB-T)</h3><div style="clear:left"></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content"><tt>auto</tt> marche habituellement bien excepté pour <tt>bandwidth</tt></td>
+</tr></table>
+</div>
+<div class="tableblock">
+<table rules="all"
+width="80%"
+frame="border"
+cellspacing="0" cellpadding="4">
+<col width="13%" />
+<col width="53%" />
+<col width="6%" />
+<col width="26%" />
+<thead>
+<tr>
+<th align="left" valign="top">Nom </th>
+<th align="left" valign="top">Description </th>
+<th align="left" valign="top"> Valeur par défaut </th>
+<th align="left" valign="top"> Valeurs possibles</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td align="left" valign="top"><p class="table">bandwidth</p></td>
+<td align="left" valign="top"><p class="table">Largeur de bande</p></td>
+<td align="left" valign="top"><p class="table">8MHz</p></td>
+<td align="left" valign="top"><p class="table">8MHz, 7MHz, 6MHz, auto</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">trans_mode</p></td>
+<td align="left" valign="top"><p class="table">Mode de transmission</p></td>
+<td align="left" valign="top"><p class="table">auto</p></td>
+<td align="left" valign="top"><p class="table">2k, 8k, auto</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">guardinterval</p></td>
+<td align="left" valign="top"><p class="table">Intervalle de garde</p></td>
+<td align="left" valign="top"><p class="table">auto</p></td>
+<td align="left" valign="top"><p class="table">1/32, 1/16, 1/8, 1/4, auto</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">coderate</p></td>
+<td align="left" valign="top"><p class="table">coderate, aussi appelé FEC</p></td>
+<td align="left" valign="top"><p class="table">auto</p></td>
+<td align="left" valign="top"><p class="table">none, 1/2, 2/3, 3/4, 4/5, 5/6, 6/7, 7/8, 8/9, auto</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<h3 id="_param_tres_sp_cifiques_a_la_r_ception_par_c_ble_dvb_c">3.4. Paramètres spécifiques a la réception par câble (DVB-C)</h3><div style="clear:left"></div>
+<div class="tableblock">
+<table rules="all"
+width="80%"
+frame="border"
+cellspacing="0" cellpadding="4">
+<col width="14%" />
+<col width="42%" />
+<col width="7%" />
+<col width="21%" />
+<col width="14%" />
+<thead>
+<tr>
+<th align="left" valign="top">Nom </th>
+<th align="left" valign="top">Description </th>
+<th align="left" valign="top"> Valeur par défaut </th>
+<th align="left" valign="top"> Valeurs possibles </th>
+<th align="left" valign="top"> Commentaires</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td align="left" valign="top"><p class="table">srate</p></td>
+<td align="left" valign="top"><p class="table">Le taux de symboles (Symbol rate)</p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+<td align="left" valign="top"><p class="table">obligatoire</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">qam</p></td>
+<td align="left" valign="top"><p class="table">Modulation : quadrature amplitude modulation</p></td>
+<td align="left" valign="top"><p class="table">auto</p></td>
+<td align="left" valign="top"><p class="table">qpsk, 16, 32, 64, 128, 256, auto</p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">coderate</p></td>
+<td align="left" valign="top"><p class="table">coderate aussi appelé FEC</p></td>
+<td align="left" valign="top"><p class="table">auto</p></td>
+<td align="left" valign="top"><p class="table">none, 1/2, 2/3, 3/4, 4/5, 5/6, 6/7, 7/8, 8/9, auto</p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content"><a href="http://www.rfcafe.com/references/electrical/spectral-inv.htm">L&#8217;inversion spectrale</a> est fixée à OFF, ceci doit fonctionner pour la plupart des utilisateurs. Merci de contacter si vous avez besoin de changer ce paramètre.</td>
+</tr></table>
+</div>
+<h3 id="_param_tres_pour_la_r_ception_atsc_c_ble_ou_terrestre">3.5. Paramètres pour la réception ATSC (Câble ou Terrestre)</h3><div style="clear:left"></div>
+<div class="tableblock">
+<table rules="all"
+width="80%"
+frame="border"
+cellspacing="0" cellpadding="4">
+<col width="14%" />
+<col width="42%" />
+<col width="14%" />
+<col width="28%" />
+<thead>
+<tr>
+<th align="left" valign="top">Nom </th>
+<th align="left" valign="top">Description </th>
+<th align="left" valign="top"> Valeur par défaut </th>
+<th align="left" valign="top"> Valeurs possibles</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td align="left" valign="top"><p class="table">atsc_modulation</p></td>
+<td align="left" valign="top"><p class="table">La modulation</p></td>
+<td align="left" valign="top"><p class="table">vsb8</p></td>
+<td align="left" valign="top"><p class="table">vsb8, vsb16, qam256, qam64, qamauto</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">VSB 8 est la modulation par défaut pour la plupart des diffuseurs ATSC terrestre.</td>
+</tr></table>
+</div>
+</div>
+<h2 id="other_global">4. Autres paramètres globaux</h2>
+<div class="sectionbody">
+<div class="tableblock">
+<table rules="all"
+width="80%"
+frame="border"
+cellspacing="0" cellpadding="4">
+<col width="12%" />
+<col width="50%" />
+<col width="6%" />
+<col width="12%" />
+<col width="18%" />
+<thead>
+<tr>
+<th align="left" valign="top">Nom </th>
+<th align="left" valign="top">Description </th>
+<th align="left" valign="top"> Valeur par défaut </th>
+<th align="left" valign="top"> Valeurs possibles </th>
+<th align="left" valign="top"> Commentaires</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td align="left" valign="top"><p class="table">common_port</p></td>
+<td align="left" valign="top"><p class="table">Le port par défaut pour la diffusion multicast</p></td>
+<td align="left" valign="top"><p class="table">1234</p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">multicast_ttl</p></td>
+<td align="left" valign="top"><p class="table">Le TTL multicast</p></td>
+<td align="left" valign="top"><p class="table">2</p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">multicast_auto_join</p></td>
+<td align="left" valign="top"><p class="table">Si positionné à 1 MuMuDVB joindra automatiquement tous les groupes multicast créés</p></td>
+<td align="left" valign="top"><p class="table">0</p></td>
+<td align="left" valign="top"><p class="table">0 or 1</p></td>
+<td align="left" valign="top"><p class="table">cf problèmes connus dans le README</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">dont_send_sdt</p></td>
+<td align="left" valign="top"><p class="table">Si positionné à 1, MuMuDVB n&#8217;enverra pas le PID SDT, c&#8217;est un contournement d&#8217;un bug de VLC</p></td>
+<td align="left" valign="top"><p class="table">0</p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+<td align="left" valign="top"><p class="table">voir le README pour plus de détails</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">dont_send_scrambled</p></td>
+<td align="left" valign="top"><p class="table">Si positionné à 1, MuMuDVB n&#8217;enverra pas les paquets brouillés. Cela retirera (indirectement) les annonces SAP pour les chaînes brouillées</p></td>
+<td align="left" valign="top"><p class="table">0</p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">show_traffic_interval</p></td>
+<td align="left" valign="top"><p class="table">Le temps en secondes entre deux affichages du trafic</p></td>
+<td align="left" valign="top"><p class="table">10</p></td>
+<td align="left" valign="top"><p class="table">&gt;2</p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">rtp_header</p></td>
+<td align="left" valign="top"><p class="table">Envoie les en-têtes RTP avec le flux (excepté pour l&#8217;unicast HTTP)</p></td>
+<td align="left" valign="top"><p class="table">0</p></td>
+<td align="left" valign="top"><p class="table">0 ou 1</p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">dvr_buffer_size</p></td>
+<td align="left" valign="top"><p class="table">La taille du  "tampon DVR" en paquets de 188 octets</p></td>
+<td align="left" valign="top"><p class="table">1</p></td>
+<td align="left" valign="top"><p class="table">&gt;=1</p></td>
+<td align="left" valign="top"><p class="table">Fonctionnalité "expérimentale", se référer au README</p></td>
+</tr>
+<tr>
+<td colspan="5" align="center" valign="top"><p class="table"><strong>Paramètres concernant le support des cartes CAM</strong></p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">cam_support</p></td>
+<td align="left" valign="top"><p class="table">Indique si l&#8217;on veux le support pour les chaînes brouillées</p></td>
+<td align="left" valign="top"><p class="table">0</p></td>
+<td align="left" valign="top"><p class="table">0 ou 1</p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">cam_number</p></td>
+<td align="left" valign="top"><p class="table">Le numéro du module CAM que l&#8217;on veux utiliser</p></td>
+<td align="left" valign="top"><p class="table">0</p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+<td align="left" valign="top"><p class="table">Dans le cas ou vouz avez plusieurs modules CAM sur une carte DVB</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">cam_reset_interval</p></td>
+<td align="left" valign="top"><p class="table">Le temps (en secondes) que MuMuDVB attends pour que la CAM soit initialisée. Après ce délai, MuMuDVB tentera de réinitialiser le module CAM.</p></td>
+<td align="left" valign="top"><p class="table">30</p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+<td align="left" valign="top"><p class="table">Si la réinitialisation échoue, MuMuDVB retentera de réinitialiser le module après cet intervelle de temps. Le nombre maximum de tentatives de réinitialisations avant de quitter est 5.</p></td>
+</tr>
+<tr>
+<td colspan="5" align="center" valign="top"><p class="table"><strong>Paramètres pour l&#8217;autoconfiguration</strong></p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">autoconfiguration</p></td>
+<td align="left" valign="top"><p class="table">autoconfiguration 1: Trouve les PIDs audio et video, 2: autoconfiguration complète</p></td>
+<td align="left" valign="top"><p class="table">0</p></td>
+<td align="left" valign="top"><p class="table">0, 1 or 2</p></td>
+<td align="left" valign="top"><p class="table">Se référer au README pour plus de détails</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">autoconf_ip_header</p></td>
+<td align="left" valign="top"><p class="table">Pour l&#8217;autoconfiguration complète, la première partie de l&#8217;ip des chaînes diffusées</p></td>
+<td align="left" valign="top"><p class="table">239.100</p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+<td align="left" valign="top"><p class="table">Se référer au README pour plus de détails</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">autoconf_radios</p></td>
+<td align="left" valign="top"><p class="table">Lors de l&#8217;autoconfiguration complète, est ce que les radios seront diffusées ?</p></td>
+<td align="left" valign="top"><p class="table">0</p></td>
+<td align="left" valign="top"><p class="table">0 ou 1</p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">autoconf_scrambled</p></td>
+<td align="left" valign="top"><p class="table">Lors de l&#8217;autoconfiguration complète, est ce que les chaînes brouillées seront diffusées ?</p></td>
+<td align="left" valign="top"><p class="table">0</p></td>
+<td align="left" valign="top"><p class="table">0 or 1</p></td>
+<td align="left" valign="top"><p class="table">Automatique lorsque cam_support=1. Parfois, une chaîne en clair peut être marquée comme étant cryptée. Cette option est aussi nécessaire lorsqu&#8217;une softcam est utilisée.</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">autoconf_pid_update</p></td>
+<td align="left" valign="top"><p class="table">Est ce que MuMuDVB se reconfigure lorsque le PMT est mis à jour ?</p></td>
+<td align="left" valign="top"><p class="table">1</p></td>
+<td align="left" valign="top"><p class="table">0 or 1</p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">autoconf_unicast_start_port</p></td>
+<td align="left" valign="top"><p class="table">Le port unicast pour la première chaine découverte</p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+<td align="left" valign="top"><p class="table">Voir README-fr pour plus de détails.</p></td>
+</tr>
+<tr>
+<td colspan="5" align="center" valign="top"><p class="table"><strong>Paramètres concernant les annonces SAP</strong></p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">sap</p></td>
+<td align="left" valign="top"><p class="table">Génération des annonces SAP</p></td>
+<td align="left" valign="top"><p class="table">0 (1 si autoconfiguration complète)</p></td>
+<td align="left" valign="top"><p class="table">0 or 1</p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">sap_organisation</p></td>
+<td align="left" valign="top"><p class="table">Champ "organisation" envoyé avec les annonces SAP</p></td>
+<td align="left" valign="top"><p class="table">MuMuDVB</p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+<td align="left" valign="top"><p class="table">Optionnel</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">sap_uri</p></td>
+<td align="left" valign="top"><p class="table">Champ "URI" envoyé avec les annonces SAP</p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+<td align="left" valign="top"><p class="table">Optionnel</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">sap_sending_ip</p></td>
+<td align="left" valign="top"><p class="table">L&#8217;IP d&#8217;envoi des annonces SAP</p></td>
+<td align="left" valign="top"><p class="table">0.0.0.0</p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+<td align="left" valign="top"><p class="table">Optionnel, non détecté automatiquement</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">sap_interval</p></td>
+<td align="left" valign="top"><p class="table">Intervalle en secondes entre les annonces SAP</p></td>
+<td align="left" valign="top"><p class="table">5</p></td>
+<td align="left" valign="top"><p class="table">entiers positifs</p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">sap_default_group</p></td>
+<td align="left" valign="top"><p class="table">Le groupe de liste de lecture par défaut pour les annonces SAP</p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+<td align="left" valign="top"><p class="table">string</p></td>
+<td align="left" valign="top"><p class="table">Optionnel</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">sap_ttl</p></td>
+<td align="left" valign="top"><p class="table">Le TTL pour les paquets SAP multicast</p></td>
+<td align="left" valign="top"><p class="table">255</p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+<td align="left" valign="top"><p class="table">RFC 2974 : "SAP announcements &#8230; SHOULD be sent with an IP time-to-live of 255 (the use of TTL scoping for multicast is discouraged [RFC 2365])."</p></td>
+</tr>
+<tr>
+<td colspan="5" align="center" valign="top"><p class="table"><strong>Paramètres concernant l&#8217;unicast HTTP</strong></p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">ip_http</p></td>
+<td align="left" valign="top"><p class="table">L&#8217;ip d'écoute du serveur unicast. Si vous voulez écouter sur toutes les interfaces mettez 0.0.0.0</p></td>
+<td align="left" valign="top"><p class="table">vide</p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+<td align="left" valign="top"><p class="table">Cette option active l&#8217;unicast HTTP, se référer au README pour plus de détails.</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">port_http</p></td>
+<td align="left" valign="top"><p class="table">Le port d'écoute pour l&#8217;unicast HTTP</p></td>
+<td align="left" valign="top"><p class="table">4242</p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+<td align="left" valign="top"><p class="table">se référer au README pour plus de détails.</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">unicast_consecutive_errors_timeout</p></td>
+<td align="left" valign="top"><p class="table">Le délai pour déconnecter un client qui ne réponds pas</p></td>
+<td align="left" valign="top"><p class="table">5</p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+<td align="left" valign="top"><p class="table">Un client sera déconnecté si aucune donnée n&#8217;a été envoyée avec succès durant cet intervalle. Une valeur 0 désactive cette fonctionnalité (déconseillé).</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">unicast_max_clients</p></td>
+<td align="left" valign="top"><p class="table">Limite sur le nombre de clients simultanés</p></td>
+<td align="left" valign="top"><p class="table">0</p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+<td align="left" valign="top"><p class="table">0 : pas de limite.</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<h2 id="channel_parameters">5. Paramètres concernant les chaînes</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Chaque définition de chaîne doit commencer par une ligne <tt>ip=</tt> et finir par une ligne <tt>pids=</tt>. Le seul autre paramètre obligatoire est le paramètre <tt>name</tt>.</p></div>
+<div class="paragraph"><p>Concernant les PIDs, référez vous à la section <a href="#getpids">obtenir les PIDs</a>.</p></div>
+<div class="tableblock">
+<table rules="all"
+width="80%"
+frame="border"
+cellspacing="0" cellpadding="4">
+<col width="13%" />
+<col width="53%" />
+<col width="6%" />
+<col width="26%" />
+<thead>
+<tr>
+<th align="left" valign="top">Nom </th>
+<th align="left" valign="top">Description </th>
+<th align="left" valign="top"> Valeur par défaut </th>
+<th align="left" valign="top">  Commentaires</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td align="left" valign="top"><p class="table">ip</p></td>
+<td align="left" valign="top"><p class="table">Adresse ip multicast sur laquelle la chaîne sera diffusée</p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+<td align="left" valign="top"><p class="table">Obligatoire</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">port</p></td>
+<td align="left" valign="top"><p class="table">Le port</p></td>
+<td align="left" valign="top"><p class="table">1234 ou common_port</p></td>
+<td align="left" valign="top"><p class="table">Les ports inférieurs à 1024 nécessitent les droits root.</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">unicast_port</p></td>
+<td align="left" valign="top"><p class="table">Le port pour l&#8217;unicast HTTP ( associé à cette chaîne )</p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+<td align="left" valign="top"><p class="table">Les ports inférieurs à 1024 nécessitent les droits root. Vous devez activer l&#8217;unicast HTTP avec l&#8217;option <tt>ip_http</tt></p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">sap_group</p></td>
+<td align="left" valign="top"><p class="table">Le groupe de liste de lecture pour les annonces SAP</p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+<td align="left" valign="top"><p class="table">optionnel</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">cam_pmt_pid</p></td>
+<td align="left" valign="top"><p class="table">Uniquement pour les chaînes brouillées. Le PID PMT pour le module CAM</p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">ts_id</p></td>
+<td align="left" valign="top"><p class="table">Le  "transport stream id" (appelé aussi "program number"), uniquement pour l&#8217;autoconfiguration ou la réécriture du PID PAT, se référer au README pour plus de détails</p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">name</p></td>
+<td align="left" valign="top"><p class="table">Le nom de la chaîne. Sera utilisé pour /var/run/mumudvb/chaines_diffusees%d, les journaux et les annonces SAP</p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+<td align="left" valign="top"><p class="table">Obligatoire</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">pids</p></td>
+<td align="left" valign="top"><p class="table">La liste des PIDs, séparés par des espaces.</p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+<td align="left" valign="top"><p class="table">Certains PIDs sont systématiquement envoyés (PAT CAT EIT SDT TDT NIT).</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<h2 id="getpids">6. Obtenir les PIDs</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>La manière la plus simple est d&#8217;utiliser l&#8217;autoconfiguration et de modifier le fichier de configuration généré : <tt>/var/run/mumudvb/mumudvb_generated_conf_card%d</tt></p></div>
+<h3 id="_vous_utilisez_l_8217_autoconfiguration">6.1. Vous utilisez l&#8217;autoconfiguration</h3><div style="clear:left"></div>
+<div class="paragraph"><p>Si vous utilisez l&#8217;autoconfiguration complète, vous n&#8217;avez à spécifier aucune chaîne et vous n&#8217;avez besoin de spécifier aucun PID, cette section ne vous concerne donc pas.</p></div>
+<div class="paragraph"><p>Si vous utilisez l&#8217;autoconfiguration partielle, vous aurez besoin seulement du PID PMT pour chaque chaîne, lisez la suite pour savoir comment l&#8217;obtenir.</p></div>
+<h3 id="_vous_n_8217_utilisez_pas_l_8217_autoconfiguration">6.2. Vous n&#8217;utilisez pas l&#8217;autoconfiguration</h3><div style="clear:left"></div>
+<div class="paragraph"><p>Si vous n&#8217;utilisez pas l&#8217;autoconfiguration, vous devez obtenir les PIDs (Program Identifier) pour chaque chaîne.</p></div>
+<div class="paragraph"><p>Pour chaque chaîne, il est conseillé de spécifier au minimum :</p></div>
+<div class="ulist"><ul>
+<li>
+<p>
+Un PID vidéo (sauf pour les radios)
+</p>
+</li>
+<li>
+<p>
+Un PID audio
+</p>
+</li>
+<li>
+<p>
+Le PID PMT
+</p>
+</li>
+<li>
+<p>
+Le PID PCR (si différent du PID audio/video)
+</p>
+</li>
+</ul></div>
+<div class="paragraph"><p>Si vous n&#8217;avez pas accès aux PIDs via un site web comme <a href="http://www.kingofsat.net">King Of Sat</a>, la manière la plus facile pour les obtenir est d&#8217;utiliser les dvb-apps de linuxtv.</p></div>
+<div class="paragraph"><p>Si vous ne savez pas sur quelle fréquence accorder votre carte ou les chaînes que vous pouvez recevoir, vous pouvez utiliser <a href="#w_scan">w_scan</a> ou <a href="#scan_inital_tuning">scan</a> (des dvb-apps) si vous avez un fichier d&#8217;accord initial (généralement fourni avec la documentation de scan).</p></div>
+<h4 id="w_scan">6.2.1. Utiliser w_scan pour obtenir un fichier d&#8217;accord initial</h4>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">w_scan fonctionne uniquement pour la réception terrestre ou câblée.</td>
+</tr></table>
+</div>
+<div class="paragraph"><p>Vous pouvez obtenir w_scan à partir du <a href="http://edafe.org/vdr/w_scan/">site web de w_scan</a>.</p></div>
+<div class="paragraph"><p>Une fois que vous l&#8217;avez compilé (facultatif pour les x86), vous pouvez le lancer en utilisant</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><tt>./w_scan -x &gt;&gt; inital_tuning_file.txt</tt></pre>
+</div></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">Si vous n&#8217;utilisez pas une carte DVB-T vous aurez a définir l&#8217;option</td>
+</tr></table>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre><tt>-f type frontend type
+ What programs do you want to search for?
+  a = atsc (vsb/qam)
+  c = cable
+  t = terrestrian [default]</tt></pre>
+</div></div>
+<div class="paragraph"><p>Votre fichier <tt>initial_tuning_file.txt</tt> devrai contenir des lignes similaires à</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><tt>T 482000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO
+T 498000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO
+T 514000000 8MHz 2/3 2/3 QAM64 8k 1/4 NONE</tt></pre>
+</div></div>
+<div class="paragraph"><p>Si vous voulez utiliser l&#8217;autoconfiguration complète, ce fichier contient toutes les informations nécessaires. Par exemple, la seconde colonne est la fréquence ( en Hz ).</p></div>
+<div class="paragraph"><p>Le format est le suivant :</p></div>
+<div class="listingblock">
+<div class="title">Terrestre</div>
+<div class="content">
+<pre><tt>T freq bandwidth fec_hi fec_lo modulation transmission-mode guard-interval hierarchy</tt></pre>
+</div></div>
+<div class="listingblock">
+<div class="title">Câble</div>
+<div class="content">
+<pre><tt>C freq symbol_rate fec modulation</tt></pre>
+</div></div>
+<div class="listingblock">
+<div class="title">ATSC</div>
+<div class="content">
+<pre><tt>A freq modulation</tt></pre>
+</div></div>
+<div class="paragraph"><p>Si vous ne voulez pas utiliser l&#8217;autoconfiguration complète, vous pouvez utiliser <tt>scan</tt> avec ce fichier, voir la section  <a href="#scan_inital_tuning">utiliser scan avec un fichier d&#8217;accord initial</a>.</p></div>
+<h4 id="scan_inital_tuning">6.2.2. Utiliser scan avec un fichier d&#8217;accord initial</h4>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">En réception satellite, ceci vous permet de trouver toutes les fréquences (si le diffuseur suit la norme). En effet chaque transpondeur annonce les autres.</td>
+</tr></table>
+</div>
+<div class="paragraph"><p>Dans la suite vous aurez besoin de l&#8217;utilitaire <tt>scan</tt> des dvb-apps.</p></div>
+<div class="paragraph"><p>Si vous avez un fichier d&#8217;accord initial de <tt>w_scan</tt>, de la documentation de scan ou tout autre source, tapez :</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><tt>scan -o pids cheminversvotrefichierdaccordinitial</tt></pre>
+</div></div>
+<div class="paragraph"><p>Vous allez d&#8217;abord obtenir des blocs comme :</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><tt>&gt;&gt;&gt; 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</tt></pre>
+</div></div>
+<div class="paragraph"><p>Vous avez maintenant accès au PID PMT (en hexadecimal), vous pouvez le convertir en décimal et utiliser l&#8217;autoconfiguration partielle.</p></div>
+<div class="paragraph"><p>Après ces blocs vous obtiendrez des lignes comme :</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><tt>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</tt></pre>
+</div></div>
+<div class="paragraph"><p>Vouz avez maintenant accès aux autres PIDs.</p></div>
+<div class="paragraph"><p>MuMuDVB a besoin des PIDs en décimal, vous avez donc a faire la conversion Hexadécimal&#8594;décimal.</p></div>
+<h4 id="_scanner_seulement_un_transpondeur">6.2.3. Scanner seulement un transpondeur</h4>
+<div class="paragraph"><p>Vous devez d&#8217;abord accorder votre carte sur la fréquence désirée ( avec, par exemple, <tt>tune</tt>, <tt>szap</tt> ou <tt>tzap</tt> ).</p></div>
+<div class="paragraph"><p>Ensuite vous pouvez utiliser l&#8217;utilitaire scan :</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><tt>scan -o pids -c -a 0</tt></pre>
+</div></div>
+<div class="paragraph"><p>Où 0 doit être remplacé par le numéro de carte</p></div>
+<div class="paragraph"><p>Et vous obtiendrez des résultats similaires a ceux présentés dans la section <a href="#scan_initial_tuning">utiliser scan avec un fichier d&#8217;accord initial</a></p></div>
+</div>
+<div id="footer">
+<div id="footer-text">
+Last updated 2009-09-26 18:03:40 CEST
+</div>
+</div>
+</body>
+</html>
diff --git a/doc/html/README_CONF.html b/doc/html/README_CONF.html
new file mode 100644
index 0000000..c825129
--- /dev/null
+++ b/doc/html/README_CONF.html
@@ -0,0 +1,1260 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
+    "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<meta name="generator" content="AsciiDoc 8.4.4" />
+<title>MuMuDVB - README for the configuration file</title>
+<style type="text/css">
+/* Debug borders */
+p, li, dt, dd, div, pre, h1, h2, h3, h4, h5, h6 {
+/*
+  border: 1px solid red;
+*/
+}
+
+body {
+  margin: 1em 5% 1em 5%;
+}
+
+a {
+  color: blue;
+  text-decoration: underline;
+}
+a:visited {
+  color: fuchsia;
+}
+
+em {
+  font-style: italic;
+  color: navy;
+}
+
+strong {
+  font-weight: bold;
+  color: #083194;
+}
+
+tt {
+  color: navy;
+}
+
+h1, h2, h3, h4, h5, h6 {
+  color: #527bbd;
+  font-family: sans-serif;
+  margin-top: 1.2em;
+  margin-bottom: 0.5em;
+  line-height: 1.3;
+}
+
+h1, h2, h3 {
+  border-bottom: 2px solid silver;
+}
+h2 {
+  padding-top: 0.5em;
+}
+h3 {
+  float: left;
+}
+h3 + * {
+  clear: left;
+}
+
+div.sectionbody {
+  font-family: serif;
+  margin-left: 0;
+}
+
+hr {
+  border: 1px solid silver;
+}
+
+p {
+  margin-top: 0.5em;
+  margin-bottom: 0.5em;
+}
+
+ul, ol, li > p {
+  margin-top: 0;
+}
+
+pre {
+  padding: 0;
+  margin: 0;
+}
+
+span#author {
+  color: #527bbd;
+  font-family: sans-serif;
+  font-weight: bold;
+  font-size: 1.1em;
+}
+span#email {
+}
+span#revision {
+  font-family: sans-serif;
+}
+
+div#footer {
+  font-family: sans-serif;
+  font-size: small;
+  border-top: 2px solid silver;
+  padding-top: 0.5em;
+  margin-top: 4.0em;
+}
+div#footer-text {
+  float: left;
+  padding-bottom: 0.5em;
+}
+div#footer-badges {
+  float: right;
+  padding-bottom: 0.5em;
+}
+
+div#preamble {
+  margin-top: 1.5em;
+  margin-bottom: 1.5em;
+}
+div.tableblock, div.imageblock, div.exampleblock, div.verseblock,
+div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,
+div.admonitionblock {
+  margin-top: 1.5em;
+  margin-bottom: 1.5em;
+}
+div.admonitionblock {
+  margin-top: 2.5em;
+  margin-bottom: 2.5em;
+}
+
+div.content { /* Block element content. */
+  padding: 0;
+}
+
+/* Block element titles. */
+div.title, caption.title {
+  color: #527bbd;
+  font-family: sans-serif;
+  font-weight: bold;
+  text-align: left;
+  margin-top: 1.0em;
+  margin-bottom: 0.5em;
+}
+div.title + * {
+  margin-top: 0;
+}
+
+td div.title:first-child {
+  margin-top: 0.0em;
+}
+div.content div.title:first-child {
+  margin-top: 0.0em;
+}
+div.content + div.title {
+  margin-top: 0.0em;
+}
+
+div.sidebarblock > div.content {
+  background: #ffffee;
+  border: 1px solid silver;
+  padding: 0.5em;
+}
+
+div.listingblock > div.content {
+  border: 1px solid silver;
+  background: #f4f4f4;
+  padding: 0.5em;
+}
+
+div.quoteblock {
+  padding-left: 2.0em;
+  margin-right: 10%;
+}
+div.quoteblock > div.attribution {
+  padding-top: 0.5em;
+  text-align: right;
+}
+
+div.verseblock {
+  padding-left: 2.0em;
+  margin-right: 10%;
+}
+div.verseblock > div.content {
+  white-space: pre;
+}
+div.verseblock > div.attribution {
+  padding-top: 0.75em;
+  text-align: left;
+}
+/* DEPRECATED: Pre version 8.2.7 verse style literal block. */
+div.verseblock + div.attribution {
+  text-align: left;
+}
+
+div.admonitionblock .icon {
+  vertical-align: top;
+  font-size: 1.1em;
+  font-weight: bold;
+  text-decoration: underline;
+  color: #527bbd;
+  padding-right: 0.5em;
+}
+div.admonitionblock td.content {
+  padding-left: 0.5em;
+  border-left: 2px solid silver;
+}
+
+div.exampleblock > div.content {
+  border-left: 2px solid silver;
+  padding: 0.5em;
+}
+
+div.imageblock div.content { padding-left: 0; }
+div.imageblock img { border: 1px solid silver; }
+span.image img { border-style: none; }
+
+dl {
+  margin-top: 0.8em;
+  margin-bottom: 0.8em;
+}
+dt {
+  margin-top: 0.5em;
+  margin-bottom: 0;
+  font-style: normal;
+  color: navy;
+}
+dd > *:first-child {
+  margin-top: 0.1em;
+}
+
+ul, ol {
+    list-style-position: outside;
+}
+ol.arabic {
+  list-style-type: decimal;
+}
+ol.loweralpha {
+  list-style-type: lower-alpha;
+}
+ol.upperalpha {
+  list-style-type: upper-alpha;
+}
+ol.lowerroman {
+  list-style-type: lower-roman;
+}
+ol.upperroman {
+  list-style-type: upper-roman;
+}
+
+div.compact ul, div.compact ol,
+div.compact p, div.compact p,
+div.compact div, div.compact div {
+  margin-top: 0.1em;
+  margin-bottom: 0.1em;
+}
+
+div.tableblock > table {
+  border: 3px solid #527bbd;
+}
+thead {
+  font-family: sans-serif;
+  font-weight: bold;
+}
+tfoot {
+  font-weight: bold;
+}
+td > div.verse {
+  white-space: pre;
+}
+p.table {
+  margin-top: 0;
+}
+/* Because the table frame attribute is overriden by CSS in most browsers. */
+div.tableblock > table[frame="void"] {
+  border-style: none;
+}
+div.tableblock > table[frame="hsides"] {
+  border-left-style: none;
+  border-right-style: none;
+}
+div.tableblock > table[frame="vsides"] {
+  border-top-style: none;
+  border-bottom-style: none;
+}
+
+
+div.hdlist {
+  margin-top: 0.8em;
+  margin-bottom: 0.8em;
+}
+div.hdlist tr {
+  padding-bottom: 15px;
+}
+dt.hdlist1.strong, td.hdlist1.strong {
+  font-weight: bold;
+}
+td.hdlist1 {
+  vertical-align: top;
+  font-style: normal;
+  padding-right: 0.8em;
+  color: navy;
+}
+td.hdlist2 {
+  vertical-align: top;
+}
+div.hdlist.compact tr {
+  margin: 0;
+  padding-bottom: 0;
+}
+
+.comment {
+  background: yellow;
+}
+
+ at media print {
+  div#footer-badges { display: none; }
+}
+
+div#toctitle {
+  color: #527bbd;
+  font-family: sans-serif;
+  font-size: 1.1em;
+  font-weight: bold;
+  margin-top: 1.0em;
+  margin-bottom: 0.1em;
+}
+
+div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 {
+  margin-top: 0;
+  margin-bottom: 0;
+}
+div.toclevel2 {
+  margin-left: 2em;
+  font-size: 0.9em;
+}
+div.toclevel3 {
+  margin-left: 4em;
+  font-size: 0.9em;
+}
+div.toclevel4 {
+  margin-left: 6em;
+  font-size: 0.9em;
+}
+/* Workarounds for IE6's broken and incomplete CSS2. */
+
+div.sidebar-content {
+  background: #ffffee;
+  border: 1px solid silver;
+  padding: 0.5em;
+}
+div.sidebar-title, div.image-title {
+  color: #527bbd;
+  font-family: sans-serif;
+  font-weight: bold;
+  margin-top: 0.0em;
+  margin-bottom: 0.5em;
+}
+
+div.listingblock div.content {
+  border: 1px solid silver;
+  background: #f4f4f4;
+  padding: 0.5em;
+}
+
+div.quoteblock-attribution {
+  padding-top: 0.5em;
+  text-align: right;
+}
+
+div.verseblock-content {
+  white-space: pre;
+}
+div.verseblock-attribution {
+  padding-top: 0.75em;
+  text-align: left;
+}
+
+div.exampleblock-content {
+  border-left: 2px solid silver;
+  padding-left: 0.5em;
+}
+
+/* IE6 sets dynamically generated links as visited. */
+div#toc a:visited { color: blue; }
+</style>
+<script type="text/javascript">
+/*<![CDATA[*/
+window.onload = function(){generateToc(2)}
+/* Author: Mihai Bazon, September 2002
+ * http://students.infoiasi.ro/~mishoo
+ *
+ * Table Of Content generator
+ * Version: 0.4
+ *
+ * Feel free to use this script under the terms of the GNU General Public
+ * License, as long as you do not remove or alter this notice.
+ */
+
+ /* modified by Troy D. Hanson, September 2006. License: GPL */
+ /* modified by Stuart Rackham, October 2006. License: GPL */
+
+function getText(el) {
+  var text = "";
+  for (var i = el.firstChild; i != null; i = i.nextSibling) {
+    if (i.nodeType == 3 /* Node.TEXT_NODE */) // IE doesn't speak constants.
+      text += i.data;
+    else if (i.firstChild != null)
+      text += getText(i);
+  }
+  return text;
+}
+
+function TocEntry(el, text, toclevel) {
+  this.element = el;
+  this.text = text;
+  this.toclevel = toclevel;
+}
+
+function tocEntries(el, toclevels) {
+  var result = new Array;
+  var re = new RegExp('[hH]([2-'+(toclevels+1)+'])');
+  // Function that scans the DOM tree for header elements (the DOM2
+  // nodeIterator API would be a better technique but not supported by all
+  // browsers).
+  var iterate = function (el) {
+    for (var i = el.firstChild; i != null; i = i.nextSibling) {
+      if (i.nodeType == 1 /* Node.ELEMENT_NODE */) {
+        var mo = re.exec(i.tagName)
+        if (mo)
+          result[result.length] = new TocEntry(i, getText(i), mo[1]-1);
+        iterate(i);
+      }
+    }
+  }
+  iterate(el);
+  return result;
+}
+
+// This function does the work. toclevels = 1..4.
+function generateToc(toclevels) {
+  var toc = document.getElementById("toc");
+  var entries = tocEntries(document.getElementsByTagName("body")[0], toclevels);
+  for (var i = 0; i < entries.length; ++i) {
+    var entry = entries[i];
+    if (entry.element.id == "")
+      entry.element.id = "toc" + i;
+    var a = document.createElement("a");
+    a.href = "#" + entry.element.id;
+    a.appendChild(document.createTextNode(entry.text));
+    var div = document.createElement("div");
+    div.appendChild(a);
+    div.className = "toclevel" + entry.toclevel;
+    toc.appendChild(div);
+  }
+  if (entries.length == 0)
+    document.getElementById("header").removeChild(toc);
+}
+/*]]>*/
+</script>
+</head>
+<body>
+<div id="header">
+<h1>MuMuDVB - README for the configuration file</h1>
+<span id="author">Brice Dubost</span><br />
+<span id="email"><tt>&lt;<a href="mailto:mumudvb at braice.net">mumudvb at braice.net</a>&gt;</tt></span><br />
+Version 1.6
+<div id="toc">
+  <div id="toctitle">Table of Contents</div>
+  <noscript><p><b>JavaScript must be enabled in your browser to display the table of contents.</b></p></noscript>
+</div>
+</div>
+<h2 id="_general_behavior">1. General behavior</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>MuMuDVB needs a configuration file in order to run properly.</p></div>
+<div class="paragraph"><p>The order of the parameters is most of the times not relevant.</p></div>
+<div class="paragraph"><p>You can put comments everywhere in the configuration file: just start the line with <tt>#</tt>. In line comments are not allowed i.e. <tt>port=1234 #The multicast port</tt> is <strong>not</strong> a valid line.</p></div>
+<div class="paragraph"><p>All parameters are in the form: <tt>name=value</tt></p></div>
+<div class="listingblock">
+<div class="title">Example</div>
+<div class="content">
+<pre><tt>#The tuning frequency
+freq=11987</tt></pre>
+</div></div>
+<div class="paragraph"><p>The configuration file contains two parts</p></div>
+<h3 id="_common_part">1.1. Common part</h3><div style="clear:left"></div>
+<div class="paragraph"><p>This is the first part of the configuration file, it contains the parameters needed for tuning the DVB card and the global parameters.</p></div>
+<div class="paragraph"><p>See the <a href="#tuning">tuning</a> section for the list of parameters used to tune the card. and <a href="#other_global">other global parameters</a> section for parameters like autoconfiguration, cam support etc &#8230;</p></div>
+<h3 id="_channels_part">1.2. Channels part</h3><div style="clear:left"></div>
+<div class="paragraph"><p>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 <tt>ip=</tt> line and ends with a <tt>pids=</tt> line.</p></div>
+<div class="paragraph"><p>See <a href="#channel_parameters">channel parameters</a> section for a list of detailled parameters.</p></div>
+</div>
+<h2 id="_example_config_files">2. Example config files</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>You can find documented examples in the directory <tt>doc/configuration_examples</tt></p></div>
+</div>
+<h2 id="tuning">3. Parameters concerning the tuning of the card</h2>
+<div class="sectionbody">
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">For terrestrial and cable, you can use w_scan to see the channels you can receive see <a href="#w_scan">w_scan section</a>.
+Otherwise you can have a look at the initial tuning files given with linuxtv&#8217;s dvb-apps.
+For european satellite users, you can have a look at <a href="http://www.kingofsat.net">King Of Sat</a></td>
+</tr></table>
+</div>
+<h3 id="_parameters_concerning_all_modes_terrestrial_satellite_cable">3.1. Parameters concerning all modes (terrestrial, satellite, cable)</h3><div style="clear:left"></div>
+<div class="paragraph"><p>In the following list, only the parameter <tt>freq</tt> is mandatory</p></div>
+<div class="tableblock">
+<table rules="all"
+width="80%"
+frame="border"
+cellspacing="0" cellpadding="4">
+<col width="14%" />
+<col width="57%" />
+<col width="7%" />
+<col width="21%" />
+<thead>
+<tr>
+<th align="left" valign="top">Parameter name </th>
+<th align="left" valign="top">Description </th>
+<th align="left" valign="top"> Default value </th>
+<th align="left" valign="top"> Comments</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td align="left" valign="top"><p class="table">freq</p></td>
+<td align="left" valign="top"><p class="table">transponder&#8217;s frequency in MHz</p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+<td align="left" valign="top"><p class="table">Mandatory</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">card</p></td>
+<td align="left" valign="top"><p class="table">The DVB/ATSC card number</p></td>
+<td align="left" valign="top"><p class="table">0</p></td>
+<td align="left" valign="top"><p class="table">only limited by your OS</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">tuning_timeout</p></td>
+<td align="left" valign="top"><p class="table">tuning timeout in seconds.</p></td>
+<td align="left" valign="top"><p class="table">300</p></td>
+<td align="left" valign="top"><p class="table">0 = no timeout</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">timeout_no_diff</p></td>
+<td align="left" valign="top"><p class="table">If no channels are streamed, MuMuDVB will kill himself after this time (specified in seconds)</p></td>
+<td align="left" valign="top"><p class="table">600</p></td>
+<td align="left" valign="top"><p class="table">0 = infinite timeout</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">dont_tune</p></td>
+<td align="left" valign="top"><p class="table">We do not try to tune the card (another program,like tzap, did it for us)</p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+<td align="left" valign="top"><p class="table">This is mainly a workaround for DVB-S2</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<h3 id="_parameters_specific_to_satellite">3.2. Parameters specific to satellite</h3><div style="clear:left"></div>
+<div class="tableblock">
+<table rules="all"
+width="80%"
+frame="border"
+cellspacing="0" cellpadding="4">
+<col width="14%" />
+<col width="42%" />
+<col width="7%" />
+<col width="21%" />
+<col width="14%" />
+<thead>
+<tr>
+<th align="left" valign="top">Parameter name </th>
+<th align="left" valign="top">Description </th>
+<th align="left" valign="top"> Default value </th>
+<th align="left" valign="top"> Possible values </th>
+<th align="left" valign="top"> Comments</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td align="left" valign="top"><p class="table">pol</p></td>
+<td align="left" valign="top"><p class="table">transponder&#8217;s polarisation. One char. <em>v</em> (vertical), <em>h</em> (horizontal), <em>l</em> (left circular), <em>r</em> (right circular)</p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+<td align="left" valign="top"><p class="table">h, H, v, V, l, L, r or R</p></td>
+<td align="left" valign="top"><p class="table">Mandatory</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">srate</p></td>
+<td align="left" valign="top"><p class="table">transponder&#8217;s symbol rate</p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+<td align="left" valign="top"><p class="table">Mandatory</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">lnb_type</p></td>
+<td align="left" valign="top"><p class="table">The LNB type</p></td>
+<td align="left" valign="top"><p class="table">universal</p></td>
+<td align="left" valign="top"><p class="table">universal, standard</p></td>
+<td align="left" valign="top"><p class="table">Universal : two local oscilators. Standard : one local oscillator.Most of the LNBs are universal.</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">lnb_lof_standard</p></td>
+<td align="left" valign="top"><p class="table">The frequency of the LNB&#8217;s local oscillator when lnb_type=standard</p></td>
+<td align="left" valign="top"><p class="table">10750</p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+<td align="left" valign="top"><p class="table">In MHz, see below.</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">lnb_slof</p></td>
+<td align="left" valign="top"><p class="table">The switching frequency frequency of the LNB (define the two bands). Valid when lnb_type=universal</p></td>
+<td align="left" valign="top"><p class="table">11700</p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+<td align="left" valign="top"><p class="table">In MHz, see below.</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">lnb_lof_low</p></td>
+<td align="left" valign="top"><p class="table">The frequency of the LNB&#8217;s local oscillator for the low band. Valid when lnb_type=universal</p></td>
+<td align="left" valign="top"><p class="table">9750</p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+<td align="left" valign="top"><p class="table">In MHz, see below.</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">lnb_lof_high</p></td>
+<td align="left" valign="top"><p class="table">The frequency of the LNB&#8217;s local oscillator for the high band. Valid when lnb_type=universal</p></td>
+<td align="left" valign="top"><p class="table">10600</p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+<td align="left" valign="top"><p class="table">In MHz, see below.</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">sat_number</p></td>
+<td align="left" valign="top"><p class="table">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</p></td>
+<td align="left" valign="top"><p class="table">0</p></td>
+<td align="left" valign="top"><p class="table">1 to 4</p></td>
+<td align="left" valign="top"><p class="table">If you have equipment which support more, please contact</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">lnb_voltage_off</p></td>
+<td align="left" valign="top"><p class="table">Force the LNB voltage to be 0V (instead of 13V or 18V). This is useful when your LNB have it&#8217;s own power supply.</p></td>
+<td align="left" valign="top"><p class="table">0</p></td>
+<td align="left" valign="top"><p class="table">0 or 1</p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">coderate</p></td>
+<td align="left" valign="top"><p class="table">coderate, also called FEC</p></td>
+<td align="left" valign="top"><p class="table">auto</p></td>
+<td align="left" valign="top"><p class="table">none, 1/2, 2/3, 3/4, 4/5, 5/6, 6/7, 7/8, 8/9, auto</p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<h4 id="_local_oscillator_frequencies">3.2.1. Local oscillator frequencies :</h4>
+<div class="ulist"><ul>
+<li>
+<p>
+S-Band 3650 MHz
+</p>
+</li>
+<li>
+<p>
+C band (Hi) 5950 MHz
+</p>
+</li>
+<li>
+<p>
+C band (Lo) 5150 MHz
+</p>
+</li>
+<li>
+<p>
+Ku Band : this is the default band for MuMuDVB, you don&#8217;t have to set the LO frequency. For information : Hi band : 10600, Low band : 9750, Single : 10750
+</p>
+</li>
+</ul></div>
+<h3 id="_parameters_specific_to_terrestrial_dvb_t">3.3. Parameters specific to terrestrial (DVB-T)</h3><div style="clear:left"></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content"><tt>auto</tt> usually works fine for all the parameters except <tt>bandwidth</tt></td>
+</tr></table>
+</div>
+<div class="tableblock">
+<table rules="all"
+width="80%"
+frame="border"
+cellspacing="0" cellpadding="4">
+<col width="13%" />
+<col width="53%" />
+<col width="6%" />
+<col width="26%" />
+<thead>
+<tr>
+<th align="left" valign="top">Parameter name </th>
+<th align="left" valign="top">Description </th>
+<th align="left" valign="top"> Default value </th>
+<th align="left" valign="top"> Possible values</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td align="left" valign="top"><p class="table">bandwidth</p></td>
+<td align="left" valign="top"><p class="table">bandwidth</p></td>
+<td align="left" valign="top"><p class="table">8MHz</p></td>
+<td align="left" valign="top"><p class="table">8MHz, 7MHz, 6MHz, auto</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">trans_mode</p></td>
+<td align="left" valign="top"><p class="table">transmission mode</p></td>
+<td align="left" valign="top"><p class="table">auto</p></td>
+<td align="left" valign="top"><p class="table">2k, 8k, auto</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">guardinterval</p></td>
+<td align="left" valign="top"><p class="table">guard interval</p></td>
+<td align="left" valign="top"><p class="table">auto</p></td>
+<td align="left" valign="top"><p class="table">1/32, 1/16, 1/8, 1/4, auto</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">coderate</p></td>
+<td align="left" valign="top"><p class="table">coderate, also called FEC</p></td>
+<td align="left" valign="top"><p class="table">auto</p></td>
+<td align="left" valign="top"><p class="table">none, 1/2, 2/3, 3/4, 4/5, 5/6, 6/7, 7/8, 8/9, auto</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<h3 id="_parameters_specific_to_cable_dvb_c">3.4. Parameters specific to cable (DVB-C)</h3><div style="clear:left"></div>
+<div class="tableblock">
+<table rules="all"
+width="80%"
+frame="border"
+cellspacing="0" cellpadding="4">
+<col width="14%" />
+<col width="42%" />
+<col width="7%" />
+<col width="21%" />
+<col width="14%" />
+<thead>
+<tr>
+<th align="left" valign="top">Parameter name </th>
+<th align="left" valign="top">Description </th>
+<th align="left" valign="top"> Default value </th>
+<th align="left" valign="top"> Possible values </th>
+<th align="left" valign="top"> Comments</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td align="left" valign="top"><p class="table">srate</p></td>
+<td align="left" valign="top"><p class="table">transponder&#8217;s symbol rate</p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+<td align="left" valign="top"><p class="table">Mandatory</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">qam</p></td>
+<td align="left" valign="top"><p class="table">quadrature amplitude modulation</p></td>
+<td align="left" valign="top"><p class="table">auto</p></td>
+<td align="left" valign="top"><p class="table">qpsk, 16, 32, 64, 128, 256, auto</p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">coderate</p></td>
+<td align="left" valign="top"><p class="table">coderate, also called FEC</p></td>
+<td align="left" valign="top"><p class="table">auto</p></td>
+<td align="left" valign="top"><p class="table">none, 1/2, 2/3, 3/4, 4/5, 5/6, 6/7, 7/8, 8/9, auto</p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">The <a href="http://www.rfcafe.com/references/electrical/spectral-inv.htm">spectral inversion</a> is fixed to OFF, it should work for most of the people, if you need to change this parameter, please contact.</td>
+</tr></table>
+</div>
+<h3 id="_parameters_specific_to_atsc_cable_or_terrestrial">3.5. Parameters specific to ATSC (Cable or Terrestrial)</h3><div style="clear:left"></div>
+<div class="tableblock">
+<table rules="all"
+width="80%"
+frame="border"
+cellspacing="0" cellpadding="4">
+<col width="14%" />
+<col width="42%" />
+<col width="14%" />
+<col width="28%" />
+<thead>
+<tr>
+<th align="left" valign="top">Parameter name </th>
+<th align="left" valign="top">Description </th>
+<th align="left" valign="top"> Default value </th>
+<th align="left" valign="top"> Possible values</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td align="left" valign="top"><p class="table">atsc_modulation</p></td>
+<td align="left" valign="top"><p class="table">the modulation for ATSC</p></td>
+<td align="left" valign="top"><p class="table">vsb8</p></td>
+<td align="left" valign="top"><p class="table">vsb8, vsb16, qam256, qam64, qamauto</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">VSB 8 is the default modulation for most of the terrestrial ATSC transmission</td>
+</tr></table>
+</div>
+</div>
+<h2 id="other_global">4. Other global parameters</h2>
+<div class="sectionbody">
+<div class="tableblock">
+<table rules="all"
+width="80%"
+frame="border"
+cellspacing="0" cellpadding="4">
+<col width="12%" />
+<col width="50%" />
+<col width="6%" />
+<col width="12%" />
+<col width="18%" />
+<thead>
+<tr>
+<th align="left" valign="top">Parameter name </th>
+<th align="left" valign="top">Description </th>
+<th align="left" valign="top"> Default value </th>
+<th align="left" valign="top"> Possible values </th>
+<th align="left" valign="top"> Comments</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td align="left" valign="top"><p class="table">common_port</p></td>
+<td align="left" valign="top"><p class="table">Default port for the streaming</p></td>
+<td align="left" valign="top"><p class="table">1234</p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">multicast_ttl</p></td>
+<td align="left" valign="top"><p class="table">The multicast Time To Live</p></td>
+<td align="left" valign="top"><p class="table">2</p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">multicast_auto_join</p></td>
+<td align="left" valign="top"><p class="table">Set to 1 if you want MuMuDVB to join automatically the multicast groups</p></td>
+<td align="left" valign="top"><p class="table">0</p></td>
+<td align="left" valign="top"><p class="table">0 or 1</p></td>
+<td align="left" valign="top"><p class="table">See known problems in the README</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">dont_send_sdt</p></td>
+<td align="left" valign="top"><p class="table">If set to 1, don&#8217;t send the SDT pid. This is a VLC workaround</p></td>
+<td align="left" valign="top"><p class="table">0</p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+<td align="left" valign="top"><p class="table">see README for details</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">dont_send_scrambled</p></td>
+<td align="left" valign="top"><p class="table">If set to 1 don&#8217;t send the packets detected as scrambled. this will also remove indirectly the sap announces for the scrambled channels</p></td>
+<td align="left" valign="top"><p class="table">0</p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">show_traffic_interval</p></td>
+<td align="left" valign="top"><p class="table">the interval in second between two displays of the traffic</p></td>
+<td align="left" valign="top"><p class="table">10</p></td>
+<td align="left" valign="top"><p class="table">&gt;2</p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">rtp_header</p></td>
+<td align="left" valign="top"><p class="table">Send the stream with the rtp headers (execpt for HTTP unicast)</p></td>
+<td align="left" valign="top"><p class="table">0</p></td>
+<td align="left" valign="top"><p class="table">0 or 1</p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">dvr_buffer_size</p></td>
+<td align="left" valign="top"><p class="table">The size of the "DVR buffer" in packets</p></td>
+<td align="left" valign="top"><p class="table">1</p></td>
+<td align="left" valign="top"><p class="table">&gt;=1</p></td>
+<td align="left" valign="top"><p class="table">Experimental feature, see README</p></td>
+</tr>
+<tr>
+<td colspan="5" align="center" valign="top"><p class="table"><strong>CAM support parameters</strong></p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">cam_support</p></td>
+<td align="left" valign="top"><p class="table">Specify if we wants the support for scrambled channels</p></td>
+<td align="left" valign="top"><p class="table">0</p></td>
+<td align="left" valign="top"><p class="table">0 or 1</p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">cam_number</p></td>
+<td align="left" valign="top"><p class="table">the number of the CAM we want to use</p></td>
+<td align="left" valign="top"><p class="table">0</p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+<td align="left" valign="top"><p class="table">In case you have multiple CAMs on one DVB card</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">cam_reset_interval</p></td>
+<td align="left" valign="top"><p class="table">The time (in seconds) we wait for the CAM to be initialised before resetting it.</p></td>
+<td align="left" valign="top"><p class="table">30</p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+<td align="left" valign="top"><p class="table">If the reset is not successful, MuMuDVB will reset the CAM again after this interval. The maximum number of resets before exiting is 5</p></td>
+</tr>
+<tr>
+<td colspan="5" align="center" valign="top"><p class="table"><strong>Autoconfiguration parameters</strong></p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">autoconfiguration</p></td>
+<td align="left" valign="top"><p class="table">autoconfiguration 1: find audio and video PIDs, 2: full autoconfiguration</p></td>
+<td align="left" valign="top"><p class="table">0</p></td>
+<td align="left" valign="top"><p class="table">0, 1 or 2</p></td>
+<td align="left" valign="top"><p class="table">see the README for more details</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">autoconf_ip_header</p></td>
+<td align="left" valign="top"><p class="table">For full autoconfiguration, the first part of the ip for streamed channel</p></td>
+<td align="left" valign="top"><p class="table">239.100</p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+<td align="left" valign="top"><p class="table">see the README for more details</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">autoconf_radios</p></td>
+<td align="left" valign="top"><p class="table">Do we consider radios as valid channels during full autoconfiguration ?</p></td>
+<td align="left" valign="top"><p class="table">0</p></td>
+<td align="left" valign="top"><p class="table">0 or 1</p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">autoconf_scrambled</p></td>
+<td align="left" valign="top"><p class="table">Do we consider scrambled channels valid channels during full autoconfiguration ?</p></td>
+<td align="left" valign="top"><p class="table">0</p></td>
+<td align="left" valign="top"><p class="table">0 or 1</p></td>
+<td align="left" valign="top"><p class="table">Automatic when cam_support=1. Sometimes a clear channel can be marked as scrambled. This option allows you to bypass the ckecking.</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">autoconf_pid_update</p></td>
+<td align="left" valign="top"><p class="table">Do we follow the changes in the PIDs when the PMT is updated ?</p></td>
+<td align="left" valign="top"><p class="table">1</p></td>
+<td align="left" valign="top"><p class="table">0 or 1</p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">autoconf_unicast_start_port</p></td>
+<td align="left" valign="top"><p class="table">The unicast port for the first discovered channel</p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+<td align="left" valign="top"><p class="table">See README for more details.</p></td>
+</tr>
+<tr>
+<td colspan="5" align="center" valign="top"><p class="table"><strong>SAP announces parameters</strong></p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">sap</p></td>
+<td align="left" valign="top"><p class="table">Generation of SAP announces</p></td>
+<td align="left" valign="top"><p class="table">0 (1 if full autoconfiguration)</p></td>
+<td align="left" valign="top"><p class="table">0 or 1</p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">sap_organisation</p></td>
+<td align="left" valign="top"><p class="table">Organisation field sent in the SAP announces</p></td>
+<td align="left" valign="top"><p class="table">MuMuDVB</p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+<td align="left" valign="top"><p class="table">Optionnal</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">sap_uri</p></td>
+<td align="left" valign="top"><p class="table">URI  field sent in the SAP announces</p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+<td align="left" valign="top"><p class="table">Optionnal</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">sap_sending_ip</p></td>
+<td align="left" valign="top"><p class="table">The SAP sender IP address</p></td>
+<td align="left" valign="top"><p class="table">0.0.0.0</p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+<td align="left" valign="top"><p class="table">Optionnal, not autodetected</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">sap_interval</p></td>
+<td align="left" valign="top"><p class="table">Interval in seconds between sap announces</p></td>
+<td align="left" valign="top"><p class="table">5</p></td>
+<td align="left" valign="top"><p class="table">positive integers</p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">sap_default_group</p></td>
+<td align="left" valign="top"><p class="table">The default playlist group for sap announces</p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+<td align="left" valign="top"><p class="table">string</p></td>
+<td align="left" valign="top"><p class="table">Optionnal</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">sap_ttl</p></td>
+<td align="left" valign="top"><p class="table">The TTL for the multicast SAP packets</p></td>
+<td align="left" valign="top"><p class="table">255</p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+<td align="left" valign="top"><p class="table">The RFC 2974 says "SAP announcements &#8230; SHOULD be sent with an IP time-to-live of 255 (the use of TTL scoping for multicast is discouraged [RFC 2365])."</p></td>
+</tr>
+<tr>
+<td colspan="5" align="center" valign="top"><p class="table"><strong>HTTP unicast parameters</strong></p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">ip_http</p></td>
+<td align="left" valign="top"><p class="table">the listening ip for http unicast, if you want to listen to all interfaces put 0.0.0.0</p></td>
+<td align="left" valign="top"><p class="table">empty</p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+<td align="left" valign="top"><p class="table">see the README for more details</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">port_http</p></td>
+<td align="left" valign="top"><p class="table">The listening port for http unicast</p></td>
+<td align="left" valign="top"><p class="table">4242</p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+<td align="left" valign="top"><p class="table">see the README for more details</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">unicast_consecutive_errors_timeout</p></td>
+<td align="left" valign="top"><p class="table">The timeout for disconnecting a client wich is not responding</p></td>
+<td align="left" valign="top"><p class="table">5</p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+<td align="left" valign="top"><p class="table">A client will be disconnected if not data have been sucessfully sent during this interval. A value of 0 desactivate the timeout (unadvised).</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">unicast_max_clients</p></td>
+<td align="left" valign="top"><p class="table">The limit on the number of connected clients</p></td>
+<td align="left" valign="top"><p class="table">0</p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+<td align="left" valign="top"><p class="table">0 : no limit.</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<h2 id="channel_parameters">5. Channel parameters</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>Each channel must start with a <tt>ip=</tt> line and ends with a <tt>pids=</tt> line. The only other mandatory parameter is the <tt>name</tt> of the channel.</p></div>
+<div class="paragraph"><p>Concerning the PIDs see the <a href="#getpids">getting the PIDs</a> section</p></div>
+<div class="tableblock">
+<table rules="all"
+width="80%"
+frame="border"
+cellspacing="0" cellpadding="4">
+<col width="13%" />
+<col width="53%" />
+<col width="6%" />
+<col width="6%" />
+<col width="20%" />
+<thead>
+<tr>
+<th align="left" valign="top">Parameter name </th>
+<th align="left" valign="top">Description </th>
+<th align="left" valign="top"> Default value </th>
+<th align="left" valign="top"> Possible values </th>
+<th align="left" valign="top"> Comments</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td align="left" valign="top"><p class="table">ip</p></td>
+<td align="left" valign="top"><p class="table">multicast (can also be unicast, in raw UDP ) ip where the chanel will be streamed</p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+<td align="left" valign="top"><p class="table">Mandatory</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">port</p></td>
+<td align="left" valign="top"><p class="table">The port</p></td>
+<td align="left" valign="top"><p class="table">1234 or common_port</p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+<td align="left" valign="top"><p class="table">Ports below 1024 needs root rights.</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">unicast_port</p></td>
+<td align="left" valign="top"><p class="table">The HTTP unicast port for this channel</p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+<td align="left" valign="top"><p class="table">Ports below 1024 needs root rights. You need to activate HTTP unicast with <tt>ip_http</tt></p></td>
+<td align="left" valign="top"><p class="table">sap_group</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">The playlist group for SAP announces</p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+<td align="left" valign="top"><p class="table">string</p></td>
+<td align="left" valign="top"><p class="table">optionnal</p></td>
+<td align="left" valign="top"><p class="table">cam_pmt_pid</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">Only for scrambled channels. The PMT PID for CAM support</p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+<td align="left" valign="top"><p class="table">ts_id</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">The transport stream id (program number), olny for autoconfiguration, or pat rewrite see README for more details</p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+<td align="left" valign="top"><p class="table">name</p></td>
+</tr>
+<tr>
+<td align="left" valign="top"><p class="table">The name of the channel. Will be used for /var/run/mumudvb/chaines_diffusees%d, logging and SAP announces</p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+<td align="left" valign="top"><p class="table"></p></td>
+<td align="left" valign="top"><p class="table">Mandatory</p></td>
+<td align="left" valign="top"><p class="table">pids</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<h2 id="getpids">6. Get the PID numbers</h2>
+<div class="sectionbody">
+<div class="paragraph"><p>The simplest way is to use autoconfiguration and modify the generated configuration file : <tt>/var/run/mumudvb/mumudvb_generated_conf_card%d</tt></p></div>
+<h3 id="_you_use_autoconfiguration">6.1. You use autoconfiguration</h3><div style="clear:left"></div>
+<div class="paragraph"><p>If you use full autoconfiguration, you don&#8217;t need to specify any channel and don&#8217;t need any PID, this section does not concern you.</p></div>
+<div class="paragraph"><p>If you use partial autoconfiguration, you&#8217;ll need only the PMT PID for each channel.</p></div>
+<h3 id="_you_do_not_use_autoconfiguration">6.2. You do not use autoconfiguration</h3><div style="clear:left"></div>
+<div class="paragraph"><p>If you don&#8217;t use autoconfiguration (see the README), you have to get the PIDs (Program Identifier) for each channel.</p></div>
+<div class="paragraph"><p>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)</p></div>
+<div class="paragraph"><p>If you don&#8217;t have access to the PIDs via a website like <a href="http://www.kingofsat.net">King Of Sat</a>, the easiest way is to use linuxtv&#8217;s dvb-apps.</p></div>
+<div class="paragraph"><p>You don&#8217;t know on wich frequency to tune and the channels you can receive. In this case, you can use <a href="#w_scan">w_scan</a> or using <a href="#scan_inital_tuning">scan</a> from dvb-apps if you have an initial tuning config file.</p></div>
+<h4 id="w_scan">6.2.1. Using w_scan to get an initial tuning file</h4>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">w_scan works only for terrestrial or cable.</td>
+</tr></table>
+</div>
+<div class="paragraph"><p>You can find wscan in the <a href="http://edafe.org/vdr/w_scan/">w_scan website</a>.</p></div>
+<div class="paragraph"><p>Once you compiled it (optionnal for x86), you can lauch it using</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><tt>./w_scan -x &gt;&gt; inital_tuning_file.txt</tt></pre>
+</div></div>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">If you are not scanning DVB-T you will have to set the option</td>
+</tr></table>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre><tt>-f type frontend type
+ What programs do you want to search for?
+  a = atsc (vsb/qam)
+  c = cable
+  t = terrestrian [default]</tt></pre>
+</div></div>
+<div class="paragraph"><p>Your <tt>initial_tuning_file.txt</tt> file should contain lines like</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><tt>T 482000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO
+T 498000000 8MHz AUTO AUTO AUTO AUTO AUTO AUTO
+T 514000000 8MHz 2/3 2/3 QAM64 8k 1/4 NONE</tt></pre>
+</div></div>
+<div class="paragraph"><p>If you want to use full autoconfiguration, this file contains all the parameters you need. For example the second row is the frequency.</p></div>
+<div class="paragraph"><p>The format is :
+.Terrestrial</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><tt>T freq bandwidth fec_hi fec_lo modulation transmission-mode guard-interval hierarchy</tt></pre>
+</div></div>
+<div class="listingblock">
+<div class="title">Cable</div>
+<div class="content">
+<pre><tt>C freq symbol_rate fec modulation</tt></pre>
+</div></div>
+<div class="listingblock">
+<div class="title">ATSC</div>
+<div class="content">
+<pre><tt>A freq modulation</tt></pre>
+</div></div>
+<div class="paragraph"><p>If you don&#8217;t plan to use full autoconfiguration you can use <tt>scan</tt> with this file, see <a href="#scan_inital_tuning">using scan with an inital tuning file</a></p></div>
+<h4 id="scan_inital_tuning">6.2.2. Using scan with an initial tuning file</h4>
+<div class="admonitionblock">
+<table><tr>
+<td class="icon">
+<div class="title">Note</div>
+</td>
+<td class="content">With satellite this allow you to find all the frequencies (if the broadcaster follow the norm). Because, every transponder announces the others.</td>
+</tr></table>
+</div>
+<div class="paragraph"><p>You need <tt>scan</tt> from linuxtv&#8217;s dvb-apps</p></div>
+<div class="paragraph"><p>If you have an initial tuning file from <tt>w_scan</tt>, the scan documentation or other type :</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><tt>scan -o pids pathtoyourinitialtuningfile</tt></pre>
+</div></div>
+<div class="paragraph"><p>You&#8217;ll first get blocks like</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><tt>&gt;&gt;&gt; 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</tt></pre>
+</div></div>
+<div class="paragraph"><p>You have now acces to the PMT PID (in hexadecimal), you can convert it to decimal and use partial autoconfiguration.</p></div>
+<div class="paragraph"><p>After this blocks, you&#8217;ll get lines like</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><tt>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</tt></pre>
+</div></div>
+<div class="paragraph"><p>You have now acces to the other PIDs</p></div>
+<div class="paragraph"><p>MuMuDVB wants the PIDs in decimal, so you have to convert the pids from hexadecimal to decimal.</p></div>
+<h4 id="_scan_only_one_transponder">6.2.3. Scan only one transponder</h4>
+<div class="paragraph"><p>You first have to tune the card on the wanted frequency (with <tt>tune</tt>, <tt>szap</tt> or <tt>tzap</tt> for example).</p></div>
+<div class="paragraph"><p>After you use the scan utility:</p></div>
+<div class="listingblock">
+<div class="content">
+<pre><tt>scan -o pids -c -a 0</tt></pre>
+</div></div>
+<div class="paragraph"><p>Where 0 is the card number</p></div>
+<div class="paragraph"><p>And you&#8217;ll get results like in the section <a href="#scan_initial_tuning">scan with an initial tuning file</a></p></div>
+</div>
+<div id="footer">
+<div id="footer-text">
+Last updated 2009-09-26 18:01:08 CEST
+</div>
+</div>
+</body>
+</html>
diff --git a/doc/html/index.html b/doc/html/index.html
new file mode 100644
index 0000000..4cad38b
--- /dev/null
+++ b/doc/html/index.html
@@ -0,0 +1,484 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
+    "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<meta name="generator" content="AsciiDoc 8.4.4" />
+<title>MuMuDVB - Documentation</title>
+<style type="text/css">
+/* Debug borders */
+p, li, dt, dd, div, pre, h1, h2, h3, h4, h5, h6 {
+/*
+  border: 1px solid red;
+*/
+}
+
+body {
+  margin: 1em 5% 1em 5%;
+}
+
+a {
+  color: blue;
+  text-decoration: underline;
+}
+a:visited {
+  color: fuchsia;
+}
+
+em {
+  font-style: italic;
+  color: navy;
+}
+
+strong {
+  font-weight: bold;
+  color: #083194;
+}
+
+tt {
+  color: navy;
+}
+
+h1, h2, h3, h4, h5, h6 {
+  color: #527bbd;
+  font-family: sans-serif;
+  margin-top: 1.2em;
+  margin-bottom: 0.5em;
+  line-height: 1.3;
+}
+
+h1, h2, h3 {
+  border-bottom: 2px solid silver;
+}
+h2 {
+  padding-top: 0.5em;
+}
+h3 {
+  float: left;
+}
+h3 + * {
+  clear: left;
+}
+
+div.sectionbody {
+  font-family: serif;
+  margin-left: 0;
+}
+
+hr {
+  border: 1px solid silver;
+}
+
+p {
+  margin-top: 0.5em;
+  margin-bottom: 0.5em;
+}
+
+ul, ol, li > p {
+  margin-top: 0;
+}
+
+pre {
+  padding: 0;
+  margin: 0;
+}
+
+span#author {
+  color: #527bbd;
+  font-family: sans-serif;
+  font-weight: bold;
+  font-size: 1.1em;
+}
+span#email {
+}
+span#revision {
+  font-family: sans-serif;
+}
+
+div#footer {
+  font-family: sans-serif;
+  font-size: small;
+  border-top: 2px solid silver;
+  padding-top: 0.5em;
+  margin-top: 4.0em;
+}
+div#footer-text {
+  float: left;
+  padding-bottom: 0.5em;
+}
+div#footer-badges {
+  float: right;
+  padding-bottom: 0.5em;
+}
+
+div#preamble {
+  margin-top: 1.5em;
+  margin-bottom: 1.5em;
+}
+div.tableblock, div.imageblock, div.exampleblock, div.verseblock,
+div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,
+div.admonitionblock {
+  margin-top: 1.5em;
+  margin-bottom: 1.5em;
+}
+div.admonitionblock {
+  margin-top: 2.5em;
+  margin-bottom: 2.5em;
+}
+
+div.content { /* Block element content. */
+  padding: 0;
+}
+
+/* Block element titles. */
+div.title, caption.title {
+  color: #527bbd;
+  font-family: sans-serif;
+  font-weight: bold;
+  text-align: left;
+  margin-top: 1.0em;
+  margin-bottom: 0.5em;
+}
+div.title + * {
+  margin-top: 0;
+}
+
+td div.title:first-child {
+  margin-top: 0.0em;
+}
+div.content div.title:first-child {
+  margin-top: 0.0em;
+}
+div.content + div.title {
+  margin-top: 0.0em;
+}
+
+div.sidebarblock > div.content {
+  background: #ffffee;
+  border: 1px solid silver;
+  padding: 0.5em;
+}
+
+div.listingblock > div.content {
+  border: 1px solid silver;
+  background: #f4f4f4;
+  padding: 0.5em;
+}
+
+div.quoteblock {
+  padding-left: 2.0em;
+  margin-right: 10%;
+}
+div.quoteblock > div.attribution {
+  padding-top: 0.5em;
+  text-align: right;
+}
+
+div.verseblock {
+  padding-left: 2.0em;
+  margin-right: 10%;
+}
+div.verseblock > div.content {
+  white-space: pre;
+}
+div.verseblock > div.attribution {
+  padding-top: 0.75em;
+  text-align: left;
+}
+/* DEPRECATED: Pre version 8.2.7 verse style literal block. */
+div.verseblock + div.attribution {
+  text-align: left;
+}
+
+div.admonitionblock .icon {
+  vertical-align: top;
+  font-size: 1.1em;
+  font-weight: bold;
+  text-decoration: underline;
+  color: #527bbd;
+  padding-right: 0.5em;
+}
+div.admonitionblock td.content {
+  padding-left: 0.5em;
+  border-left: 2px solid silver;
+}
+
+div.exampleblock > div.content {
+  border-left: 2px solid silver;
+  padding: 0.5em;
+}
+
+div.imageblock div.content { padding-left: 0; }
+div.imageblock img { border: 1px solid silver; }
+span.image img { border-style: none; }
+
+dl {
+  margin-top: 0.8em;
+  margin-bottom: 0.8em;
+}
+dt {
+  margin-top: 0.5em;
+  margin-bottom: 0;
+  font-style: normal;
+  color: navy;
+}
+dd > *:first-child {
+  margin-top: 0.1em;
+}
+
+ul, ol {
+    list-style-position: outside;
+}
+ol.arabic {
+  list-style-type: decimal;
+}
+ol.loweralpha {
+  list-style-type: lower-alpha;
+}
+ol.upperalpha {
+  list-style-type: upper-alpha;
+}
+ol.lowerroman {
+  list-style-type: lower-roman;
+}
+ol.upperroman {
+  list-style-type: upper-roman;
+}
+
+div.compact ul, div.compact ol,
+div.compact p, div.compact p,
+div.compact div, div.compact div {
+  margin-top: 0.1em;
+  margin-bottom: 0.1em;
+}
+
+div.tableblock > table {
+  border: 3px solid #527bbd;
+}
+thead {
+  font-family: sans-serif;
+  font-weight: bold;
+}
+tfoot {
+  font-weight: bold;
+}
+td > div.verse {
+  white-space: pre;
+}
+p.table {
+  margin-top: 0;
+}
+/* Because the table frame attribute is overriden by CSS in most browsers. */
+div.tableblock > table[frame="void"] {
+  border-style: none;
+}
+div.tableblock > table[frame="hsides"] {
+  border-left-style: none;
+  border-right-style: none;
+}
+div.tableblock > table[frame="vsides"] {
+  border-top-style: none;
+  border-bottom-style: none;
+}
+
+
+div.hdlist {
+  margin-top: 0.8em;
+  margin-bottom: 0.8em;
+}
+div.hdlist tr {
+  padding-bottom: 15px;
+}
+dt.hdlist1.strong, td.hdlist1.strong {
+  font-weight: bold;
+}
+td.hdlist1 {
+  vertical-align: top;
+  font-style: normal;
+  padding-right: 0.8em;
+  color: navy;
+}
+td.hdlist2 {
+  vertical-align: top;
+}
+div.hdlist.compact tr {
+  margin: 0;
+  padding-bottom: 0;
+}
+
+.comment {
+  background: yellow;
+}
+
+ at media print {
+  div#footer-badges { display: none; }
+}
+
+div#toctitle {
+  color: #527bbd;
+  font-family: sans-serif;
+  font-size: 1.1em;
+  font-weight: bold;
+  margin-top: 1.0em;
+  margin-bottom: 0.1em;
+}
+
+div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 {
+  margin-top: 0;
+  margin-bottom: 0;
+}
+div.toclevel2 {
+  margin-left: 2em;
+  font-size: 0.9em;
+}
+div.toclevel3 {
+  margin-left: 4em;
+  font-size: 0.9em;
+}
+div.toclevel4 {
+  margin-left: 6em;
+  font-size: 0.9em;
+}
+/* Workarounds for IE6's broken and incomplete CSS2. */
+
+div.sidebar-content {
+  background: #ffffee;
+  border: 1px solid silver;
+  padding: 0.5em;
+}
+div.sidebar-title, div.image-title {
+  color: #527bbd;
+  font-family: sans-serif;
+  font-weight: bold;
+  margin-top: 0.0em;
+  margin-bottom: 0.5em;
+}
+
+div.listingblock div.content {
+  border: 1px solid silver;
+  background: #f4f4f4;
+  padding: 0.5em;
+}
+
+div.quoteblock-attribution {
+  padding-top: 0.5em;
+  text-align: right;
+}
+
+div.verseblock-content {
+  white-space: pre;
+}
+div.verseblock-attribution {
+  padding-top: 0.75em;
+  text-align: left;
+}
+
+div.exampleblock-content {
+  border-left: 2px solid silver;
+  padding-left: 0.5em;
+}
+
+/* IE6 sets dynamically generated links as visited. */
+div#toc a:visited { color: blue; }
+</style>
+<script type="text/javascript">
+/*<![CDATA[*/
+window.onload = function(){generateToc(2)}
+/* Author: Mihai Bazon, September 2002
+ * http://students.infoiasi.ro/~mishoo
+ *
+ * Table Of Content generator
+ * Version: 0.4
+ *
+ * Feel free to use this script under the terms of the GNU General Public
+ * License, as long as you do not remove or alter this notice.
+ */
+
+ /* modified by Troy D. Hanson, September 2006. License: GPL */
+ /* modified by Stuart Rackham, October 2006. License: GPL */
+
+function getText(el) {
+  var text = "";
+  for (var i = el.firstChild; i != null; i = i.nextSibling) {
+    if (i.nodeType == 3 /* Node.TEXT_NODE */) // IE doesn't speak constants.
+      text += i.data;
+    else if (i.firstChild != null)
+      text += getText(i);
+  }
+  return text;
+}
+
+function TocEntry(el, text, toclevel) {
+  this.element = el;
+  this.text = text;
+  this.toclevel = toclevel;
+}
+
+function tocEntries(el, toclevels) {
+  var result = new Array;
+  var re = new RegExp('[hH]([2-'+(toclevels+1)+'])');
+  // Function that scans the DOM tree for header elements (the DOM2
+  // nodeIterator API would be a better technique but not supported by all
+  // browsers).
+  var iterate = function (el) {
+    for (var i = el.firstChild; i != null; i = i.nextSibling) {
+      if (i.nodeType == 1 /* Node.ELEMENT_NODE */) {
+        var mo = re.exec(i.tagName)
+        if (mo)
+          result[result.length] = new TocEntry(i, getText(i), mo[1]-1);
+        iterate(i);
+      }
+    }
+  }
+  iterate(el);
+  return result;
+}
+
+// This function does the work. toclevels = 1..4.
+function generateToc(toclevels) {
+  var toc = document.getElementById("toc");
+  var entries = tocEntries(document.getElementsByTagName("body")[0], toclevels);
+  for (var i = 0; i < entries.length; ++i) {
+    var entry = entries[i];
+    if (entry.element.id == "")
+      entry.element.id = "toc" + i;
+    var a = document.createElement("a");
+    a.href = "#" + entry.element.id;
+    a.appendChild(document.createTextNode(entry.text));
+    var div = document.createElement("div");
+    div.appendChild(a);
+    div.className = "toclevel" + entry.toclevel;
+    toc.appendChild(div);
+  }
+  if (entries.length == 0)
+    document.getElementById("header").removeChild(toc);
+}
+/*]]>*/
+</script>
+</head>
+<body>
+<div id="header">
+<h1>MuMuDVB - Documentation</h1>
+<span id="author">Brice Dubost</span><br />
+<span id="email"><tt>&lt;<a href="mailto:mumudvb at braice.net">mumudvb at braice.net</a>&gt;</tt></span><br />
+<div id="toc">
+  <div id="toctitle">Table of Contents</div>
+  <noscript><p><b>JavaScript must be enabled in your browser to display the table of contents.</b></p></noscript>
+</div>
+</div>
+<div id="preamble">
+<div class="sectionbody">
+<div class="paragraph"><p><a href="QUICKSTART.html">QUICKSTART guide</a></p></div>
+<div class="paragraph"><p><a href="README.html">README english version</a></p></div>
+<div class="paragraph"><p><a href="README-fr.html">README version française</a></p></div>
+<div class="paragraph"><p><a href="README_CONF.html">README concerning the configuration file</a></p></div>
+<div class="paragraph"><p><a href="README_CONF-fr.html">README concernant le fichier de configuration, version française</a></p></div>
+</div>
+</div>
+<div id="footer">
+<div id="footer-text">
+Last updated 2009-09-24 20:49:09 CEST
+</div>
+</div>
+</body>
+</html>

-- 
Mumudvb packaging



More information about the pkg-vdr-dvb-changes mailing list