是的,NVENC可以支持更改动态比特率,分辨率,也支持,这也反映在GRID API调用中。
如果只是更改比特率,请确保您还要设置参数。
NV_IFROGL_HW_ENC_PARAMS参数
params.flags = NV_IFROGL_HW_ENC_PARAM_FLAG_DYN_BITRATE_CHANGE;
params.newAvgBitrate =(你新的平均比特率)
params.newVBVInitialDelay =(你的新VBV初始延迟)
params.newVBVBufferSize =(你的新VBV缓冲区大小)
如果您只想更改分辨率。
params.flags = NV_IFROGL_HW_ENC_PARAM_FLAG_DYN_RESOLUTION_CHANGE;
params.newWidth =(新的编码器宽度)
params.newHeight =(新的编码器高度)
如果要更改分辨率和比特率,则必须同时设置标志)。
params.flags =(NV_IFROGL_HW_ENC_PARAM_FLAGS)(NV_IFROGL_HW_ENC_PARAM_FLAG_DYN_RESOLUTION_CHANGE | NV_IFROGL_HW_ENC_PARAM_FLAG_DYN_BITRATE_CHANGE);
然后更改两个参数。
以上来自于谷歌翻译
以下为原文
Yes the NVENC can support changing dynamic bitrate, resolution, is supported, and that is also reflected in the GRID API call as well.
If just changing the bitrate, make sure that you are also setting parameters.
NV_IFROGL_HW_ENC_PARAMS params
params.flags = NV_IFROGL_HW_ENC_PARAM_FLAG_DYN_BITRATE_CHANGE;
params.newAvgBitrate = (your new Avg bitrate)
params.newVBVInitialDelay = (your new VBV Initial Delay)
params.newVBVBufferSize = (your new VBV Buffer Size)
If you just want to change the resolution.
params.flags = NV_IFROGL_HW_ENC_PARAM_FLAG_DYN_RESOLUTION_CHANGE;
params.newWidth = (new encoder width)
params.newHeight = (new encoder height)
If you want to change both resolution and bitrate, the flags must be both set).
params.flags = (NV_IFROGL_HW_ENC_PARAM_FLAGS)(NV_IFROGL_HW_ENC_PARAM_FLAG_DYN_RESOLUTION_CHANGE | NV_IFROGL_HW_ENC_PARAM_FLAG_DYN_BITRATE_CHANGE);
Then change both parameters.
是的,NVENC可以支持更改动态比特率,分辨率,也支持,这也反映在GRID API调用中。
如果只是更改比特率,请确保您还要设置参数。
NV_IFROGL_HW_ENC_PARAMS参数
params.flags = NV_IFROGL_HW_ENC_PARAM_FLAG_DYN_BITRATE_CHANGE;
params.newAvgBitrate =(你新的平均比特率)
params.newVBVInitialDelay =(你的新VBV初始延迟)
params.newVBVBufferSize =(你的新VBV缓冲区大小)
如果您只想更改分辨率。
params.flags = NV_IFROGL_HW_ENC_PARAM_FLAG_DYN_RESOLUTION_CHANGE;
params.newWidth =(新的编码器宽度)
params.newHeight =(新的编码器高度)
如果要更改分辨率和比特率,则必须同时设置标志)。
params.flags =(NV_IFROGL_HW_ENC_PARAM_FLAGS)(NV_IFROGL_HW_ENC_PARAM_FLAG_DYN_RESOLUTION_CHANGE | NV_IFROGL_HW_ENC_PARAM_FLAG_DYN_BITRATE_CHANGE);
然后更改两个参数。
以上来自于谷歌翻译
以下为原文
Yes the NVENC can support changing dynamic bitrate, resolution, is supported, and that is also reflected in the GRID API call as well.
If just changing the bitrate, make sure that you are also setting parameters.
NV_IFROGL_HW_ENC_PARAMS params
params.flags = NV_IFROGL_HW_ENC_PARAM_FLAG_DYN_BITRATE_CHANGE;
params.newAvgBitrate = (your new Avg bitrate)
params.newVBVInitialDelay = (your new VBV Initial Delay)
params.newVBVBufferSize = (your new VBV Buffer Size)
If you just want to change the resolution.
params.flags = NV_IFROGL_HW_ENC_PARAM_FLAG_DYN_RESOLUTION_CHANGE;
params.newWidth = (new encoder width)
params.newHeight = (new encoder height)
If you want to change both resolution and bitrate, the flags must be both set).
params.flags = (NV_IFROGL_HW_ENC_PARAM_FLAGS)(NV_IFROGL_HW_ENC_PARAM_FLAG_DYN_RESOLUTION_CHANGE | NV_IFROGL_HW_ENC_PARAM_FLAG_DYN_BITRATE_CHANGE);
Then change both parameters.
举报