Opened 6 years ago

Closed 6 years ago

#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 (3)

ffprobe.txt (1.5 KB) - added by stampe93 6 years ago.
mediaInfo.txt (2.5 KB) - added by stampe93 6 years ago.
movieproperties.jpg (38.7 KB) - added by stampe93 6 years ago.

Download all attachments as: .zip

Change History (9)

Changed 6 years ago by stampe93

Changed 6 years ago by stampe93

Changed 6 years ago by stampe93

comment:1 Changed 6 years ago by cehoyos

  • Component changed from FFmpeg to avformat
  • Keywords mov regression added
  • Priority changed from normal to important
  • Version changed from unspecified to git-master

Please provide a sample.

comment:3 Changed 6 years 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 6 years 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 6 years ago by cehoyos

  • Keywords regression removed
  • Priority changed from important to normal
  • Reproduced by developer set
  • Status changed from new to open
  • 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

comment:6 Changed 6 years ago by michael

  • Resolution set to fixed
  • Status changed from open to closed
Note: See TracTickets for help on using tickets.