[FFmpeg-user] Differences in output between FFmpeg versions

Ethan Coeytaux ethan at soundhound.com
Wed Oct 16 00:08:56 EEST 2019


Hello all,


My work involves analyzing large quantities of songs and determining
"matches" and for some time we've been using FFmpeg to convert MP3s and
AACs from numerous sources to raw data to then analyze.  However this
system was put into place several years ago and we're still using a very
old version of FFmpeg (v2.2.1).  When upgrading however we noticed there
are substantial differences in the output of FFmpeg when using a newer
version (either 2.6.8, 3.3.4, or 4.1.1) compared to the older version,
which has notable consequences on our analysis of the audio.  However, the
output from 2.6.8, 3.3.4, and 4.1.1, while still different, are much more
similar than the output from 2.2.1.


My question is: are there any ways to eliminate or minimize these changes
in the output?  The command we're running is "ffmpeg -loglevel warning -i
$AUDIODIR/$filename -ar 8000 -ac 1 -f s16le -acodec pcm_s16le
$RAMDIR/RAW/$rawFilename".


The config for our v2.2.1 version is:


ffmpeg version 2.2.1

built on Dec 11 2015 16:14:14 with gcc 4.4.7 (GCC) 20120313 (Red Hat
4.4.7-16)

--prefix=/usr

--bindir=/usr/bin

--datadir=/usr/share/ffmpeg

--incdir=/usr/include/ffmpeg

--libdir=/usr/lib64

--mandir=/usr/share/man

--arch=x86_64

--optflags='-O2

-g

-pipe

-Wall

-Wp,-D_FORTIFY_SOURCE=2

-fexceptions

-fstack-protector

--param=ssp-buffer-size=4

-m64

-mtune=generic'

--enable-bzlib

--disable-crystalhd

--enable-gnutls

--enable-libass

--enable-libdc1394

--disable-indev=jack

--enable-libfreetype

--enable-libgsm

--enable-libmp3lame

--enable-openal

--enable-libopenjpeg

--enable-libopus

--enable-libpulse

--enable-libschroedinger

--enable-libspeex

--enable-libtheora

--enable-libvorbis

--enable-libv4l2

--enable-libxvid

--enable-x11grab

--enable-avfilter

--enable-avresample

--enable-postproc

--enable-pthreads

--disable-static

--enable-shared

--enable-gpl

--disable-debug

--disable-stripping

--shlibdir=/usr/lib64

--enable-runtime-cpudetect

libavutil      52. 66.100 / 52. 66.100

libavcodec     55. 52.102 / 55. 52.102

libavformat    55. 33.100 / 55. 33.100

libavdevice    55. 10.100 / 55. 10.100

libavfilter     4.  2.100 /  4.  2.100

libavresample   1.  2.  0 /  1.  2.  0

libswscale      2.  5.102 /  2.  5.102

libswresample   0. 18.100 /  0. 18.100

libpostproc    52.  3.100 / 52.  3.100


and the config for v4.1.1 is:


ffmpeg version 4.1.1-static https://johnvansickle.com/ffmpeg/  Copyright
(c) 2000-2019 the FFmpeg developers

built with gcc 6.3.0 (Debian 6.3.0-18+deb9u1) 20170516

--enable-gpl

--enable-version3

--enable-static

--disable-debug

--disable-ffplay

--disable-indev=sndio

--disable-outdev=sndio

--cc=gcc-6

--enable-fontconfig

--enable-frei0r

--enable-gnutls

--enable-gmp

--enable-gray

--enable-libaom

--enable-libfribidi

--enable-libass

--enable-libvmaf

--enable-libfreetype

--enable-libmp3lame

--enable-libopencore-amrnb

--enable-libopencore-amrwb

--enable-libopenjpeg

--enable-librubberband

--enable-libsoxr

--enable-libspeex

--enable-libvorbis

--enable-libopus

--enable-libtheora

--enable-libvidstab

--enable-libvo-amrwbenc

--enable-libvpx

--enable-libwebp

--enable-libx264

--enable-libx265

--enable-libxml2

--enable-libxvid

--enable-libzvbi

--enable-libzimg

libavutil      56. 22.100 / 56. 22.100

libavcodec     58. 35.100 / 58. 35.100

libavformat    58. 20.100 / 58. 20.100

libavdevice    58.  5.100 / 58.  5.100

libavfilter     7. 40.101 /  7. 40.101

libswscale      5.  3.100 /  5.  3.100

libswresample   3.  3.100 /  3.  3.100

libpostproc    55.  3.100 / 55.  3.100


Any tips or advice would be much appreciated, thank you!


- Ethan Coeytaux


More information about the ffmpeg-user mailing list