Opened 12 years ago
Closed 12 years ago
#1596 closed defect (fixed)
Unable to detect AAC in Quicktime file with timecode track embedded.
Reported by: | Joe Pelayo | 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 (3)
Change History (9)
by , 12 years ago
Attachment: | ffprobe.txt added |
---|
by , 12 years ago
Attachment: | mediaInfo.txt added |
---|
by , 12 years ago
Attachment: | movieproperties.jpg added |
---|
comment:1 by , 12 years ago
Component: | FFmpeg → avformat |
---|---|
Keywords: | mov regression added |
Priority: | normal → important |
Version: | unspecified → git-master |
comment:2 by , 12 years ago
sample MOV file:
https://docs.google.com/open?id=0B3BW_cEkkjr-eWtjaTRfMEwtTHM
comment:3 by , 12 years ago
Is this really a regression (= Does it work with an older version of FFmpeg) or did I misunderstand your original report?
comment:4 by , 12 years ago
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 by , 12 years ago
Keywords: | regression removed |
---|---|
Priority: | important → normal |
Reproduced by developer: | set |
Status: | new → open |
Summary: | Unable to extract audio (AAC) from Quicktime file with timecode track embedded. → Unable to detect AAC in Quicktime file with timecode track embedded. |
Sample moved to samples/ffmpeg-bugs/trac/ticket1596
comment:6 by , 12 years ago
Resolution: | → fixed |
---|---|
Status: | open → closed |
Please provide a sample.