Opened 3 hours ago

#11341 new enhancement

Fre:ac’s OPUS encoding outperforms FFmpeg by an order of magnitude

Reported by: Iver Jordal Owned by:
Priority: normal Component: undetermined
Version: unspecified Keywords: performance, OPUS
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

Summary of the issue:
When encoding a 1-hour 48 kHz mono WAV file to OPUS, FFmpeg takes significantly longer than fre:ac under similar conditions. Even with standard settings, fre:ac is faster than FFmpeg’s libopus encoding, and using the --superfast option in fre:ac results in roughly a 10x speed improvement on my PC. This issue is not related to a specific version of ffmpeg - I tried ffmpeg v4, v5, v6 and v7. I used a modern nVME SSD and Intel i7-13700HX on Windows 11 during benchmarking, but I believe the issue applies to other storage devices, CPUs and operating systems as well.

How to reproduce:

FFmpeg (libopus @ 96k, execution time: ~19.1s):

ffmpeg -nostdin -n -i 1hourmono_48khz.wav -vn -c:a libopus -b:a 96K -ar 48000 -dash 1 -f opus output_ffmpeg_libopus.opus

fre:ac (opus @ 96k, standard, execution time: ~12.3s):

.\freaccmd.exe -o "output_freac.opus" --encoder=opus -- --bitrate 96 "1hourmono_48khz.wav"

fre:ac (opus @ 96k, superfast, execution time: ~1.66s):

.\freaccmd.exe -o "output_freac_superfast.opus" --encoder=opus --superfast -- --bitrate 96 "1hourmono_48khz.wav"

Patches should be submitted to the ffmpeg-devel mailing list and not this bug tracker.

Change History (0)

Note: See TracTickets for help on using tickets.