Opened 4 years ago

Last modified 4 years ago

#3272 open defect

ffmpeg fails to recognize AAC in mpeg program stream container

Reported by: pkoshevoy Owned by:
Priority: normal Component: avformat
Version: git-master Keywords: mpegps aac
Cc: pkoshevoy@gmail.com Blocked By:
Blocking: Reproduced by developer: yes
Analyzed by developer: no

Description

Summary of the bug:
How to reproduce:

$ /Developer/x86_64/bin/ffmpeg -i TimeCode-MPG-MC264-AAC-ES.264 -i TimeCode-MPG-MC264-AAC-ES.aac -c:a copy -c:v copy -f vob -y remux.mpg 
ffmpeg version N-59572-gb53d6ce Copyright (c) 2000-2014 the FFmpeg developers
  built on Jan  5 2014 11:09:00 with gcc 4.8 (SUSE Linux)
  configuration: --prefix=/Developer/x86_64 --enable-gpl --enable-runtime-cpudetect --enable-libxvid --enable-libx264 --enable-libvpx --enable-libvorbis --enable-libtheora --enable-bzlib --enable-gnutls --enable-libass --enable-libcelt --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libfreetype --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-librtmp --enable-libschroedinger --enable-libspeex --enable-libdc1394 --enable-version3 --disable-debug --enable-pic --disable-static --enable-shared
  libavutil      52. 60.100 / 52. 60.100
  libavcodec     55. 47.100 / 55. 47.100
  libavformat    55. 22.102 / 55. 22.102
  libavdevice    55.  5.102 / 55.  5.102
  libavfilter     4.  0.103 /  4.  0.103
  libswscale      2.  5.101 /  2.  5.101
  libswresample   0. 17.104 /  0. 17.104
  libpostproc    52.  3.100 / 52.  3.100
Input #0, h264, from 'TimeCode-MPG-MC264-AAC-ES.264':
  Duration: N/A, bitrate: N/A
    Stream #0:0: Video: h264 (Baseline), yuv420p(tv), 720x480 [SAR 1:1 DAR 3:2], 23.98 fps, 23.98 tbr, 1200k tbn, 47.95 tbc
[aac @ 0x7869c0] Estimating duration from bitrate, this may be inaccurate
Input #1, aac, from 'TimeCode-MPG-MC264-AAC-ES.aac':
  Duration: 00:00:15.51, bitrate: 124 kb/s
    Stream #1:0: Audio: aac, 48000 Hz, stereo, fltp, 124 kb/s
[vob @ 0x785d40] VBV buffer size not set, muxing may fail
Output #0, vob, to 'remux.mpg':
  Metadata:
    encoder         : Lavf55.22.102
    Stream #0:0: Video: h264, yuv420p, 720x480 [SAR 1:1 DAR 3:2], q=2-31, 23.98 fps, 90k tbn, 23.98 tbc
    Stream #0:1: Audio: aac, 48000 Hz, stereo, 124 kb/s
Stream mapping:
  Stream #0:0 -> #0:0 (copy)
  Stream #1:0 -> #0:1 (copy)
Press [q] to stop, [?] for help
frame=  362 fps=0.0 q=-1.0 Lsize=    2134kB time=00:00:15.09 bitrate=1158.1kbits/s    
video:1869kB audio:236kB subtitle:0 global headers:0kB muxing overhead 1.380917%


