Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: 64kbps mp3 encoding for streaming broadcast (Read 6599 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

64kbps mp3 encoding for streaming broadcast

Hi,

I'm in the process of beta testing a stream for internet radio broadcast.  We are looking to stream in mp3 as it's still the most universally accepted format for opening from a URL or hyperlink, at least until we develop our standalone app and flash player on the site. 

That said, we were toying with 128kbps 44k lame and like how it sounds, but have concerns for mobile users and data usage.  So we'd like to go with a 64kbps stream instead and lower the overhead for everyone.  Right now, running the lame converter at 64kbps 44k joint stereo just doesn't sound good.  Lots of high end artifacts as expected.  Cutting the sampling frequency down to 22k helps but I'm losing a lot of high end.

I've listened to other services using this bit rate, and they sound a lot better.  I listen to Radio.com quite a bit and their stations are encoded 64kbps AAC or MP3 by default.  Even when switching the player to MP3 in settings, it sounds really clean.  Honestly nothing like a 64kbps lame encoded stream that I'm used to.

I'd really like to get this quality out of my converter at that bit rate for mp3, but have no idea how they are doing it.  Can anybody here make any suggestions on Lame settings that will really get me the most bang for the bit at 64kbps in stereo?  I'm using Edcast (Oddcast) with the latest lame dll for encoding.

Ed


64kbps mp3 encoding for streaming broadcast

Reply #1
I'm in the process of beta testing a stream for internet radio broadcast.  We are looking to stream in mp3 as it's still the most universally accepted format for opening from a URL or hyperlink, at least until we develop our standalone app and flash player on the site.

For the future I'd suggest you look at a HTML5 based "player" using the WebRTC codec. (Ogg Opus) Hardly any need to code a player at all, and instead just focus on the look (skin) instead.

Quote
That said, we were toying with 128kbps 44k lame and like how it sounds, but have concerns for mobile users and data usage.  So we'd like to go with a 64kbps stream instead and lower the overhead for everyone.  Right now, running the lame converter at 64kbps 44k joint stereo just doesn't sound good.  Lots of high end artifacts as expected.  Cutting the sampling frequency down to 22k helps but I'm losing a lot of high end.

I've listened to other services using this bit rate, and they sound a lot better.  I listen to Radio.com quite a bit and their stations are encoded 64kbps AAC or MP3 by default.  Even when switching the player to MP3 in settings, it sounds really clean.  Honestly nothing like a 64kbps lame encoded stream that I'm used to.


I'm purely speculating here, but I'm assuming they are not using CBR (probably ABR), and then they are also using some processing plugins, most likely tuned to squeeze out as much quality as possible from the stream. (or rather make life as easy as possible for the codec at that bitrate). Or they are using a "radio plugin" and the mp3 codec just has an easier way with audio processes like that.
There is also something called MP3Pro (forerunner to AAC+ in a way), they could be broadcasting using that. Also their AAC stream may actually be a AAC+ stream. (your player should reveal exactly what the stream is though in it's detailed info window or pane).

Sorry if I left you with more questions than answers.

64kbps mp3 encoding for streaming broadcast

Reply #2
Sorry if I left you with more questions than answers.


Hi Rescator.  Thanks for the advice on coding HTML 5 and WebRTC.  Yeah, I'm kinda bewildered.  The only thing i can think is that the app saying its playing 64kbps is really 64kbps mono / 128 stereo.. which would be misleading for all the mobile data crunchers out there.

I tend to think it's not a processing thing, unless they are using a ton of pre-emphasis before 22khz sample rate, which I think would only work marginally well. You have my curiousity on mp3Pro...

64kbps mp3 encoding for streaming broadcast

Reply #3
Using the HTML sources you just might be able to identify a streaming URL to open in foobar2000's File/Add Location...

That would then confirm the codec used and the bitrate.

It's possible that an Intensity Stereo MP3 codec (FhG?) has been used to trade off stereo imaging for lowpass.

For mobile use, I guess AAC might be viable.
Dynamic – the artist formerly known as DickD

64kbps mp3 encoding for streaming broadcast

Reply #4
Why not offer both 128 kbps (or higher) and 64 kbps and allow users to select their quality level?

Maybe those radio stations are using different encoders? I would think that most broadcasters are using commercially available hardware and software and that the software would have to be tuned to lower bitrate streaming. I've always had the impression from discussion here that LAME development is primarily concentrated on sound quality at much higher bitrates.

Are there radio stations that stream Mp3 using ABR encoding? I don't think I've encountered one, although to me it seems like a better choice than CBR.

64kbps mp3 encoding for streaming broadcast

Reply #5
Sorry if I left you with more questions than answers.


Hi Rescator.  Thanks for the advice on coding HTML 5 and WebRTC.  Yeah, I'm kinda bewildered.  The only thing i can think is that the app saying its playing 64kbps is really 64kbps mono / 128 stereo.. which would be misleading for all the mobile data crunchers out there.

I tend to think it's not a processing thing, unless they are using a ton of pre-emphasis before 22khz sample rate, which I think would only work marginally well. You have my curiousity on mp3Pro...

Well, 64 kbps on mono is not a bad idea, unless you really need stereo (and considering the bitrate that you're targeting, probably not). You can use some filter to mix both channels or even use LAME internal filter.

64kbps mp3 encoding for streaming broadcast

Reply #6
You could always have a really wide variety of choice like RadioParadise has.
In my opinion I think these should satisfy just about anybody:

Very Low bandwidth streams:
- 24Kbps CVBR HE-AAC(AAC+)

Low bandwidth streams:
- 64Kbps CVBR HE-AAC(AAC+)
- 64Kbps CVBR Opus

Medium bandwidth:
- 96 Kbps CVBR Vorbis
- 96 Kbps CVBR Opus

Normal bandwidth streams:
- 128kbps CVBR LC-AAC
- 128Kbps CVBR Vorbis
- 128kbps CVBR Opus

High bandwidth streams:
- 192kbps MP3 (Joint Stereo)
- 192Kbps LC-AAC
- 192Kbps Vorbis

Compatibility streams: (Not recommended. Only use if your device doesn't support the above)
- 64Kbps ABR Mono MP3
- 64Kbps WMA
- 128Kbps ABR MP3 (Joint Stereo)
- 128Kbps WMA

64kbps mp3 encoding for streaming broadcast

Reply #7
Ok. Well I confirmed that the Radio.com standard high-qual codec is HE-AAC at 64kbps 44.1khz - which would explain it's near transparency for the AAC stream.  Still looking into how the mp3 sounds so good.  Unfortunately I can only find back door links to the AAC streams from the web pages and don't think I can hack the phone app where the mp3 option exists.  lol.  It's got to be some sort of proprietary codec or variation of mp3pro they are using.  It sounds really good for a 64kbps mp3 stream.

Our stream will eventually be a popular music station.  Thinking offering both a 64kbps/mono and 128kbps/stereo stream will suffice.  We may end up implementing HE-AAC from the get go.. there aren't too many devices that don't decode it these days really.





 

64kbps mp3 encoding for streaming broadcast

Reply #8
From http://lame.cvs.sourceforge.net/viewvc/lame/lame/USAGE:
Quote
=======================================================================
LOW BITRATES
=======================================================================
At lower bitrates, (like 24 kbps per channel), it is recommended that
you use a 16 kHz sampling rate combined with lowpass filtering.  LAME,
as well as commercial encoders (FhG, Xing) will do this automatically.
However, if you feel there is too much (or not enough) lowpass
filtering, you may need to try different values of the lowpass cutoff
and passband width (--resample, --lowpass and --lowpass-width options).


I am not sure if those settings are exposed through edcast. Personally I would avoid 64Kbps MP3 if possible.

Quote
We may end up implementing HE-AAC from the get go..

That might be a good choice. My old non-smartphone phone from 2006(Samsung ZV50) was able to decode HE-AAC natively without additional software...