有两种 NVENC HEVC 无损预设:
ffmpeg -hide_banner -h encoder=hevc_nvenc
-preset <int> E..V.... Set the encoding preset (from 0 to 11) (default medium)
default E..V....
slow E..V.... hq 2 passes
medium E..V.... hq 1 pass
fast E..V.... hp 1 pass
hp E..V....
hq E..V....
bd E..V....
ll E..V.... low latency
llhq E..V.... low latency hq
llhp E..V.... low latency hp
lossless E..V.... lossless
losslesshp E..V.... lossless hp
lossless
你能向我解释一下和之间有什么区别吗losslesshp
?
答案1
似乎没有不同根据nvenc lossless 和 lossless-hp 预设之间有什么区别?这是 2017 年 11 月发布的;情况可能已经发生变化,因此有必要查看源代码。
ffmpeg/libavcodec/nvenc.c
:
PRESET(LOSSLESS_DEFAULT, NVENC_LOSSLESS),
PRESET(LOSSLESS_HP, NVENC_LOSSLESS)
Video_Codec_SDK_9.1.23/Samples/NvCodec/NvEncoder/NvEncoder.cpp
:
if (pIntializeParams->presetGUID != NV_ENC_PRESET_LOSSLESS_DEFAULT_GUID
&& pIntializeParams->presetGUID != NV_ENC_PRESET_LOSSLESS_HP_GUID)
{
pIntializeParams->encodeConfig->rcParams.constQP = { 28, 31, 25 };
}
因此,就回答而言仍然没有区别。
如果真的一样的话,我不知道它为什么会存在。我的猜测是,最初的意图是创建一个尚未实现的“高性能”变体。