$ ffprobe -i remux.mpg 
ffprobe version N-59572-gb53d6ce Copyright (c) 2007-2014 the FFmpeg developers
  built on Jan  5 2014 11:09:00 with gcc 4.8 (SUSE Linux)
  configuration: --prefix=/Developer/x86_64 --enable-gpl --enable-runtime-cpudetect --enable-libxvid --enable-libx264 --enable-libvpx --enable-libvorbis --enable-libtheora --enable-bzlib --enable-gnutls --enable-libass --enable-libcelt --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libfreetype --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-librtmp --enable-libschroedinger --enable-libspeex --enable-libdc1394 --enable-version3 --disable-debug --enable-pic --disable-static --enable-shared
  libavutil      52. 60.100 / 52. 60.100
  libavcodec     55. 47.100 / 55. 47.100
  libavformat    55. 22.102 / 55. 22.102
  libavdevice    55.  5.102 / 55.  5.102
  libavfilter     4.  0.103 /  4.  0.103
  libswscale      2.  5.101 /  2.  5.101
  libswresample   0. 17.104 /  0. 17.104
  libpostproc    52.  3.100 / 52.  3.100
[mp2 @ 0xcb5040] Header missing
    Last message repeated 12 times
[mpeg @ 0xcb3aa0] decoding for stream 1 failed
[mpeg @ 0xcb3aa0] Could not find codec parameters for stream 1 (Audio: mp3, 0 channels, s16p): unspecified frame size
Consider increasing the value for the 'analyzeduration' and 'probesize' options
Input #0, mpeg, from 'remux.mpg':
  Duration: 00:00:15.05, start: 0.500000, bitrate: 1161 kb/s
    Stream #0:0[0x1e0]: Video: h264 (Baseline), yuv420p(tv), 720x480 [SAR 1:1 DAR 3:2], 23.98 fps, 23.98 tbr, 90k tbn, 47.95 tbc
    Stream #0:1[0x1c0]: Audio: mp3, 0 channels, s16p

The output file remux.mpg plays (with sound) in Windows Media Player and Media Player Classic, but not with VLC or other FFmpeg based players.

I also have attached a version of the (nearly) same MPEG-PS file that was muxed using MainConcept? SDK. This file is recognized correctly by FFmpeg as well as VLC and Windows Media Player

Attachments (3)

h264-aac-mpeg-ps-mainconcept.mpg (2.2 MB) - added by pkoshevoy 4 years ago.
File muxed with MainConcept? SDK 9.6
TimeCode-MPG-MC264-AAC-ES.264 (1.8 MB) - added by pkoshevoy 4 years ago.
H.264 elementary stream
TimeCode-MPG-MC264-AAC-ES.aac (235.7 KB) - added by pkoshevoy 4 years ago.
AAC ADTS elementary stream

Change History (9)

Changed 4 years ago by pkoshevoy

File muxed with MainConcept? SDK 9.6

Changed 4 years ago by pkoshevoy

H.264 elementary stream

Changed 4 years ago by pkoshevoy

AAC ADTS elementary stream

comment:1 Changed 4 years ago by cehoyos

  • Component changed from undetermined to avformat
  • Keywords mpegps aac added; avformat mpeg-ps removed

comment:2 Changed 4 years ago by cehoyos

  • Reproduced by developer set
  • Status changed from new to open

comment:3 follow-up: Changed 4 years ago by cehoyos

WMP does not play aac-in-vob here (neither the MainConcept? sample nor a file created with FFmpeg).

comment:4 in reply to: ↑ 3 Changed 4 years ago by pkoshevoy

Replying to cehoyos:

WMP does not play aac-in-vob here (neither the MainConcept? sample nor a file created with FFmpeg).

I am not at the computer where I was able to play the file right now. However, it runs Windows 8.1 with whatever version of Windows Media Player that implies. It may be also that the file was playable due to MainConcept? DirectShow filters being installed on the system too, I could check with a DirectShow graph editor tool tomorrow.

Still, ffprobe does recognize the MainConcept? file and doesn't recognize the file muxed with ffmpeg, and that seems broken

comment:5 Changed 4 years ago by cehoyos

Works fine with WMP 12 on Windows 8.

comment:6 Changed 4 years ago by pkoshevoy

  • Summary changed from ffmpeg fails to recognize AAC in mpeg program stream contrainer to ffmpeg fails to recognize AAC in mpeg program stream container
Note: See TracTickets for help on using tickets.