MP3 vs RM/RA
Reply #4 – 2005-09-18 20:12:02
Thanks for the excellent information and for the suggestions. As I understand it, Internet streaming of MP3 files requires that VBR not be used. Does that same limitation apply to ABR? What is the difference between CBR and ABR? I assume that ABR is a form of VBR. I don't have much experience with streaming, but I think the technically correct answer to VBR/ABR streaming is "no." The practical answer is more like "it depends," as basically every Internet stream is VBR from the client's side of things - that's what buffering is for. I think the limitation comes from the server side, because with VBR/ABR streams, you could, at any given moment, have the stream call for a bitrate much higher than the average. For example, if you had 10 clients connected to a server and you were streaming a file that had been encoded with LAME at -V2/--alt-preset standard, at any given moment, the stream could need to be as high as 320kb/sec, which means that in order to ensure dropout-free transmission, your connection to the Internet would need to be at least 3.2 Mb/sec + overhead, so maybe 3.5 Mb/sec. Again, this is just a guess on my part...and yes, ABR is a form of VBR - it's basically very strict VBR, where the bitrate isn't allowed to vary nearly as much. Of course, with speech, not only would it be highly unlikely that you would ever see a 320kb/sec frame, you can invoke the -B switch in LAME to limit the maximum bitrate that VBR/ABR encoding could use. This is usually a very bad thing to do with music because it really defeats the purpose of VBR when maximum sound quality is the goal, but with bandwidth-limited speech, it can be useful... That is obviously the long answer ...the short answer is since CBR is indeed constant, you can always know exactly what your required bitrate will be for each client connection, and can therefore calculate your required bandwidth with no surprises.All that being said, what command line makes sense for CBR 32K/22.5K? Do you want 22.05 kHz sampling for increased frequency response, or for compatibility reasons? I'm going to assume it's for compatibility reasons (I know some MP3 players don't support all of the valid MPEG sample rates), so the command line would be the one I gave in my first post, but with the 22.05 kHz sample rate, so -b 32 -q 1 --resample 22.05 --lowpass 5.5 Note that this assumes a mono input file - you'll need to add "-a" if the input file is stereo.