VLC 1.0.x and 1.1.x can't convert AES3 audio
Related thread:
http://forum.videolan.org/viewtopic.php?f=2&t=61993
When using the GUI to convert a MPEG TS file with MPEG2 video and AES3 audio I can't get the AES3 to be converted, it doesn't matter which output container I'm using and which audio codec I'm using, so I always end up with a file containing one video stream only.
Sample (227 MB): http://wdtv.com/downloads/nctapsa01hi.mpg
Full log:
{{{
qt4 debug: MRL passed to the Sout: E:\Temp\nctapsa01hi.mpg
qt4 warning: Transcode MRL: sout=#transcode{vcodec=h264,vb=1500,scale=1,width=704,height=400,acodec=mp4a,ab=128,channels=2,samplerate=48000,deinterlace}:duplicate{dst=std{access=file,mux=mp4,dst='E:\test.mp4'}
qt4 debug: Adding option: sout=#transcode{vcodec=h264,vb=1500,scale=1,width=704,height=400,acodec=mp4a,ab=128,channels=2,samplerate=48000,deinterlace}:duplicate{dst=std{access=file,mux=mp4,dst='E:\test.mp4'}
main debug: adding item Diffusion' ( E:\Temp\nctapsa01hi.mpg ) main debug: rebuilding array of current - root Liste de lecture main debug: rebuild done - 2 items, index 0 main debug: processing request item Diffusion node null skip 0 main debug: resyncing on Diffusion main debug: Diffusion is at 1 main debug: starting new item main debug: creating new input thread main debug: Creating an input for 'Diffusion' qt4 debug: Adding a new MRL to recent ones: E:\Temp\nctapsa01hi.mpg main debug: thread (input) created at priority 1 (../.././src/input/input.c:230) main debug: thread started main debug: stream=
transcode'
main debug: looking for sout stream module: 1 candidate
main debug: stream=duplicate' main debug: looking for sout stream module: 1 candidate stream_out_duplicate debug: creating 'duplicate' stream_out_duplicate debug: * adding
std{access=file,mux=mp4,dst='E:\test.mp4'}'
main debug: stream=std' main debug: looking for sout stream module: 1 candidate main debug: set config option: sout-standard-access to file qt4 debug: IM: Setting an input main debug: set config option: sout-standard-mux to mp4 main debug: set config option: sout-standard-dst to E:\test.mp4 stream_out_standard debug: creating
file/mp4://E:\test.mp4'
stream_out_standard debug: extension is mp4
stream_out_standard debug: extension -> mux=mp4
stream_out_standard debug: using file/mp4://E:\test.mp4' main debug: looking for sout access module: 1 candidate access_output_file debug: file access output opened (E:\test.mp4) main debug: using sout access module "access_output_file" main debug: TIMER module_need() : 0,000 ms - Total 0,000 ms / 1 intvls (Avg 0,000 ms) stream_out_standard debug: access opened main debug: looking for sout mux module: 1 candidate mux_mp4 debug: Mp4 muxer opened main debug: using sout mux module "mux_mp4" main debug: TIMER module_need() : 1,000 ms - Total 1,000 ms / 1 intvls (Avg 1,000 ms) stream_out_standard debug: mux opened main debug: using sout stream module "stream_out_standard" main debug: TIMER module_need() : 4,000 ms - Total 4,000 ms / 1 intvls (Avg 4,000 ms) main debug: using sout stream module "stream_out_duplicate" main debug: TIMER module_need() : 4,000 ms - Total 4,000 ms / 1 intvls (Avg 4,000 ms) qt4 debug: Updating the geometry qt4 debug: Updating the geometry main debug: set config option: sout-transcode-vcodec to h264 main debug: set config option: sout-transcode-vb to 1500 main debug: set config option: sout-transcode-scale to 1 main debug: set config option: sout-transcode-width to 704 main debug: set config option: sout-transcode-height to 400 main debug: set config option: sout-transcode-acodec to mp4a main debug: set config option: sout-transcode-ab to 128 main debug: set config option: sout-transcode-channels to 2 main debug: set config option: sout-transcode-samplerate to 48000 main debug: set config option: sout-transcode-deinterlace to (null) stream_out_transcode debug: codec audio=mp4a 48000Hz 2 channels 128Kb/s stream_out_transcode debug: codec video=h264 704x400 scaling: 1,000000 1500kb/s main debug: using sout stream module "stream_out_transcode" main debug: TIMER module_need() : 9,000 ms - Total 9,000 ms / 1 intvls (Avg 9,000 ms) main debug: using timeshift granularity of 50 MBytes main debug: using timeshift path 'C:\DOCUME~1\USER\LOCALS~1\Temp' main debug:
E:\Temp\nctapsa01hi.mpg' gives access ' demux
' path E:\Temp\nctapsa01hi.mpg' main debug: creating demux: access=_ demux=_ path='E:\Temp\nctapsa01hi.mpg' main debug: looking for access_demux module: 3 candidates main debug: TIMER module_need() : 1,000 ms - Total 1,000 ms / 1 intvls (Avg 1,000 ms) main debug: creating access '' path='E:\Temp\nctapsa01hi.mpg' main debug: looking for access module: 5 candidates vcd debug: trying .cue file: E:\Temp\nctapsa01hi.cue vcd debug: could not find .cue file access_file debug: opening file
E:\Temp\nctapsa01hi.mpg'
main debug: using access module "access_file"
main debug: TIMER module_need() : 0,000 ms - Total 0,000 ms / 1 intvls (Avg 0,000 ms)
main debug: Using AStream*Stream
main debug: pre buffering
main debug: received first data after 0 ms
main debug: pre-buffering done 1024 bytes in 0s - 1000000 kbytes/s
main debug: looking for stream_filter module: 2 candidates
main debug: TIMER module_need() : 0,000 ms - Total 0,000 ms / 1 intvls (Avg 0,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() : 0,000 ms - Total 0,000 ms / 1 intvls (Avg 0,000 ms)
main debug: creating demux: access=_ demux=_ path='E:\Temp\nctapsa01hi.mpg'
main debug: looking for demux module: 50 candidates
main debug: using demux module "ts"
main debug: TIMER module_need() : 1,000 ms - Total 1,000 ms / 1 intvls (Avg 1,000 ms)
qt4 debug: New caching: 0
qt4 debug: New caching: 0
main debug: looking for a subtitle file in E:\Temp
main debug: autodetected subtitle: E:\Temp\nctapsa01hi.txt with priority 4
main debug: E:\Temp\nctapsa01hi.txt' gives access
' demux ' path
E:\Temp\nctapsa01hi.txt'
main debug: creating demux: access='' demux='subtitle' path='E:\Temp\nctapsa01hi.txt'
main debug: looking for access_demux module: 3 candidates
main debug: TIMER module_need() : 1,000 ms - Total 1,000 ms / 1 intvls (Avg 1,000 ms)
main debug: creating access '' path='E:\Temp\nctapsa01hi.txt'
main debug: looking for access module: 5 candidates
vcd debug: trying .cue file: E:\Temp\nctapsa01hi.cue
vcd debug: could not find .cue file
access_file debug: opening file E:\Temp\nctapsa01hi.txt' main debug: using access module "access_file" main debug: TIMER module_need() : 0,000 ms - Total 0,000 ms / 1 intvls (Avg 0,000 ms) main debug: Using AStream*Stream main debug: pre buffering main debug: received first data after 0 ms main debug: pre-buffering done 610 bytes in 0s - 595703 kbytes/s main debug: looking for stream_filter module: 2 candidates main debug: TIMER module_need() : 0,000 ms - Total 0,000 ms / 1 intvls (Avg 0,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() : 0,000 ms - Total 0,000 ms / 1 intvls (Avg 0,000 ms) main debug: creating demux: access='' demux='subtitle' path='E:\Temp\nctapsa01hi.txt' main debug: looking for demux module: 3 candidates vobsub debug: this doesn't seem to be a vobsub file main error: option sub-original-fps does not exist subtitle debug: Movie fps: -1,000000 subtitle debug: autodetecting subtitle format subtitle warning: failed to recognize subtitle type main warning: no demux module matching "subtitle" could be loaded main debug: TIMER module_need() : 1,000 ms - Total 1,000 ms / 1 intvls (Avg 1,000 ms) main error: no suitable demux module for
/subtitle://E:\Temp\nctapsa01hi.txt'
main debug: removing module "stream_filter_record"
main debug: removing module "access_file"
ts debug: DEMUX_SET_GROUP 0 0
main debug: starting in sync mode
main debug: E:\Temp\nctapsa01hi.mpg' successfully opened ts debug: PATCallBack called ts debug: new PAT ts_id=0 version=0 current_next=1 ts debug: * number=1 pid=480 ts debug: PMTCallBack called ts debug: new PMT program number=1 version=0 pid_pcr=481 ts debug: * es pid=482 type=6 dr->i_tag=0x5 ts debug: * es pid=482 type=6 fcc=aes3 main debug: selecting program id=1 main debug: looking for packetizer module: 21 candidates main debug: using packetizer module "aes3" main debug: TIMER module_need() : 0,000 ms - Total 0,000 ms / 1 intvls (Avg 0,000 ms) main debug: thread (decoder) created at priority 2 (../.././src/input/decoder.c:315) main debug: thread started ts debug: * es pid=483 type=6 dr->i_tag=0x5 ts debug: * es pid=483 type=6 fcc=aes3 ts debug: * es pid=484 type=6 dr->i_tag=0x5 ts debug: * es pid=484 type=6 fcc=aes3 ts debug: * es pid=485 type=6 dr->i_tag=0x5 ts debug: * es pid=485 type=6 fcc=aes3 ts debug: * es pid=481 type=2 fcc=mpgv main debug: looking for packetizer module: 21 candidates main debug: using packetizer module "packetizer_mpegvideo" main debug: TIMER module_need() : 0,000 ms - Total 0,000 ms / 1 intvls (Avg 0,000 ms) main debug: thread (decoder) created at priority 0 (../.././src/input/decoder.c:315) main debug: thread started main debug: switching to async mode main debug: adding a new sout input (sout_input:0x906c3c0) stream_out_transcode debug: creating audio transcoding from fcc=
aes3' to fcc=mp4a' main debug: looking for decoder module: 35 candidates main debug: using decoder module "aes3" main debug: TIMER module_need() : 0,000 ms - Total 0,000 ms / 1 intvls (Avg 0,000 ms) main debug: looking for encoder module: 12 candidates avcodec debug: libavcodec already initialized main debug: Buffering 0% avcodec debug: found encoder MPEG AAC Audio main debug: using encoder module "avcodec" main debug: TIMER module_need() : 14,000 ms - Total 14,000 ms / 1 intvls (Avg 14,000 ms) stream_out_transcode debug: Looking for filter (aes3->s16l, channels 2->2, rate 48000->48000) main debug: looking for audio filter2 module: 8 candidates main debug: TIMER module_need() : 0,000 ms - Total 0,000 ms / 1 intvls (Avg 0,000 ms) main error: Failed to create audio filter2 stream_out_transcode error: Failed to find conversion filter to fl32 main debug: removing module "aes3" main debug: removing module "avcodec" stream_out_transcode error: cannot create audio chain main error: cannot create packetizer output (aes3) main debug: Buffering 2% packetizer_mpegvideo debug: size 1920x1080 fps=29,970 main debug: Buffering 7% main debug: adding a new sout input (sout_input:0x1503c30) stream_out_transcode debug: creating video transcoding from fcc=
mpgv' to fcc=h264' main debug: looking for decoder module: 35 candidates main debug: using decoder module "libmpeg2" main debug: TIMER module_need() : 1,000 ms - Total 1,000 ms / 1 intvls (Avg 1,000 ms) main debug: looking for encoder module: 12 candidates x264 debug: version x264 0.67.X main debug: Buffering 16% main debug: Buffering 24% main debug: Buffering 35% main debug: Buffering 45% main debug: Buffering 55% main debug: Buffering 66% main debug: Buffering 76% x264 debug: initializing pthread-win32 main debug: using encoder module "x264" main debug: TIMER module_need() : 13,000 ms - Total 13,000 ms / 1 intvls (Avg 13,000 ms) main debug: Buffering 86% main debug: Buffering 97% main debug: Stream buffering done (323 ms in 21 ms) x264 debug: pthread-win32 deinitialized main debug: removing module "x264" main debug: thread (encoder) created at priority 0 (../../.././modules/stream_out/transcode.c:1546) main debug: Decoder buffering done in 0 ms libmpeg2 debug: 1920x1080 (display 1920,1080), aspect 768000, sar 1:1, 29.971 fps main warning: dts != current_pts (-8032753911) main warning: decoder synchro warning: pts != current_date (-33366) stream_out_transcode debug: decoder aspect is 768000:432000 stream_out_transcode debug: source pixel aspect is 1,007407:1 stream_out_transcode debug: scaled pixel aspect is 1,010101:1 stream_out_transcode debug: source 1920x1088, destination 704x400 stream_out_transcode debug: encoder aspect is 768000:432000 main debug: looking for video filter2 module: 1 candidate deinterlace debug: using blend deinterlace mode deinterlace debug: using blend deinterlace method main warning: no video filter2 module matching "deinterlace" could be loaded main debug: TIMER module_need() : 1,000 ms - Total 1,000 ms / 1 intvls (Avg 1,000 ms) main error: Failed to create video filter2 'deinterlace' main debug: looking for video filter2 module: 20 candidates main debug: thread started swscale debug: 1920x1088 chroma: I422 -> 704x400 chroma: I420 with scaling using Bicubic (good quality) main debug: using video filter2 module "swscale" main debug: TIMER module_need() : 4,000 ms - Total 4,000 ms / 1 intvls (Avg 4,000 ms) main debug: Filter 'swscale' (0xa2b4c8c) appended to chain stream_out_transcode debug: destination (after video filters) 704x400 main debug: looking for encoder module: 12 candidates x264 debug: version x264 0.67.X x264 debug: initializing pthread-win32 main debug: using encoder module "x264" main debug: TIMER module_need() : 14,000 ms - Total 14,000 ms / 1 intvls (Avg 14,000 ms) stream_out_duplicate debug: duplicated a new stream codec=h264 (es=481 group=1) main debug: adding a new input mux_mp4 debug: adding input stream_out_duplicate debug: - added for output 0 qt4 debug: Updating the geometry qt4 debug: Updating the geometry qt4 debug: Updating the geometry qt4 debug: Updating the geometry qt4 debug: Updating the geometry qt4 debug: Updating the geometry qt4 debug: Updating the geometry qt4 debug: Updating the geometry qt4 debug: Updating the geometry qt4 debug: Updating the geometry qt4 debug: Updating the geometry qt4 debug: Updating the geometry qt4 debug: Updating the geometry qt4 debug: New caching: 100 qt4 debug: New caching: 100 mux_mp4 warning: i_length <= 0 mux_mp4 warning: i_length <= 0 mux_mp4 warning: i_length <= 0 mux_mp4 warning: i_length <= 0 mux_mp4 warning: i_length <= 0 mux_mp4 warning: i_length <= 0 [...] mux_mp4 warning: i_length <= 0 mux_mp4 warning: i_length <= 0 mux_mp4 warning: i_length <= 0 mux_mp4 warning: i_length <= 0 mux_mp4 warning: i_length <= 0 mux_mp4 warning: i_length <= 0 ts debug: eof ? main debug: EOF reached main debug: waiting decoder fifos to empty main debug: waiting decoder fifos to empty main debug: waiting decoder fifos to empty main debug: waiting decoder fifos to empty main debug: waiting decoder fifos to empty main debug: waiting decoder fifos to empty main debug: thread times: real 2m8,875000s, kernel 0m0,015625s, user 0m0,015625s main debug: removing module "aes3" main debug: killing decoder fourcc
aes3', 0 PES in FIFO
main debug: finished input
main debug: thread times: real 2m8,890625s, kernel 0m0,062500s, user 0m21,390625s
main debug: removing module "packetizer_mpegvideo"
main debug: killing decoder fourcc `mpgv', 0 PES in FIFO
main debug: removing a sout input (sout_input:0x1503c30)
main debug: thread ended
main debug: thread times: real 2m8,843750s, kernel 0m0,062500s, user 0m2,906250s
main debug: TIMER encoding video frame : 51,000 ms - Total 128742,006 ms / 893 intvls (Avg 144,168 ms)
main debug: removing module "libmpeg2"
x264 debug: pthread-win32 deinitialized
main debug: removing module "x264"
main debug: Filter 'swscale' (0xa2b4c8c) removed from chain
main debug: removing module "swscale"
mux_mp4 debug: removing input
main warning: no more input streams for this mux
ts debug: pid list:
ts debug: - pid[0] seen
ts debug: - pid[480] seen
ts debug: - pid[481] seen
ts debug: - pid[482] seen
ts debug: - pid[483] seen
ts debug: - pid[484] seen
main debug: Program doesn't contain anymore ES
ts debug: - pid[485] seen
ts debug: - pid[8191] seen
main debug: removing module "ts"
main debug: removing module "stream_filter_record"
main debug: removing module "access_file"
main debug: thread ended
main debug: dead input
main debug: destroying useless sout
main debug: destroying chain... (name=transcode)
main debug: destroying chain... (name=duplicate)
stream_out_duplicate debug: closing a duplication
main debug: destroying chain... (name=std)
mux_mp4 debug: Close
mux_mp4 debug: movie duration 26s
mux_mp4 debug: created 1 chunks (stco)
main debug: removing module "mux_mp4"
access_output_file debug: file access output closed
main debug: removing module "access_output_file"
main debug: removing module "stream_out_standard"
main debug: destroying chain done
main debug: removing module "stream_out_duplicate"
main debug: destroying chain done
main debug: removing module "stream_out_transcode"
main debug: destroying chain done
main debug: thread times: real 2m9,000000s, kernel 0m0,609375s, user 0m1,234375s
main debug: changing item without a request (current 1/2)
main debug: nothing to play
qt4 debug: IM: Deleting the input
qt4 debug: Updating the geometry
qt4 debug: Updating the geometry
main debug: TIMER input launching for 'Diffusion' : 90,000 ms - Total 90,000 ms / 1 intvls (Avg 90,000 ms)
}}}
Although I've removed a lot of "mux_mp4 warning: i_length <= 0" lines which I believe belong to the MP4 container bug (ticket #2715 (closed)).
But I think the important part is there: {{{ main error: Failed to create audio filter2 stream_out_transcode error: Failed to find conversion filter to fl32 stream_out_transcode error: cannot create audio chain main error: cannot create packetizer output (aes3) }}}