Opened 3 years ago

Last modified 3 years ago

#6937 new defect

defect: transcoded audio file/stream from qtsound produces noise artifacts

Reported by: michaelfeurstein Owned by:
Priority: normal Milestone: Bugs paradize
Component: Input: QuickTime / MacOS Version: master git
Severity: normal Keywords: qtsound, qtaudio, qtcapture, transcoding, noise, streaming
Cc: michaelfeurstein Difficulty: unknown
Platform(s): MacOS Work status: Started

Description

As reported in: http://forum.videolan.org/viewtopic.php?f=12&t=99280

When transcoding audio input from the qtsound module sound is rendered with noise making it basically useless for further processing. Example audio transcoding product: http://dl.dropbox.com/u/73639444/qtsound_avcodec_aac.ts You can hear clipping or crackling sound artifacts in the transcoded file.

Command to reproduce this file:

VLC.app/Contents/MacOS/VLC -vvv qtsound://"AppleUSBAudioEngine:Griffin Technology, Inc:iMic USB audio system:fa130000:2,1" --sout='#transcode{aenc=avcodec,acodec=aac,ab=192,channels=2,samplerate=44100}:standard{access=file,mux=ts,dst=qtsound.ts}'

VLC verbose output for this command:

[0x837f2e8] main stream output debug: adding a new sout input (sout_input:0x83625f0)
[0x32763b8] stream_out_transcode stream out debug: creating audio transcoding from fcc=`f32l' to fcc=`aac '
[0x2242698] main generic debug: looking for decoder module: 31 candidates
[0x2242698] araw generic debug: samplerate:44100Hz channels:2 bits/sample:32
[0x2242698] main generic debug: using decoder module "araw"
[0x222a698] main encoder debug: looking for encoder module: 1 candidate
[0x202018] main input debug: Buffering 7%
[0x222a698] avcodec encoder debug: found encoder MPEG AAC Audio
[0x222a698] main encoder debug: using encoder module "avcodec"
[0x32763b8] stream_out_transcode stream out debug: Looking for filter (f32l->s16l, channels 2->2, rate 44100->44100)
[0x39c2898] main filter debug: looking for audio filter module: 13 candidates
[0x39c2898] audio_format filter debug: f32l->s16l, bits per sample: 32->16
[0x39c2898] main filter debug: using audio filter module "audio_format"
[0x32763b8] main stream out debug: Filter 'audio_format' (0x39c2898) appended to chain
[0x32763b8] stream_out_transcode stream out debug: Got complete audio filter chain
[0x328f4f8] main mux debug: adding a new input
[0x328f4f8] mux_ts mux debug: adding input codec=mp4a pid=68
[0x328f4f8] mux_ts mux debug: new PCR PID is 68

Using twolame encoder does not solve the issue
Using different codecs such as mp3, alac or ogg does not solve the issue
The conversion from FL32 to S16 (static block_t *Fl32toS16(filter_t *filter, block_t *b)) in modules/audio_filter/converter/format.c works correctly (tested with another conversion)

Possible starting points for solution:
(1) audio generated by qtsound does not conform to further processing steps
(2) conversion process from f32l->s16l is missing something
(3) additional audio filter needed for conversion

Note that simply playing qtsound does *not* produce such artifacts - it sounds fine.

Change History (1)

comment:1 Changed 3 years ago by michaelfeurstein

Note: See TracTickets for help on using tickets.