View Full Version : Full SVCD compatibility in comer. SVCDs: Howto?
Ewi
11th November 2002, 10:44
Reading the threads in this and in other forums over and over again it seems to me that there is no correct working method known to produce full-in-spec SVCDs in D2S, because there is no guarantee that TMPG or CCE produce MPEG2 Video Streams that are in the bitrate bounds I told them to use (not to blame D2S!); (perhaps there is no known method at all).
But I heard that there are commercial SVCDs available in the asian market; what encoder do these guys use? Even if these encoders produce not the quality of a CCE I would like to have the possibility to create full-in-spec SVCD streams.
And I know: Try the results on your own DVD Player if the play correct. I know this; but I think you can understand why I want to be able to produce SVCD that are complete in the SVCD standard.
Thank you in advance....
dvd2svcd
11th November 2002, 12:02
I have tried Philips verifier on svcds made with d2s default settin (using CCE) and theres only a few non-standard remarks regarding the audio (which I can't remember which were). Where did you get the idea that the SVCD's was not compliant?
(Basicly, the problem is always with the dvd-player, as they are rare fully svcd compliant)
Ewi
11th November 2002, 13:30
I began to read about this cause I had jerky playback on my DVD player when bbMPEG showed some of these bad "underflow errors" (using default settings). Setting "Force Mux Rate" in bbMPEG to "0" doesn't solve the jerky playback. So I read on and many people said that the reason is that CCE and TMPG produce bitrates that are locally too high; too high means that Video+Audio Bitrate are locally out of the SVCD specification. But because most SVCD players are actually DVD players that are able to deal with higher bitrates it's not a big problem; but when a player says it's SVCD compliant it need not to play those files correctly.
A friend of mine is studying Media Design and has access to a program (I don't remember the name,excuse me; but it costs the university ~15000$ per year; it's a kind of software studios can use to proof the conformity of their DVD Streams and it has a SVCD Check, too) that can analyse "our" files. So I send him 4 encodes via Uni-Net (so around 10Mbytes/s ;)) and he analysed them for me. Result: 0.5%-6.5%(depending on the movie) of these 4 encodes the bitrate shoot out of SVCD bounds ; that means for some frames Audio+Video were above 2788000 bit/s (I don't remember the exact max bitrate in SVCD; please excuse me...). So no SVCD player has to play back my files correctly (cause they are out of spec). And because the audio is CBR (I think??) it's the Video Bitrate that goes out of bounds (my friend told me a scence that used 3974 kbps only for Video!!).
But to recall: DVD2SVCD IS a wonderful program and I don't want to blame you for stupid issues other people did (Nobody can tell me that it is that hard to keep in the Bitrate Bounds the user gives). But I want an encoder that is simply doing what I tell him to do...
If you want me to post my logs, I have to disappoint you; I don't have them any more.... But they all finished correctly; only bbMPEG told me sometimes about these "underflow errors". Simply standard, no subtitles, no second audio track or so.
Thank you for your hard work...really!
Ewi
11th November 2002, 13:42
Oh little mistake...
The encode with 6.5% out of bitrate bounds: it was "only" 4.5%. This was a very short movie (~77 min and ~2400 kbps resulting average bitrate from the bitrate tab).
Excuse me...
ux-3
11th November 2002, 15:04
Could it be that this peak bitrate comes down to average if you consider the buffersize? After all, there is no true CBR, ts only CBR for the buffer.
Ewi
11th November 2002, 16:06
What do you mean by buffersize?
As far as I know it works like this:
There is a desired average bitrate, for example 2000kbit/s.
The SVCD Standard allows total bitrates (video+audio)from 300-2788000 bit/s. (as far as I remember)
So if the encoder choose to encode a frame with less than 2000000 bit/s it can use a frame with more than 2000000 later.
If some frames can be coded with less bits, the encoder could encode one complicated frame with a very high bitrate; normally this is good, but if this bitrate + audio is above 2788000 we are out of spec. for this reason most encoders have a value called "Max Bitrate"; so mathematically you should enter here (Max_allowed_total_bitrate)-(Audio_Bitrate_used); for example SVCD with 192 kbit MP2: 2788000 - 192000 = 2596000.
But as I wrote above there is no known encoder that keeps its bitrate under this Max Bitrate. CCE is a littler bit worser here than TMPG.
I don't want to critisize you, but what do you exactly mean with buffersize? What buffer do you mean?
ux-3
11th November 2002, 17:52
Well, my point is that even if you use cbr, you will find scenes with higher and lower bitrates. For a new I-Frame, the bitrate will be higher than for other frames. So during action scenes coded at max bitrate, how does that bitrate come about. To my understanding, it is the average bit rate use during the time needed to empty the buffer. If the assumptions of buffer size are different by different progs(and for the standalone), the values for their peak rates may differ.
Ewi
11th November 2002, 20:25
I hope I understand what you mean; you want to say that if these buffersizes are the same or almost the same for player and encoder there will be no problem.
But that is not exactly what my question is about. I don't want to know when everything is OK but rather how I can beat this situation at all.
There is this bitrate limit and I want an encoder that doesn't encode beyond this limit (or so to say: if there IS a value called Max Bitrate, I want the encoder to do what you think this value is for). I think in this situation (when the bitrate limit is used correctly) the buffersize is not of interest, because there can't be over/underflows when the player is correctly working and SVCD compliant.
So, is such an encoder known? (There has to be one because of those commercial asian SVCDs)
Thank you for your reply....
Tobytl
15th November 2002, 00:15
You're assuming one thing in all this. That those commercial asian svcds are completely in spec, and I'd say that at least 3/4 of the ones that I have come across are not... I used to work at an import shop, we ordered all kinds of wierd stuff like that, mostly vcd and laser discs tho. But most of the svcds we got were on what im guessing were 99min cds, and had bitrates spiking above 3000kbps. Oh and most of the s/vcd players we had could read svcds at 4000kbps just fine, so I guess it was never a problem until dvd players started 'supporting' it...
ux-3
15th November 2002, 11:25
Originally posted by Ewi
There is this bitrate limit and I want an encoder that doesn't encode beyond this limit (or so to say: if there IS a value called Max Bitrate, I want the encoder to do what you think this value is for). I think in this situation (when the bitrate limit is used correctly) the buffersize is not of interest, because there can't be over/underflows when the player is correctly working and SVCD compliant.
OK, lets take another angle of approach: We are talking about a rate, a bitrate. A rate is basically a differential quotient, here delta bits divided by delta time. (delta: increment in...)
Since we are talking about a real system, we can't take this to the limit, by making delta time infinitly small. If we would make delta time about an hour, then your cd would well be within the constrains you've set. If we lower delta time to a minute, very likely all is still well, because the bitrate computed over any minute of your movie is likely still well in bounds. The smaller delta time becomes, the greater the chances that the bitrate deviates from the average value. It has to! When an I-frame comes, you need lots of bits. So when you define the maximum bitrate, it will be defined with regard to a delta time. Else such a definition is meaningless. After all, the bit transfer is descrete (a step function), so in the limit, your instantaneous bitrate is either zero or infinity, and only the integral over the movielength will give you back the filesize.
So by all means, there has to be a basic unit of time in regard to which the max bitrate is given.
vBulletin® v3.8.5, Copyright ©2000-2012, Jelsoft Enterprises Ltd.