[FFmpeg-trac] #2809(undetermined:new): AAC output does not play on Nintendo devices (was: AAC files encoded with ffmpeg/avconv do not play on Nintendo devices)

FFmpeg trac at avcodec.org
Thu Jul 25 21:18:35 CEST 2013


#2809: AAC output does not play on Nintendo devices
-------------------------------------+-------------------------------------
             Reporter:               |                    Owner:
  playingwithmusic                   |                   Status:  new
                 Type:  defect       |                Component:
             Priority:  normal       |  undetermined
              Version:  git-master   |               Resolution:
             Keywords:  aac          |               Blocked By:
             Blocking:               |  Reproduced by developer:  0
Analyzed by developer:  0            |
-------------------------------------+-------------------------------------

Old description:

> Summary of the bug: When converting files of any input format to AAC
> audio (in .mp4, .m4a, or .aac containers), the files will not play on
> Nintendo DSi/DSi XL/3DS/3DS XL. The files are detected, but when
> selected, they display "Could not play." It does not matter which AAC
> encoder is used. The fact that files encoded with libfaac in ffmpeg fail
> to play while the standalone faac works flawlessly suggests a problem in
> ffmpeg rather than the encoder.
>
> How to reproduce: Convert any file to AAC audio with frequency
> 41000-48000 Hz and bitrate 16-320 kbps, copy to SD card, and attempt to
> play on a Nintendo handheld. One of the commands that I tried is listed
> below, but any variation (such as with avconv command and -c:a aac and
> -strict -2 parameters) should produce the same results.
>
> {{{
> for f in *.webm; do ffmpeg -i "$f" -acodec libfaac -b:a 128k -ar 44100
> -vn -af volume=1.50 "${f%.webm}.m4a"; done
> ffmpeg version 1.2.1
> built on Jul 11 2013 07:32:35 with gcc 4.8 (Debian 4.8.1-6)
> configuration: --prefix=/usr --extra-cflags='-g -O2 -fstack-protector
> --param=ssp-buffer-size=4 -Wformat -Werror=format-security ' --extra-
> ldflags='-Wl,-z,relro' --cc='ccache ccache cc' --enable-shared --enable-
> libmp3lame --enable-gpl --enable-nonfree --enable-libvorbis --enable-
> pthreads --enable-libfaac --enable-libxvid --enable-postproc --enable-
> x11grab --enable-libgsm --enable-libtheora --enable-libopencore-amrnb
> --enable-libopencore-amrwb --enable-libx264 --enable-libspeex --enable-
> nonfree --disable-stripping --enable-libvpx --enable-libschroedinger
> --disable-encoder=libschroedinger --enable-version3 --enable-libopenjpeg
> --enable-librtmp --enable-avfilter --enable-libfreetype --enable-libvo-
> aacenc --disable-decoder=amrnb --enable-libvo-amrwbenc --enable-
> libaacplus --libdir=/usr/lib/x86_64-linux-gnu --disable-vda --enable-
> libbluray --enable-libcdio --enable-gnutls --enable-frei0r --enable-
> openssl --enable-libass --enable-libopus --enable-fontconfig --enable-
> libpulse --disable-mips32r2 --disable-mipsdspr  libavutil
> }}}
> I've attached an output file of this command. The corresponding input may
> be found at [https://www.youtube.com/watch?v=ALuCtudUHhs]

New description:

 Summary of the bug: When converting files of any input format to AAC audio
 (in .mp4, .m4a, or .aac containers), the files will not play on Nintendo
 DSi/DSi XL/3DS/3DS XL. The files are detected, but when selected, they
 display "Could not play." It does not matter which AAC encoder is used.
 The fact that files encoded with libfaac in ffmpeg fail to play while the
 standalone faac works flawlessly suggests a problem in ffmpeg rather than
 the encoder.

 How to reproduce: Convert any file to AAC audio with frequency 41000-48000
 Hz and bitrate 16-320 kbps, copy to SD card, and attempt to play on a
 Nintendo handheld. One of the commands that I tried is listed below, but
 any variation (such as with ffmpeg command and -c:a aac and -strict -2
 parameters) should produce the same results.

 {{{
 for f in *.webm; do ffmpeg -i "$f" -acodec libfaac -b:a 128k -ar 44100 -vn
 -af volume=1.50 "${f%.webm}.m4a"; done
 ffmpeg version 1.2.1
 built on Jul 11 2013 07:32:35 with gcc 4.8 (Debian 4.8.1-6)
 configuration: --prefix=/usr --extra-cflags='-g -O2 -fstack-protector
 --param=ssp-buffer-size=4 -Wformat -Werror=format-security ' --extra-
 ldflags='-Wl,-z,relro' --cc='ccache ccache cc' --enable-shared --enable-
 libmp3lame --enable-gpl --enable-nonfree --enable-libvorbis --enable-
 pthreads --enable-libfaac --enable-libxvid --enable-postproc --enable-
 x11grab --enable-libgsm --enable-libtheora --enable-libopencore-amrnb
 --enable-libopencore-amrwb --enable-libx264 --enable-libspeex --enable-
 nonfree --disable-stripping --enable-libvpx --enable-libschroedinger
 --disable-encoder=libschroedinger --enable-version3 --enable-libopenjpeg
 --enable-librtmp --enable-avfilter --enable-libfreetype --enable-libvo-
 aacenc --disable-decoder=amrnb --enable-libvo-amrwbenc --enable-libaacplus
 --libdir=/usr/lib/x86_64-linux-gnu --disable-vda --enable-libbluray
 --enable-libcdio --enable-gnutls --enable-frei0r --enable-openssl
 --enable-libass --enable-libopus --enable-fontconfig --enable-libpulse
 --disable-mips32r2 --disable-mipsdspr  libavutil
 }}}
 I've attached an output file of this command. The corresponding input may
 be found at [https://www.youtube.com/watch?v=ALuCtudUHhs]

--

Comment (by llogan):

 Please confirm if native AAC encoder also fails:

 {{{
 ffmpeg -i input -c:a aac -strict -2 -ar 44100 -vn output.m4a
 }}}

 Does remuxing the working output from faac produce a non-working file?

 {{{
 ffmpeg -i faacoutput -c copy output.m4a
 }}}

-- 
Ticket URL: <https://ffmpeg.org/trac/ffmpeg/ticket/2809#comment:9>
FFmpeg <http://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list