Hi Morgan ! thanks for your quick reply =)<br><br><div><span class="gmail_quote">On 1/15/07, <b class="gmail_sendername">Morgan TÝrvolt</b> &lt;<a href="mailto:morgan.torvolt@gmail.com">morgan.torvolt@gmail.com</a>&gt; wrote:
</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Sending this to the list also, for future reference...<br><br>---------- Forwarded message ----------
<br>From: Morgan TÝrvolt &lt;<a href="mailto:morgan.torvolt@gmail.com">morgan.torvolt@gmail.com</a>&gt;<br>Date: 15-Jan-2007 17:33<br>Subject: Re: [linux-dvb] genlock<br>To: Samuel Goto &lt;<a href="mailto:samuelgoto@gmail.com">
samuelgoto@gmail.com</a>&gt;<br><br><br>Hi Sam<br><br>What you are making is basically a mux? You put audio and video<br>together to one TS stream? In that case, my only advice would be to<br>use stuffing. Lower the combined bitrate from your sources to less
<br>than the output bitrate, and insert stuffing TS packets to compensate<br>so that you get the correct output bitrate. I believe there really is<br>no other way of doing it, as it is close to impossible to get a 100%<br>
stable raw mpeg datarate. There is also a possibility that your<br>mpeg-encoder does some stuffing to get the correct bitrate. You could<br>remove these first if you want...</blockquote><div><br>I am writing the DVB S1 modulator itself, following the EN 300 421 standard. It is already working (meaning that the encoder is working : it receives a mpeg ts and transmits a valid dvb s1 stream ), but I am suffering from occasional overflows during this process.
<br><br>The reason is that, like you said, the mpeg encoder is not sending a 100% stable raw mpeg datarate. It is probably sending a little bit more, which is causing an output overflow after 7 to 8 minutes of transmission. Bit by bit, after some time, it accumulates and overflows my output buffer.
<br><br>The DVB encoder has to have a fixed and perfectly stable output data rate ( baud rate ), which implies that it has to receive a perfectly stable and fixed input mpeg rate ( bitrate ). Any excess or loss will cause either an overflow or an underflow over time.
<br>&nbsp;<br>Is this correct ?<br><br></div><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Depending on the mux, professional muxes does different things when
<br>fed with too much data. Some just drops random packages (BAD!, i can<br>mention certain brands, some does this even when the total is less<br>than the muxrate, as long as one service is higher than configured),<br>others drop packages from the one with too high bitrate, others allow
<br>for the higher bitrate, but starts dropping from the service with too<br>high bitrate when the total exceeds the mux-rate. How you want to<br>implement this is your choice, but I would suggest to allow for some<br>excessive datarate to keep clients happy =)
</blockquote><div><br><br>From what I have read, this process is common to video applications and is called &quot;rate adaption&quot;.<br>
<br>From this document (<a href="http://www.newtec.be/fileadmin/webfolder/Training/Basics_of_rate_adaption.pdf">http://www.newtec.be/fileadmin/webfolder/Training/Basics_of_rate_adaption.pdf</a>), the options are :<br><br>
&nbsp; &nbsp; &nbsp;&nbsp; o upward adaption : null packet insertion, in the case the transmitter runs out of data<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; o downward adaption : excessing stuffing frames are removed.<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; in any case, the PCR has to be updated to compensate the delay caused by the rate adaption.
<br><br>Is this correct ?<br></div><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">-Morgan-<br><br>On 15/01/07, Samuel Goto &lt;<a href="mailto:samuelgoto@gmail.com">
samuelgoto@gmail.com</a>&gt; wrote:<br>&gt; Hi everyone,Any<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; I am developing a dvb s1 transmitter. Its input is a MPEG TS from a<br>&gt; mpeg encoder and its output is a DVB S1 stream to the RF satellite.
<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; I am having problems synchronizing the input bit rate to the output<br>&gt; baud rate and I was wondering if anyone could help me out on this list ( or<br>&gt; suggest me a better one =) ). The transmitter works for 7 to 8 minutes, but
<br>&gt; then its output buffer overflows ( showing that there is a small difference<br>&gt; from the input rate to the necessary output rate ).<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Thanks for your attention,<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Cya, Sam
<br>&gt;<br>&gt; --<br>&gt; f u cn rd ths u cn b a gd prgmr !<br>&gt; _______________________________________________<br>&gt; linux-dvb mailing list<br>&gt; <a href="mailto:linux-dvb@linuxtv.org">linux-dvb@linuxtv.org</a>
<br>&gt; <a href="http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb">http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb</a><br>&gt;<br>&gt;<br><br>_______________________________________________<br>linux-dvb mailing list
<br><a href="mailto:linux-dvb@linuxtv.org">linux-dvb@linuxtv.org</a><br><a href="http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb">http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb</a><br></blockquote></div>
<br><br clear="all"><br>-- <br>f u cn rd ths u cn b a gd prgmr !