Page 1 of 1

Transcoding FLAC to ALAC

Posted: 26 Sep 2009 01:06
by prefab
Hi,

I am using VLC 1.0.2 to handle radio stations not supported by iTunes.
I transcode the streams to ALAC and send them to Airport Express, this works very well.
I use this to transcode:

Code: Select all

:sout=#transcode{acodec=alac,channels=2,samplerate=44100}:raop{host=xxx.xxx.xxx.xxx,volume=80}
I came across a stream that causes VLC to crash when using this :
http://amp1.cesnet.cz:8000/cro-d-dur.flac. You can read more about this stream here:
http://www.cesnet.cz/doc/techzpravy/200 ... -encoding/

Any ideas how to workaround this ? Thanks

Re: Transcoding FLAC to ALAC

Posted: 26 Sep 2009 17:02
by Jean-Baptiste Kempf
Does it play correctly and crash only when transcoding?

Re: Transcoding FLAC to ALAC

Posted: 26 Sep 2009 17:54
by prefab
Does it play correctly and crash only when transcoding?
Yes, without transcoding the stream plays correctly (only VLC :D and fb2k are able to play this stream)
But transcoding to ALAC and then outputing (file or raop) crashes VLC. I have sent an error report.

Re: Transcoding FLAC to ALAC

Posted: 27 Sep 2009 18:07
by Jean-Baptiste Kempf
Can you try to transcode to a file and not to raop, please? And give the log?

Re: Transcoding FLAC to ALAC

Posted: 27 Sep 2009 22:41
by prefab

Code: Select all

start vlc "http://amp1.cesnet.cz:8000/cro-d-dur.flac" --sout="#transcode{acodec=alac,channels=2,samplerate=44100}:std{access=file,mux=raw,dst=C:\\temp\\test.m4a}" --extraintf logger --logfile c:\temp\vlc.txt --verbose=2
LOG:

Code: Select all

