[FFmpeg-user] stereo downmix error aac HEv2
Sean Darcy
seandarcy2 at gmail.com
Sat Mar 15 00:10:30 CET 2014
On 03/14/2014 07:00 PM, Sean Darcy wrote:
> On 03/14/2014 06:19 PM, Sean Darcy wrote:
>> stripping audio from a VOB , I was trying to reencode to a lower
>> bitrate, and downmix to mono. git March 13.
>>
>> This worked fine:
>>
>> ffmpeg -i /mnt/dvd/VIDEO_TS/VTS_01_1.VOB -vn -c:a libfdk_aac -b:a 48k
>> -ac 1 1-Talk-show-ac1-48testk.m4a
>>
>> and I can use HEv2 if I don't downmix:
>>
>> ffmpeg -i /mnt/dvd/VIDEO_TS/VTS_01_1.VOB -vn -c:a libfdk_aac -profile:a
>> aac_he_v2 -b:a 48k 1-Talk-he-ac2-48testk.m4a
>>
>> But:
>>
>> ffmpeg -i /mnt/dvd/VIDEO_TS/VTS_01_1.VOB -vn -c:a libfdk_aac -profile:a
>> aac_he_v2 -b:a 48k -ac 1 1-Talk-he-ac1-48testk.m4a
>> ffmpeg version 2.2.git Copyright (c) 2000-2014 the FFmpeg developers
>> built on Mar 13 2014 15:33:24 with gcc 4.8.2 (GCC) 20131212 (Red Hat
>> 4.8.2-7)
>> configuration: --prefix=/usr --bindir=/usr/bin
>> --datadir=/usr/share/ffmpeg --libdir=/usr/lib64 --mandir=/usr/share/man
>> --shlibdir=/usr/lib64 --extra-cflags='-Ofast -march=native -mtune=native
>> -fopenmp -fomit-frame-pointer -pipe' --enable-avresample --enable-static
>> --enable-shared --enable-gray --enable-gpl --enable-nonfree
>> --enable-version3 --enable-postproc --enable-avfilter
>> --enable-avresample --enable-pthreads --enable-x11grab --enable-gray
>> --enable-vaapi --enable-hardcoded-tables --enable-libaacplus
>> --enable-avisynth --enable-frei0r --enable-libfdk-aac --enable-libgsm
>> --enable-libmp3lame --enable-libopenjpeg --enable-libopus
>> --enable-librtmp --enable-libschroedinger --enable-libspeex
>> --enable-libtheora --enable-libvo-aacenc --enable-libvorbis
>> --enable-libvpx --enable-libx264 --enable-libxvid --enable-zlib
>> --disable-debug --cpu=amdfam10 --arch=x86_64 --enable-pic
>> --enable-libopencv --enable-openssl
>> libavutil 52. 66.101 / 52. 66.101
>> libavcodec 55. 52.102 / 55. 52.102
>> libavformat 55. 34.101 / 55. 34.101
>> libavdevice 55. 11.100 / 55. 11.100
>> libavfilter 4. 3.100 / 4. 3.100
>> libavresample 1. 2. 0 / 1. 2. 0
>> libswscale 2. 5.101 / 2. 5.101
>> libswresample 0. 18.100 / 0. 18.100
>> libpostproc 52. 3.100 / 52. 3.100
>> Input #0, mpeg, from '/mnt/dvd/VIDEO_TS/VTS_01_1.VOB':
>> Duration: 00:07:22.24, start: 0.280633, bitrate: 19421 kb/s
>> Stream #0:0[0x1bf]: Data: dvd_nav_packet
>> Stream #0:1[0x1e0]: Video: mpeg2video (Main), yuv420p(tv), 720x480
>> [SAR 8:9 DAR 4:3], max. 3000 kb/s, 29.97 fps, 29.97 tbr, 90k tbn,
>> 59.94 tbc
>> Stream #0:2[0x80]: Audio: ac3, 48000 Hz, stereo, fltp, 192 kb/s
>> [libfdk_aac @ 0x12b3300] Unable to initialize the encoder: SBR library
>> initialization error
>> Output #0, ipod, to '1-Talk-he-ac1-48testk.m4a':
>> Stream #0:0: Audio: aac (HE-AACv2), 48000 Hz, mono, s16, 48 kb/s
>> Stream mapping:
>> Stream #0:2 -> #0:0 (ac3 -> libfdk_aac)
>> Error while opening encoder for output stream #0:0 - maybe incorrect
>> parameters such as bit_rate, rate, width or height
>>
>> Thanks for any help.
>>
>> sean
>
> Oddly, this works:
>
> ffmpeg -i /mnt/dvd/VIDEO_TS/VTS_01_1.VOB -vn -c:a libfdk_aac -profile:a
> aac_he_v2 -b:a 48k -ac 2 1-Talk-he-ac1-48testk.m4a
>
> So it's not just a problem passing the audio channels argument.
>
> sean
More messing around, and it seems the HEv2 won't handle mono at all!
Here I've taken the output from the successful downmix above and used it
as input:
ffmpeg -i 1-Talk-show-ac1-48testk.m4a -vn -c:a libfdk_aac -profile:a
aac_he_v2 -b:a 48k 1-Talk-he-from-ac1-48testk.m4a
ffmpeg version 2.2.git Copyright (c) 2000-2014 the FFmpeg developers
built on Mar 13 2014 15:33:24 with gcc 4.8.2 (GCC) 20131212 (Red Hat
4.8.2-7)
configuration: --prefix=/usr --bindir=/usr/bin
--datadir=/usr/share/ffmpeg --libdir=/usr/lib64 --mandir=/usr/share/man
--shlibdir=/usr/lib64 --extra-cflags='-Ofast -march=native -mtune=native
-fopenmp -fomit-frame-pointer -pipe' --enable-avresample --enable-static
--enable-shared --enable-gray --enable-gpl --enable-nonfree
--enable-version3 --enable-postproc --enable-avfilter
--enable-avresample --enable-pthreads --enable-x11grab --enable-gray
--enable-vaapi --enable-hardcoded-tables --enable-libaacplus
--enable-avisynth --enable-frei0r --enable-libfdk-aac --enable-libgsm
--enable-libmp3lame --enable-libopenjpeg --enable-libopus
--enable-librtmp --enable-libschroedinger --enable-libspeex
--enable-libtheora --enable-libvo-aacenc --enable-libvorbis
--enable-libvpx --enable-libx264 --enable-libxvid --enable-zlib
--disable-debug --cpu=amdfam10 --arch=x86_64 --enable-pic
--enable-libopencv --enable-openssl
libavutil 52. 66.101 / 52. 66.101
libavcodec 55. 52.102 / 55. 52.102
libavformat 55. 34.101 / 55. 34.101
libavdevice 55. 11.100 / 55. 11.100
libavfilter 4. 3.100 / 4. 3.100
libavresample 1. 2. 0 / 1. 2. 0
libswscale 2. 5.101 / 2. 5.101
libswresample 0. 18.100 / 0. 18.100
libpostproc 52. 3.100 / 52. 3.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '1-Talk-show-ac1-48testk.m4a':
Metadata:
major_brand : M4A
minor_version : 512
compatible_brands: isomiso2
encoder : Lavf55.34.101
Duration: 00:40:51.28, start: 0.042667, bitrate: 49 kb/s
Stream #0:0(und): Audio: aac (mp4a / 0x6134706D), 48000 Hz, mono,
fltp, 48 kb/s (default)
Metadata:
handler_name : SoundHandler
[libfdk_aac @ 0x1079840] Unable to initialize the encoder: SBR library
initialization error
Output #0, ipod, to '1-Talk-he-from-ac1-48testk.m4a':
Metadata:
major_brand : M4A
minor_version : 512
compatible_brands: isomiso2
encoder : Lavf55.34.101
Stream #0:0(und): Audio: aac (HE-AACv2), 48000 Hz, mono, s16, 48
kb/s (default)
Metadata:
handler_name : SoundHandler
Stream mapping:
Stream #0:0 -> #0:0 (aac -> libfdk_aac)
Error while opening encoder for output stream #0:0 - maybe incorrect
parameters such as bit_rate, rate, width or height
Is this a bug? Or does the HEv2 profile simply not accept mono?
sean
More information about the ffmpeg-user
mailing list