[FFmpeg-trac] #11447(undetermined:new): ffpreset functionality does not work as advertised
FFmpeg
trac at avcodec.org
Tue Feb 4 08:10:00 EET 2025
#11447: ffpreset functionality does not work as advertised
-------------------------------------+-------------------------------------
Reporter: Marth64 | Type: defect
Status: new | Priority: normal
Component: | Version:
undetermined | unspecified
Keywords: | Blocked By:
Blocking: | Reproduced by developer: 0
Analyzed by developer: 0 |
-------------------------------------+-------------------------------------
Summary of the bug:
Note this section of the docs:
>For the vpre, apre, and spre options, the options specified in a preset
file are applied to the currently selected codec of the same type as the
preset option.
Given the following:
* A video and audio source
* Video and audio encoders which take an option with the same name, such
as "profile" (in this example we will use libx264 and libfdk_aac)
* Create an ffpreset file libx264-buggy.ffpreset in ~/.ffmpeg or
$FFMPEG_DATADIR, with this content:
{{{
vcodec=libx264
profile=high
}}}
How to reproduce:
Now run
{{{
ffmpeg \
-y \
-ss 860 -t 360 \
-i INPUT.mkv \
-map 0:v:0 \
-bsf:0 "filter_units=remove_types=6" \
-filter:0
"bwdif=1,crop=516:469:94:11,scale=528:480:lanczos,setdar=4/3" \
-vpre:0 "libx264-buggy" \
-map 0:a:0 \
-c:1 libfdk_aac \
-ac:1 2 \
-ar:1 44100 \
-b:1 256k \
-map_metadata -1 \
OUTPUT.mkv
}}}
And observe that the profile option was picked up by the audio encoder
instead, causing an abort.
{{{
ffmpeg version N-118421-g774f36756a Copyright (c) 2000-2025 the FFmpeg
developers
built with gcc 13 (Ubuntu 13.3.0-6ubuntu2~24.04)
configuration: --enable-debug=3 --enable-ffplay --enable-gpl --enable-
nonfree --enable-ffnvcodec --enable-vulkan --enable-libx264 --enable-
libfdk_aac --enable-openssl --enable-version3 --enable-demuxer=dvdvideo
--enable-libdvdread --enable-libdvdnav --samples=fate-suite/
libavutil 59. 56.100 / 59. 56.100
libavcodec 61. 32.100 / 61. 32.100
libavformat 61. 9.106 / 61. 9.106
libavdevice 61. 4.100 / 61. 4.100
libavfilter 10. 9.100 / 10. 9.100
libswscale 8. 13.100 / 8. 13.100
libswresample 5. 4.100 / 5. 4.100
libpostproc 58. 4.100 / 58. 4.100
Input #0, matroska,webm, from 'INPUT.mkv':
Metadata:
ENCODER : Lavf61.9.106
Duration: 00:23:36.70, start: 0.000000, bitrate: 5189 kb/s
Stream #0:0(eng): Video: mpeg2video (Main), yuv420p(tv, smpte170m, top
first), 720x480 [SAR 8:9 DAR 4:3], 29.97 fps, 29.97 tbr, 1k tbn (default)
(original)
Metadata:
title : en-US
DURATION : 00:23:36.248000000
Side data:
cpb: bitrate max/min/avg: 9800000/0/0 buffer size: 1835008
vbv_delay: N/A
Stream #0:1(eng): Audio: ac3, 48000 Hz, stereo, fltp, 192 kb/s (default)
(original)
Metadata:
title : en-US
DURATION : 00:23:36.695000000
[libfdk_aac @ 0x62e1b4c91200] [Eval @ 0x7fff1ac2dae0] Undefined constant
or missing '(' in 'high'
[libfdk_aac @ 0x62e1b4c91200] Unable to parse option value "high"
[libfdk_aac @ 0x62e1b4c91200] Error setting option profile to value high.
[aost#0:1/libfdk_aac @ 0x62e1b4c90ac0] Error applying encoder options:
Invalid argument
Error opening output file OUTPUT.mkv.
Error opening output files: Invalid argument
}}}
--
Ticket URL: <https://trac.ffmpeg.org/ticket/11447>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list