-- logger module started -- main debug: using interface module "logger" main debug: TIMER module_need() : 4.000 ms - Total 4.000 ms / 1 intvls (Avg 4.000 ms) main debug: thread (interface) created at priority 0 (../.././src/interface/interface.c:151) main debug: looking for interface module: 1 candidate main debug: using interface module "hotkeys" main debug: thread started main debug: thread ended main debug: TIMER module_need() : 2.000 ms - Total 2.000 ms / 1 intvls (Avg 2.000 ms) main debug: thread (interface) created at priority 0 (../.././src/interface/interface.c:151) main debug: adding item `http://amp1.cesnet.cz:8000/cro-d-dur.flac' ( http://amp1.cesnet.cz:8000/cro-d-dur.flac ) main debug: thread started main debug: looking for interface module: 1 candidate main debug: using interface module "globalhotkeys" main debug: TIMER module_need() : 11.000 ms - Total 11.000 ms / 1 intvls (Avg 11.000 ms) main debug: thread (interface) created at priority 0 (../.././src/interface/interface.c:151) main: Running vlc with the default interface. Use 'cvlc' to use vlc without interface. main debug: looking for interface module: 3 candidates main debug: thread started main debug: thread ended main debug: using interface module "qt4" qt4 debug: Error while initializing qt-specific localization main debug: TIMER module_need() : 93.000 ms - Total 93.000 ms / 1 intvls (Avg 93.000 ms) main debug: thread (interface) created at priority 0 (../.././src/interface/interface.c:151) main debug: thread started main debug: rebuilding array of current - root Playlist main debug: rebuild done - 1 items, index -1 main debug: processing request item null node Playlist skip 0 main debug: thread ended main debug: starting new item main debug: creating new input thread main debug: Creating an input for 'http://amp1.cesnet.cz:8000/cro-d-dur.flac' main debug: thread (input) created at priority 1 (../.././src/input/input.c:230) main debug: thread started main debug: stream=`transcode' qt4 debug: IM: Setting an input main debug: looking for sout stream module: 1 candidate main debug: stream=`std' main debug: looking for sout stream module: 1 candidate qt4 debug: Updating the geometry main debug: set config option: sout-standard-access to file qt4 debug: Updating the geometry main debug: set config option: sout-standard-mux to raw main debug: set config option: sout-standard-dst to C:\temp\test.m4a stream_out_standard debug: creating `file/raw://C:\temp\test.m4a' stream_out_standard debug: extension is m4a stream_out_standard debug: extension -> mux=(null) stream_out_standard debug: using `file/raw://C:\temp\test.m4a' main debug: looking for sout access module: 1 candidate access_output_file debug: file access output opened (C:\temp\test.m4a) main debug: using sout access module "access_output_file" main debug: TIMER module_need() : 8.000 ms - Total 8.000 ms / 1 intvls (Avg 8.000 ms) stream_out_standard debug: access opened main debug: looking for sout mux module: 1 candidate mux_dummy debug: Dummy/Raw muxer opened mux_dummy: Open main debug: using sout mux module "mux_dummy" main debug: TIMER module_need() : 8.000 ms - Total 8.000 ms / 1 intvls (Avg 8.000 ms) main debug: muxer support adding stream at any time main debug: muxer prefers to wait for all ES before starting to mux stream_out_standard debug: mux opened main debug: using sout stream module "stream_out_standard" main debug: TIMER module_need() : 59.000 ms - Total 59.000 ms / 1 intvls (Avg 59.000 ms) main debug: set config option: sout-transcode-acodec to alac main debug: set config option: sout-transcode-channels to 2 main debug: set config option: sout-transcode-samplerate to 44100 stream_out_transcode debug: codec audio=alac 44100Hz 2 channels 0Kb/s main debug: using sout stream module "stream_out_transcode" main debug: TIMER module_need() : 88.000 ms - Total 88.000 ms / 1 intvls (Avg 88.000 ms) main debug: using timeshift granularity of 50 MBytes main debug: using timeshift path 'D:\DOCUME~1\Mario\LOCALS~1\Temp' main debug: `http://amp1.cesnet.cz:8000/cro-d-dur.flac' gives access `http' demux `' path `amp1.cesnet.cz:8000/cro-d-dur.flac' qt4 debug: New caching: 0 main debug: creating demux: access='http' demux='' path='amp1.cesnet.cz:8000/cro-d-dur.flac' main debug: looking for access_demux module: 0 candidates qt4 debug: New caching: 0 main debug: no access_demux module matched "http" main debug: TIMER module_need() : 5.000 ms - Total 5.000 ms / 1 intvls (Avg 5.000 ms) main debug: creating access 'http' path='amp1.cesnet.cz:8000/cro-d-dur.flac' main debug: looking for access module: 2 candidates access_http debug: http: server='amp1.cesnet.cz' port=8000 file='/cro-d-dur.flac main debug: net: connecting to amp1.cesnet.cz port 8000 main debug: connection: Resource temporarily unavailable main debug: connection succeeded (socket = 1256) access_http debug: protocol 'HTTP' answer code 200 access_http debug: Content-Type: application/ogg access_http debug: Meta-Info: icy-br: 128 access_http debug: Meta-Info: ice-audio-info: ice-samplerate=48000;ice-bitrate=128;ice-channels=2 access_http debug: Meta-Info: icy-br: 128 access_http debug: Meta-Info: icy-description: European-style cultural station access_http debug: Icy-Genre: classical access_http debug: Icy-Name: Cesky rozhlas D-dur access_http debug: Meta-Info: icy-private: 1 access_http debug: Meta-Info: icy-pub: 0 access_http debug: Meta-Info: icy-url: http://www.rozhlas.cz access_http debug: Server: Icecast 2.3.2 access_http debug: auto re-connect enabled main debug: using access module "access_http" main debug: TIMER module_need() : 467.000 ms - Total 467.000 ms / 1 intvls (Avg 467.000 ms) main debug: Using AStream*Stream main debug: pre buffering main debug: received first data after 180 ms main debug: pre-buffering done 151 bytes in 0s - 0 kbytes/s main debug: looking for stream_filter module: 2 candidates main debug: TIMER module_need() : 2.000 ms - Total 2.000 ms / 1 intvls (Avg 2.000 ms) main debug: looking for stream_filter module: 1 candidate main debug: using stream_filter module "stream_filter_record" main debug: TIMER module_need() : 6.000 ms - Total 6.000 ms / 1 intvls (Avg 6.000 ms) main debug: creating demux: access='http' demux='' path='amp1.cesnet.cz:8000/cro-d-dur.flac' main debug: looking for demux module: 50 candidates main debug: using demux module "ogg" main debug: TIMER module_need() : 72.000 ms - Total 72.000 ms / 1 intvls (Avg 72.000 ms) main debug: looking for a subtitle file in D:\Program Files\VLC\ main debug: starting in sync mode main debug: looking for meta reader module: 1 candidate main debug: TIMER module_need() : 3.000 ms - Total 3.000 ms / 1 intvls (Avg 3.000 ms) main debug: `http://amp1.cesnet.cz:8000/cro-d-dur.flac' successfully opened ogg debug: found FLAC header version 1.0 (0 header packets) ogg debug: FLAC header, channels: 2, rate: 48000 main debug: selecting program id=0 main debug: looking for packetizer module: 21 candidates qt4 debug: Updating the geometry qt4 debug: Updating the geometry main debug: using packetizer module "flac" main debug: TIMER module_need() : 13.000 ms - Total 13.000 ms / 1 intvls (Avg 13.000 ms) qt4 debug: Updating the geometry main debug: thread (decoder) created at priority 2 (../.././src/input/decoder.c:315) main debug: thread started qt4 debug: Updating the geometry qt4 debug: Updating the geometry ogg debug: beginning of a group of logical streams main error: ES_OUT_RESET_PCR called main debug: thread times: real 0m0.015625s, kernel 0m0.000000s, user 0m0.000000s main debug: removing module "flac" qt4 debug: Updating the geometry main debug: killing decoder fourcc `flac', 0 PES in FIFO qt4 debug: Updating the geometry main debug: looking for packetizer module: 21 candidates main debug: using packetizer module "flac" main debug: TIMER module_need() : 3.000 ms - Total 3.000 ms / 1 intvls (Avg 3.000 ms) main debug: thread started main debug: thread (decoder) created at priority 2 (../.././src/input/decoder.c:315) ogg warning: Ogg_ExtractMeta does not support flac main debug: switching to async mode flac debug: decode STREAMINFO main debug: Buffering 0% flac debug: channels:2 samplerate:48000 bitspersamples:16 flac debug: STREAMINFO decoded main debug: Buffering 0% main warning: clock gap, unexpected stream discontinuity main debug: adding a new sout input (sout_input:0x2dfde18) stream_out_transcode debug: creating audio transcoding from fcc=`flac' to fcc=`alac' main warning: feeding synchro with a new reference point trying to recover from clock gap main debug: looking for decoder module: 36 candidates main debug: Buffering 0% qt4 debug: New caching: 7 main debug: Buffering 8% main debug: Buffering 18% qt4 debug: New caching: 7 main debug: using decoder module "flac" main debug: TIMER module_need() : 13.000 ms - Total 13.000 ms / 1 intvls (Avg 13.000 ms) main debug: Buffering 26% qt4 debug: New caching: 25 qt4 debug: New caching: 25 main debug: Buffering 34% main debug: looking for encoder module: 12 candidates main debug: Buffering 42% main debug: Buffering 50% main debug: Buffering 57% main debug: Buffering 68% qt4 debug: New caching: 68 main debug: Buffering 76% main debug: Buffering 86% avcodec debug: libavcodec initialized (interface 0x342300) qt4 debug: New caching: 68 qt4 debug: New caching: 86 qt4 debug: New caching: 86 avcodec debug: found encoder Apple Lossless Audio Codec main debug: using encoder module "avcodec" qt4 debug: New caching: 93 main debug: Buffering 94% main debug: Stream buffering done (1224 ms in 69 ms) main debug: TIMER module_need() : 38.000 ms - Total 38.000 ms / 1 intvls (Avg 38.000 ms) qt4 debug: New caching: 93 qt4 debug: New caching: 100 stream_out_transcode debug: Looking for filter (fl32->s16l, channels 2->2, rate 48000->44100) main debug: looking for audio filter2 module: 8 candidates qt4 debug: New caching: 100 bandlimited_resampler debug: fl32/48000KHz/2->fl32/44100KHz/2 main debug: using audio filter2 module "bandlimited_resampler" main debug: TIMER module_need() : 13.000 ms - Total 13.000 ms / 1 intvls (Avg 13.000 ms) main debug: Filter 'bandlimited_resampler' (0x2e62d3c) appended to chain main debug: looking for audio filter2 module: 8 candidates audio_format debug: fl32->s16l, bits per sample: 32->16 main debug: using audio filter2 module "audio_format" main debug: TIMER module_need() : 8.000 ms - Total 8.000 ms / 1 intvls (Avg 8.000 ms) main debug: Filter 'audio_format' (0xe4e264) appended to chain stream_out_transcode debug: Got complete audio filter chain main debug: adding a new input mux_dummy debug: adding input main debug: Decoder buffering done in 46 ms main warning: trying to send non-dated packet to stream output! main warning: trying to send non-dated packet to stream output! main warning: trying to send non-dated packet to stream output! flac debug: decode STREAMINFO flac debug: channels:2 samplerate:48000 bitspersamples:16 flac debug: STREAMINFO decoded

Re: Transcoding FLAC to ALAC

Posted: 28 Sep 2009 00:37
by Jean-Baptiste Kempf
and it crashes, asserts or?

Re: Transcoding FLAC to ALAC

Posted: 28 Sep 2009 07:54
by prefab
But transcoding to ALAC and then outputing (file or raop) crashes VLC