FFmpeg:无法识别多个 x265 参数

FFmpeg: Multiple x265-params are not recognized

我在 x265 中使用 ffmpeg,我想在一种编码中使用多个 x265-params

当我使用多个参数时,ffmpeg 无法识别它们。

我的脚本是:

ffmpeg -s:v 1440x1080 -r 25 -i incident_10d_1440x1080_25.yuv -c:v rawvideo \
-pix_fmt yuv420p -c:v libx265 -x265-params "--qp=16:--preset=medium:--psnr" \
out_1440x1080_qp16.mp4

我将量化参数值设置为 16。

但是我在终端中的输出包含以下内容:

x265 [info]: Main profile, Level-4 (Main tier)
x265 [info]: Thread pool created using 4 threads
x265 [info]: Slices                              : 1
x265 [info]: frame threads / pool features       : 2 / wpp(17 rows)
x265 [info]: Coding QT: max CU size, min CU size : 64 / 8
x265 [info]: Residual QT: max TU size, max depth : 32 / 1 inter / 1 intra
x265 [info]: ME / range / subpel / merge         : hex / 57 / 2 / 2
x265 [info]: Keyframe min / max / scenecut / bias: 25 / 250 / 40 / 5.00
x265 [info]: Lookahead / bframes / badapt        : 20 / 4 / 2
x265 [info]: b-pyramid / weightp / weightb       : 1 / 1 / 0
x265 [info]: References / ref-limit  cu / depth  : 3 / on / on
x265 [info]: AQ: mode / str / qg-size / cu-tree  : 1 / 1.0 / 32 / 1
x265 [info]: Rate Control / qCompress            : CRF-28.0 / 0.60

可以看出我得到 Rate Control / qCompress : CRF-28.0 / 0.60

正确的一定是x265 [info]: Rate Control : CQP-16.

当我在 x265-params 中只有这个参数时,比如 -x265-params "--qp=16" 它工作正常。

应用预设并在外部调谐:

-preset medium -tune psnr -x265-params "qp=16:rc-lookahead=18"

只需将不需要值的选项设置为 1。下面的示例适合我

ffmpeg.exe -i input.mp4 -c:v libx265 -crf 32 -x265-params constrained-intra=1:intra-refresh=1:ctu=32:ref=1:bframes=0:keyint=150:min-keyint=150:aq-mode=2:aq-strength=1.0:qp-adaptation-range=1.0:no-aq-motion=1:qg-size=16:no-cutree=1 output.mp4

以下选项的 1 将被忽略,因为它们没有取值

constrained-intra=1
intra-refresh=1
no-aq-motion=1
no-cutree=1