Welcome Guest ( Log In | Register )

NeroAacEnc for livestreams, MP4 container unsuitable for live streaming
post Apr 2 2009, 00:53
Post #1

Group: Members
Posts: 168
Joined: 1-April 09
Member No.: 68578

Hi, I'm running a webradio and I was using aacplusenc as an external encoder to crreate AAC streams.
Since NeroAacEnc is supposed to be superior in quality, and supports ABR streams, I'd like to use that.
Problem is, NeroAacEnc encapsulates the AAC+ data into an MP4 container, which is unsuitable for streaming.

Since I'd use it as external encoder, that reads and writes into pipes, I make NeroAacEnc write to /dev/stdout. I'm struggling to find a solution, how to get the data out of the MP4 container, while streaming live, maybe even encapsulating it in a MPEG2 container, so I can feed a streaming server with that data.

Does anybody know a trick how to do this?
I stumbled upon mpeg4ip which is so old (1997) that the code won't compile, I'm debugging it, so maybe I could use it to extract the AAC stream from the MP4 container on the fly.

Anyway, it would be nice to have an option in NeroAacEnc to inhibit it from putting the AAC stream into the MP4 container and write to STDOUT.

External encoders/decoders work with pipes when used in my radio software.

I f you happen to know anything that might be helpful, please answer!

Go to the top of the page
+Quote Post
Start new topic
post May 11 2010, 18:39
Post #2

Group: Members
Posts: 1
Joined: 11-May 10
Member No.: 80561

I'd like to add my support and request for generation of raw AAC streams out of this encoder.

I've found the neroAacEnc encoder to work best for me on a Linux platform running Ampache to stream audio to both iPhone and Android phones using HE-AAC v2 at bitrates around 24kbps and as low as 16kbps. This works astoundingly well where I live, an area served only by GPRS (no EDGE or 3G)!

Problem is that Ampache wants to stream raw AAC. The Nero encoder insists on encapsulating in an MP4 container, no exceptions.

My ugly hack has been to encapsulate the encoder in a bash shell script, and inside, allow neroAacEnc to fully transcode into a temporary MP4 file, then "cat" out this file (containing the encapsulated AAC data, with the MP4 headers stripped) to stdout. This results in a streaming delay that lasts as long as it takes neroAacEnc to complete the transcode process, usually around 15-30 seconds.

It'd be MUCH appreciated...
Go to the top of the page
+Quote Post

Posts in this topic

Reply to this topicStart new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:


RSS Lo-Fi Version Time is now: 27th November 2015 - 07:01