On Apr 20, 2013, at 4:42 AM, Paul B Mahol <[email protected]> wrote:

> On 4/20/13, Brad O'Hearne <[email protected]> wrote:
>> affecting it. Does the creation of the output format context where it sets
>> the default audio codec also set some other state that would effect
>> processing?
> 
> Without source code, this is lottery.

Paul -- thanks for the reply. My source code is on Github at: 

https://github.com/BigHillSoftware/QTFFmpeg

This is a fully runnable Mac OS X (10.8) app, which captures video and audio, 
and writes them to a local FLV file on the desktop. The class which contains 
all FFmpeg code is QTFFAVStreamer. Configuration is mostly contained in 
QTFFAVConfig. Note that presently the app is configured to write only audio, so 
as to isolate it away from dealing with video. I have also included an FLV file 
created with this app in the following location: 

Sample Output/Output.flv

You can go ahead and play this file, and hear what the problem is with the 
audio. If you have the knowhow to look into the file itself, well I suppose 
that could be done too. 

At this point, essentially here's a synopsis of the situation: the app 
mentioned above (same codebase) has been used to create good FLV files 
containing both video and audio, playback appeared to be perfectly synced. In 
this scenario, audio was being encoded with the adpcm_swf codec, which used an 
S16 sample format. The only changes made to the codebase from this working 
scenario were: 

1. The adpcm_swf codec on the output format context (which was default for FLV) 
was replaced with the AAC codec. 

2. The  codec context was set for the proper strict compliance for AAC to work: 

 audioCodecCtx->strict_std_compliance = FF_COMPLIANCE_EXPERIMENTAL;

3. The output sample format to which the captured audio was resampled to was 
changed from S16 to FLTP. 

Those were the only changes made save updating the FFmpeg source code to the 
latest on 4/18 and rebuilding the libraries -- and if you are curious about 
build settings, my configure script is located at: 

FFmpeg/build-ffmpeg-iOS6-MacOSX-libs.sh 

So after these changes, the audio is distorted. I'm not sure why -- as I know 
the actual capture-resample-encode-write approach / pipeline is sound, my guess 
is that this is some kind of additional configuration or handling need 
surrounding AAC. 

Any thoughts, ideas, or help are greatly appreciated. 

Brad
_______________________________________________
Libav-user mailing list
[email protected]
http://ffmpeg.org/mailman/listinfo/libav-user

Reply via email to