Ticket #1596 (closed defect: fixed)
Unable to detect AAC in Quicktime file with timecode track embedded.
| Reported by: | stampe93 | Owned by: | |
|---|---|---|---|
| Priority: | normal | Component: | avformat |
| Version: | git-master | Keywords: | mov |
| Cc: | Blocked By: | ||
| Blocking: | Reproduced by developer: | yes | |
| Analyzed by developer: | no |
Description
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.
Attachments
Change History
comment:1 Changed 10 months ago by cehoyos
- Keywords mov regression added
- Priority changed from normal to important
- Version changed from unspecified to git-master
- Component changed from FFmpeg to avformat
Please provide a sample.
comment:2 Changed 10 months ago by stampe93
sample MOV file:
https://docs.google.com/open?id=0B3BW_cEkkjr-eWtjaTRfMEwtTHM
comment:3 Changed 10 months ago by cehoyos
Is this really a regression (= Does it work with an older version of FFmpeg) or did I misunderstand your original report?
comment:4 Changed 10 months ago by stampe93
Not regression. I don't think it works in any older version of FFMPEG. Problem appears to be related to this particular MOV file. The video plays fine in Quicktime, VLC and imports into Final Cut. FFMPEG is unable to transcode the audio track. Like FFProbe, it doesn't even see the audio track. FFProbe correctly recognizes the video track, but then errors on the 0.1 Data (which is the timecode), and then stops before the audio.
comment:5 Changed 10 months ago by cehoyos
- 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.
Sample moved to samples/ffmpeg-bugs/trac/ticket1596



