[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