GNOME Bugzilla – Bug 598350
qtmux with AAC streams (from faac) generate invalid files
Last modified: 2010-01-11 16:53:46 UTC
Created attachment 145387 [details] Script for muxing AAC Using the attached script to encode and mux a PCM file to get an AAC file into a container, it looks like generated files cannot be played back with common players. Plug-ins used: faac, qtmux, gppmux, mp4mux, matroskamux and avimux. Players tested: VLC 0.8.6e, Windows QuickTime 7.2, Totem 2.22.1, Rhythmbox 0.11.5, mplayer 1.0rc2-4.2.4. GStreamer versions used are latest released: 0.10.25 for library and -core plug-ins; 0.10.16 for -good; 0.10.14 for -bad. Tried Low Complexity AAC audio (both raw and ADTS stream formats), but only the raw AAC using avi, mov, 3gp and mp4 containers can be played back, and only with mplayer. ADTS files show messages like "FAAD: Failed to decode frame: Invalid number of channels". Duration of the audio stream seems to be off as reported by MP4Box (from GPAC 0.4.4): Track # 1 Info - TrackID 1 - TimeScale 44100 - Duration 37 Days, 22:19:01.870 Media Info: Language "Undetermined" - Type "soun:mp4a" - 1713 samples MPEG-4 Config: Audio Stream - ObjectTypeIndication 0x40 MPEG-4 Audio AAC LC - 2 Channel(s) - SampleRate 44100 Self-synchronized (Files generated using matroskamux do no have anything in them [file size is around 2K].)
I could play all the 'raw' versions with totem. I'm using git version. I generated the pcm using: 'gst-launch audiotestsrc num-buffers=100 ! audio/x-raw-int,rate=44100,channels=2,width=16,depth=16,endianness=1234 ! filesink location=sample.pcm'
Using gst-plugins-bad-0.10.14.4 (16-Oct-2009) raw AAC muxed files can be played using Totem, but it is not possible using others players (VLC, Windows QuickTime, mplayer). ADTS files (within container) still show error messages.
Do you have any sample files that work on other players? I'd like to see them to spot the differences. If you have working adts files would also be helpful
You could try with http://www.mp4point.com/iron-man-movie-trailer/
Fixed, although the caps field is 'raw' and not 'none' anymore as the commit log states. Now qtmux/avimux/matroskamux rejects aac that are not in 'raw' stream format. In -bad: commit 5b8b363310cae46e63c6bebfae0bf24da9e1d92e Author: Thiago Santos <thiago.sousa.santos@collabora.co.uk> Date: Mon Jan 11 10:34:32 2010 -0300 qtmux: Only accept stream-format='none' aac Only accept raw aac streams (stream-format=none) to avoid generating invalid files. Fixes #604925 In -good: commit 1314853210d66959f8c09447ec9278fe645d104c Author: Thiago Santos <thiago.sousa.santos@collabora.co.uk> Date: Mon Jan 11 12:07:29 2010 -0300 matroskamux: Only accept raw aac makes matroskamux reject aac streams that are not in raw format (stream-format=none) Fixes #598350 commit bacd350483c548102de64556ad8cfb5ecc455e36 Author: Thiago Santos <thiago.sousa.santos@collabora.co.uk> Date: Mon Jan 11 12:08:55 2010 -0300 avimux: Only accept raw aac makes avimux reject aac streams that are not in raw format (stream-format=none) Fixes #59835