[multimedia/kdenlive] /: fix(transcoding): replace deprecated -vsync with -fps_mode for modern FFmpeg
Jean-Baptiste Mardelle <[email protected]>
| Newsgroups | gmane.comp.kde.cvs |
|---|---|
| Message-ID | <[email protected]> |
Git commit d388527a1756e6a53eefb4a1260e25b53079f751 by Jean-Baptiste Mardelle, on behalf of Ketsebaot Gizachew.
Committed on 18/08/2026 at 09:48.
Pushed by mardelle into branch 'master'.
fix(transcoding): replace deprecated -vsync with -fps_mode for modern FFmpeg
M +8 -8 data/encodingprofiles.rc
M +2 -2 data/kdenlivetranscodingrc
M +1 -1 src/jobs/scenesplittask.cpp
M +1 -1 src/kdenlivesettings.kcfg
https://invent.kde.org/multimedia/kdenlive/-/commit/d388527a1756e6a53eefb4a1260e25b53079f751
diff --git a/data/encodingprofiles.rc b/data/encodingprofiles.rc
index 35d531c4f4..0a56ff5608 100644
--- a/data/encodingprofiles.rc
+++ b/data/encodingprofiles.rc
@@ -6,18 +6,18 @@ MPEG=qscale=4 ab=192k vcodec=mpeg2video acodec=mp2 threads=%threads;mpg
[proxy]
# proxy settings should be FFmpeg type parameters, like: -vcodec libx264
-x264=-vf scale=%width:-2 -vsync 1 -c:v libx264 -g 1 -bf 0 -vb 0 -crf 20 -preset veryfast -c:a aac -ab 128k;mov
-x264-vaapi=-init_hw_device vaapi=vaapi0: -filter_hw_device vaapi0 -i -vf scale=%width:-2,format=nv12,hwupload -vsync 1 -c:v h264_vaapi -g 1 -bf 0 -qp 26 -c:a aac -ab 128k;mov
-x264-amf=-f mp4 -vsync 1 -c:v h264_amf -g 1 -bf 0 -qp 26 -c:a aac -ab 128k;mp4
-x264-qsv=-f mp4 -vsync 1 -c:v h264_qsv -g 1 -bf 0 -qp 26 -c:a aac -ab 128k;mp4
-x264-videotoolbox=-f mp4 -vsync 1 -c:v h264_videotoolbox -g 1 -bf 0 -qp 26 -c:a aac -ab 128k;mp4
-x264-vaapi-scale=-hwaccel vaapi -hwaccel_output_format vaapi -i -vf scale_vaapi=w=%width:h=-2:format=nv12,hwupload -vsync 1 -c:v h264_vaapi -g 1 -bf 0 -qp 26 -c:a aac -ab 128k;mov
-x264-nvenc=-vsync 1 -c:v %nvcodec -resize %frameSize -i -c:v h264_nvenc -g 2 -bf 0 -c:a aac -ab 128k;mov
+x264=-vf scale=%width:-2 -fps_mode cfr -c:v libx264 -g 1 -bf 0 -vb 0 -crf 20 -preset veryfast -c:a aac -ab 128k;mov
+x264-vaapi=-init_hw_device vaapi=vaapi0: -filter_hw_device vaapi0 -i -vf scale=%width:-2,format=nv12,hwupload -fps_mode cfr -c:v h264_vaapi -g 1 -bf 0 -qp 26 -c:a aac -ab 128k;mov
+x264-amf=-f mp4 -fps_mode cfr -c:v h264_amf -g 1 -bf 0 -qp 26 -c:a aac -ab 128k;mp4
+x264-qsv=-f mp4 -fps_mode cfr -c:v h264_qsv -g 1 -bf 0 -qp 26 -c:a aac -ab 128k;mp4
+x264-videotoolbox=-f mp4 -fps_mode cfr -c:v h264_videotoolbox -g 1 -bf 0 -qp 26 -c:a aac -ab 128k;mp4
+x264-vaapi-scale=-hwaccel vaapi -hwaccel_output_format vaapi -i -vf scale_vaapi=w=%width:h=-2:format=nv12,hwupload -fps_mode cfr -c:v h264_vaapi -g 1 -bf 0 -qp 26 -c:a aac -ab 128k;mov
+x264-nvenc=-fps_mode cfr -c:v %nvcodec -resize %frameSize -i -c:v h264_nvenc -g 2 -bf 0 -c:a aac -ab 128k;mov
MPEG2=-vf scale=%width:-2 -g 1 -bf 0 -vb 0 -qscale 6 -ab 128k -c:v mpeg2video -c:a ac3;mpg
MJPEG=-vf yadif,scale=%width:-2 -qscale 3 -c:v mjpeg -c:a pcm_s16le;mkv
MJPEG-vaapi=-init_hw_device vaapi=vaapi0:,connection_type=x11 -filter_hw_device vaapi0 -vf format=nv12,hwupload -c:v mjpeg_vaapi -codec:a copy;mkv
ProRes=-vf scale=%width:-2 -c:v prores_ks -vb 0 -g 1 -bf 0 -vprofile 0 -vendor ap10 -qscale 11;mov
-NVENC H264=-vsync 1 -c:v h264_nvenc -vb 30000k -rc cbr -c:a aac -ab 128k;mp4
+NVENC H264=-fps_mode cfr -c:v h264_nvenc -vb 30000k -rc cbr -c:a aac -ab 128k;mp4
NVENC H265=-c:v hevc_nvenc -vb 30000k -c:a aac -ab 128k;mp4
[proxy-alpha]
diff --git a/data/kdenlivetranscodingrc b/data/kdenlivetranscodingrc
index a685a3ca7b..6a6e912957 100644
--- a/data/kdenlivetranscodingrc
+++ b/data/kdenlivetranscodingrc
@@ -38,9 +38,9 @@ DVD NTSC 16:9=-f dvd -r 23.976 -vf scale=720:480 -aspect 16:9 -minrate 0 -maxrat
AAC (Audio only)=-vn -codec:a aac -ab 256k %1.m4a;audio
Lossy x264 I frame only=-f mp4 -codec:v libx264 -g 1 -bf 0 -crf 15 -preset medium -codec:a aac -ab 256k %1.mp4;av
Lossy x264 I frame only (VAAPI GPU)=-init_hw_device vaapi=vaapi0: -filter_hw_device vaapi0 -i -vf format=nv12,hwupload -f mp4 -c:v h264_vaapi -g 1 -bf 0 -crf 15 -preset medium -codec:a aac -ab 256k %1.mp4;av
-Lossy x264 I frame only (NVidia GPU)=-f mp4 -vsync 0 -codec:v h264_nvenc -vb 0 -rc cbr -g 2 -bf 0 -codec:a aac -ab 256k %1.mp4;av
+Lossy x264 I frame only (NVidia GPU)=-f mp4 -fps_mode passthrough -codec:v h264_nvenc -vb 0 -rc cbr -g 2 -bf 0 -codec:a aac -ab 256k %1.mp4;av
Lossy x264 I frame only (Video only)=-f mp4 -codec:v libx264 -g 1 -bf 0 -crf 15 -preset medium -an %1.mp4;video
Lossy x264 I frame only (VAAPI GPU Video only)=-init_hw_device vaapi=vaapi0: -filter_hw_device vaapi0 -i -vf format=nv12,hwupload -f mp4 -c:v h264_vaapi -g 1 -bf 0 -crf 15 -preset medium -an %1.mp4;video
-Lossy x264 I frame only (NVidia GPU Video only)=-f mp4 -vsync 0 -codec:v h264_nvenc -vb 0 -rc cbr -g 2 -bf 0 -an %1.mp4;video
+Lossy x264 I frame only (NVidia GPU Video only)=-f mp4 -fps_mode passthrough -codec:v h264_nvenc -vb 0 -rc cbr -g 2 -bf 0 -an %1.mp4;video
Intermediate DNxHR HQ (Large files)=-f mov -codec:a pcm_f32le -codec:v dnxhd -profile:v dnxhr_hq -pix_fmt yuv422p %1.mov;av
Lossless (Huge files)=-f matroska -codec:a pcm_f32le -codec:v utvideo -pix_fmt yuv422p %1.mkv;av
diff --git a/src/jobs/scenesplittask.cpp b/src/jobs/scenesplittask.cpp
index a4e9de911c..1fb74a4529 100644
--- a/src/jobs/scenesplittask.cpp
+++ b/src/jobs/scenesplittask.cpp
@@ -138,7 +138,7 @@ void SceneSplitTask::run()
source,
QStringLiteral("-filter:v"),
QStringLiteral("select='gt(scene,%1)',showinfo").arg(m_threshold),
- QStringLiteral("-vsync"),
+ QStringLiteral("-fps_mode"),
QStringLiteral("vfr"),
QStringLiteral("-f"),
QStringLiteral("null"),
diff --git a/src/kdenlivesettings.kcfg b/src/kdenlivesettings.kcfg
index 618f9b08c5..9c0d61ffea 100644
--- a/src/kdenlivesettings.kcfg
+++ b/src/kdenlivesettings.kcfg
@@ -688,7 +688,7 @@
<entry name="safeFFmpegParams" type="StringList">
<label>Safe known parameters for ffmpeg.</label>
- <default>f,vf,af,c:v,c:a,codec:v,codec:a,g,qscale,filter_hw_device,i,vsync,ab,qp,bf,crf,preset,vendor,vb,vprofile,init_hw_device,hwaccel,hwaccel_output_format,resize,rc,pix_fmt,vcodec,acodec</default>
+ <default>f,vf,af,c:v,c:a,codec:v,codec:a,g,qscale,filter_hw_device,i,vsync,fps_mode,ab,qp,bf,crf,preset,vendor,vb,vprofile,init_hw_device,hwaccel,hwaccel_output_format,resize,rc,pix_fmt,vcodec,acodec</default>
</entry>