Welcome Guest! To enable all features, please Login or Register.

Notification

Icon
Error

Options
View
Last Go to last post Unread Go to first unread post
#1 Posted : Thursday, January 7, 2010 11:49:11 AM(UTC)

ed_  
ed_

Groups: Registered
Posts: 4


I have the Multimedia 16.5 sdk installed. Using the "MFC Audio/Video Converter" sample, there is no "target format" for AAC. There is an "audio compressor" choice for "Lead AAC Encoder" however this only seems to work with "target format" as "WAVE".

I dont want a WAVE file header containing AAC compressed audio, I want a standard AAC file container (MP4/M4A/3GP???) containing AAC compressed audio, so that when named *.AAC it plays in any 3rd party audio player supporting AAC (such as iTunes/WinAmp).

Is this possible?
 

Try the latest version of LEADTOOLS for free for 60 days by downloading the evaluation: https://www.leadtools.com/downloads

Wanna join the discussion? Login to your LEADTOOLS Support accountor Register a new forum account.

#2 Posted : Friday, January 8, 2010 10:26:33 AM(UTC)

Walter  
Walter

Groups: Tech Support
Posts: 367

Thanks: 1 times
Was thanked: 4 time(s) in 4 post(s)

You'll need to choose the ISO target format. This will allow for either AC3 or AAC audio. The ISO container also supports MPEG-4 and H.264 video, if you want to include video in the file as well.

The AVI and OGG containers would support AAC, but 3rd party players may not be able to play these.
Walter attached the following image(s):
AAC_file.jpg
Walter Bates
Senior Support Engineer
LEAD Technologies, Inc.
LEAD Logo
 
#3 Posted : Monday, January 11, 2010 3:16:33 PM(UTC)

ed_  
ed_

Groups: Registered
Posts: 4


I have tried the ISO target format. However, the resulting audio file is unplayable in WinAmp.

I am using the mfc audio/converter sample:
selecting input filename, which is a 16-bit mono PCM 352kbps wav file.
selecting output filename, with .aac extension.
selecting ISO target format.
selecting AAC compressor, with the following settings:
stream format = RAW.
mpeg version = MPEG4.
object type = MAIN.
block type = NORMAL.
input channels = 1.
output channels = mono.
output sample rate = 22050 Sps.
average bitrate = 320.
unchecking video stream.
click convert.

Opening the resulting audio file in WinAmp, clicking play does nothing. The duration in WinAmp shows either 1 or 4 seconds, the input file is 8 seconds.

I have attached my input file.
 
#4 Posted : Monday, January 11, 2010 3:27:40 PM(UTC)

ed_  
ed_

Groups: Registered
Posts: 4


The only way I can get the resulting audio file to play is if I rename the file extension to wav and play it using Windows media player. It does not play in WinAmp, regardless of file extension. I have tested my installation of WinAmp with various sample aac files and it seems to be working fine.
 
#5 Posted : Wednesday, January 13, 2010 6:25:53 AM(UTC)

Walter  
Walter

Groups: Tech Support
Posts: 367

Thanks: 1 times
Was thanked: 4 time(s) in 4 post(s)

Hello Ed,

To play the file in Windows Media Player, the appropriate decoders would need to be installed on the system. As far as I know, changing the file name should not affect what decoders are used for the file though.

Regarding the generated files for WinAmp, are you using these specific settings for a reason, or are you simply noting what settings the encoder had when you created the file?

I have tried these same settings as well, and could not play the file in WinAmp. However, if you change the object type from Main to LC, the file created was playable in WinAmp. I have attached the sample file I converted. Are you able to play this file as well?
File Attachment(s):
sample.zip (37kb) downloaded 22 time(s).
Walter Bates
Senior Support Engineer
LEAD Technologies, Inc.
LEAD Logo
 
#6 Posted : Wednesday, February 3, 2010 2:18:01 PM(UTC)

ed_  
ed_

Groups: Registered
Posts: 4


Yes, I can play the file.

How can I, if possible, set the aac properties in code?

I want to set the object type, output channel, sample rate, and bitrate.

I want to avoid opening the aac properties window.
 
#7 Posted : Thursday, February 4, 2010 4:35:52 AM(UTC)

Walter  
Walter

Groups: Tech Support
Posts: 367

Thanks: 1 times
Was thanked: 4 time(s) in 4 post(s)

Hello Ed,

It is possible to programmatically access the encoder's interface. For more information on what properties are available and the possible values they can take, please see the help file topic "ILMAACEncoder Interface" in our Filters Help file.

Regarding the items you've indicated you'd like to set, use the following properties:
ObjectType
OutputChannels
OutputSampleRate
RateControl

In order to set these properties, you'll need to use the IltmmConvert::GetSubObject method to get a handle on the AAC encoder filter used in the conversion. For the object type, you'll need to specify "ltmmConvert_Object_AudioCompressor".

For an example on how to add a compressor to the convert control, please see the help file topic "Programmatically Inserting a Processor Filter". Although this example is for a processing filter, the general idea is identical though. You'll want to call IltmmConvert::get_AudioCompressors, call IltmmCompressors::Find to try and find the specific compressor in the list of available compressors, and use IltmmCompressors::put_Selection to set this in the convert control to use. Once the encoder is added to the control, you can then try and use GetSubObject to get a handle on the encoder to change it's settings.

For an example on how to use the GetSubObject method to access a filter, please see the help file topic "Access a Filter Interface" in our Multimedia API help file.
Walter Bates
Senior Support Engineer
LEAD Technologies, Inc.
LEAD Logo
 
You cannot post new topics in this forum.
You cannot reply to topics in this forum.
You cannot delete your posts in this forum.
You cannot edit your posts in this forum.
You cannot create polls in this forum.
You cannot vote in polls in this forum.

Powered by YAF.NET | YAF.NET © 2003-2020, Yet Another Forum.NET
This page was generated in 0.196 seconds.