Hi Morgan ! thanks for your quick reply =) On 1/15/07, Morgan Tørvolt <[EMAIL PROTECTED]> wrote:
Sending this to the list also, for future reference... ---------- Forwarded message ---------- From: Morgan Tørvolt <[EMAIL PROTECTED]> Date: 15-Jan-2007 17:33 Subject: Re: [linux-dvb] genlock To: Samuel Goto <[EMAIL PROTECTED]> Hi Sam What you are making is basically a mux? You put audio and video together to one TS stream? In that case, my only advice would be to use stuffing. Lower the combined bitrate from your sources to less than the output bitrate, and insert stuffing TS packets to compensate so that you get the correct output bitrate. I believe there really is no other way of doing it, as it is close to impossible to get a 100% stable raw mpeg datarate. There is also a possibility that your mpeg-encoder does some stuffing to get the correct bitrate. You could remove these first if you want...
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. 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. 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. Is this correct ? Depending on the mux, professional muxes does different things when
fed with too much data. Some just drops random packages (BAD!, i can mention certain brands, some does this even when the total is less than the muxrate, as long as one service is higher than configured), others drop packages from the one with too high bitrate, others allow for the higher bitrate, but starts dropping from the service with too high bitrate when the total exceeds the mux-rate. How you want to implement this is your choice, but I would suggest to allow for some excessive datarate to keep clients happy =)
From what I have read, this process is common to video applications and is
called "rate adaption".
From this document (
http://www.newtec.be/fileadmin/webfolder/Training/Basics_of_rate_adaption.pdf), the options are : o upward adaption : null packet insertion, in the case the transmitter runs out of data o downward adaption : excessing stuffing frames are removed. in any case, the PCR has to be updated to compensate the delay caused by the rate adaption. Is this correct ? -Morgan-
On 15/01/07, Samuel Goto <[EMAIL PROTECTED]> wrote: > Hi everyone,Any > > I am developing a dvb s1 transmitter. Its input is a MPEG TS from a > mpeg encoder and its output is a DVB S1 stream to the RF satellite. > > I am having problems synchronizing the input bit rate to the output > baud rate and I was wondering if anyone could help me out on this list ( or > suggest me a better one =) ). The transmitter works for 7 to 8 minutes, but > then its output buffer overflows ( showing that there is a small difference > from the input rate to the necessary output rate ). > > Thanks for your attention, > > Cya, Sam > > -- > f u cn rd ths u cn b a gd prgmr ! > _______________________________________________ > linux-dvb mailing list > linux-dvb@linuxtv.org > http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb > > _______________________________________________ linux-dvb mailing list linux-dvb@linuxtv.org http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb
-- f u cn rd ths u cn b a gd prgmr !
_______________________________________________ linux-dvb mailing list linux-dvb@linuxtv.org http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb