Ticket #1596 (closed defect: fixed)
Unable to detect AAC in Quicktime file with timecode track embedded.
|Reported by:||stampe93||Owned by:|
|Blocking:||Reproduced by developer:||yes|
|Analyzed by developer:||no|
Summary of the bug:
I've been working with FFMPEG for quite some time now but have recently run into a problem when attempting to use FFMPEG to encode a MOV file to an audio WAV file only. I've done this easily in the past, but was provided a MOV file encoded with H264 video and AAC audio. The MOV also has an timecode track. When I first attempted to transcode the video to a lower bit rate H264 file, the encode is fine but without audio. I noticed that examining the source file with FFProbe, I receive an error of: Unsupported codec with ID 0 for input stream 1. FFProbe identifies the video correctly at stream #0:0, but when it reaches #0:1, that's where the error occurs. This appears to be the location of the timecode stream. The audio stream is not even identified. Quicktime plays the video with audio fine and shows the correct movie properties with the AAC audio as one of the tracks along with the H264 track and the Timecode track. (See attached QT Movie Properties). VLC also plays fine. MediaInfo? output and FFprobe output of the source file are attached. (As you can see in MediaInfo?, the Timecode ID is before the Audio ID, which I think is the reason why FFMPEG does not see the AAC audio. My guess is that the timecode track causes the FFProbe scan to error before it reaches the audio, so the audio is not found.)
How to reproduce:
ffmpeg -i "proxy 1500k.mov. MOV" -acodec pcm_s16le -vn -y "proxy 1500 k.wav" ffmpeg version N-41416-g718607b Copyright (c) 2000-2012 the FFmpeg developers built on Jun 8 2012 12:46:19 with gcc 4.6.3 configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-ru ntime-cpudetect --enable-avisynth --enable-bzlib --enable-frei0r --enable-libass --enable-libcelt --enable-libopencore-amrnb --enable-libopencore-amrwb --enable -libfreetype --enable-libgsm --enable-libmp3lame --enable-libnut --enable-libope njpeg --enable-librtmp --enable-libschroedinger --enable-libspeex --enable-libth eora --enable-libutvideo --enable-libvo-aacenc --enable-libvo-amrwbenc --enable- libvorbis --enable-libvpx --ena libavutil 51. 56.100 / 51. 56.100 libavcodec 54. 25.100 / 54. 25.100 libavformat 54. 6.101 / 54. 6.101 libavdevice 54. 0.100 / 54. 0.100 libavfilter 2. 78.101 / 2. 78.101 libswscale 2. 1.100 / 2. 1.100 libswresample 0. 15.100 / 0. 15.100 libpostproc 52. 0.100 / 52. 0.100 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'C:\videos\ proxy 1500k.mov.MOV': Metadata: major_brand : qt minor_version : 0 compatible_brands: qt creation_time : 2012-07-20 09:53:07 Duration: 00:00:19.65, start: 0.000000, bitrate: 1641 kb/s Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 640x360 [ SAR 1:1 DAR 16:9], 1509 kb/s, 29.97 fps, 29.97 tbr, 2997 tbn, 59.94 tbc Metadata: creation_time : 2012-07-20 09:53:07 Stream #0:1(eng): Data: none Metadata: creation_time : 2012-07-20 09:53:07 Output #0, wav, to 'C:\videos\proxy 1500k.wav': Metadata: major_brand : qt minor_version : 0 compatible_brands: qt creation_time : 2012-07-20 09:53:07 Output file #0 does not contain any stream
I tried using the -map 0:2 (which should be the audio stream), but that also fails. I looked at other MOV videos that also have Timecode streams and I have no problem with those. But those MOVs had the Timecode after the Audio stream, which makes me think that is the cause of my problems. FFProbe always seems to throw an Unsupported codec error for videos with timecode tracks. (In my experience.) Not sure if that has anything to do with my problem. Thanks.
- Keywords mov regression added
- Priority changed from normal to important
- Version changed from unspecified to git-master
- Component changed from FFmpeg to avformat
- Keywords regression removed
- Priority changed from important to normal
- Status changed from new to open
- Reproduced by developer set
- Summary changed from Unable to extract audio (AAC) from Quicktime file with timecode track embedded. to Unable to detect AAC in Quicktime file with timecode track embedded.