FFmpeg无法在筛选器支持的格式之间转换

FFmpeg无法在筛选器支持的格式之间转换,ffmpeg,opencl,nvidia,hevc,hdr,Ffmpeg,Opencl,Nvidia,Hevc,Hdr,我试图用ffmpeg和opencl进行GPU加速HDR色调映射(HDR->SDR),但我一直遇到这样的错误:无法在过滤器“已解析的上传”和过滤器“自动缩放器”支持的格式之间转换 我已尝试将与此命令一起使用 ffmpeg-logleveldebug-y-hwaccel cuvid-init_硬件设备opencl:0.0-threads 1-i\ hdr.mkv-过滤器_复合体 “format=p010,hwupload,tonemap_opencl=t=bt2020:tonemap=linear:

我试图用ffmpeg和opencl进行GPU加速HDR色调映射(HDR->SDR),但我一直遇到这样的错误:
无法在过滤器“已解析的上传”和过滤器“自动缩放器”支持的格式之间转换
我已尝试将与此命令一起使用

ffmpeg-logleveldebug-y-hwaccel cuvid-init_硬件设备opencl:0.0-threads 1-i\
hdr.mkv-过滤器_复合体
“format=p010,hwupload,tonemap_opencl=t=bt2020:tonemap=linear:format=p010\
HW下载,格式=p010“\
-c:a副本-scodec副本-c:v hevc\u nvenc-预设慢速-级别5.1-rc:v vbr\u hq-cq:v\
19-b:v 17500k\
-最大速率:v2000k~/Desktop/sdr.mkv
这导致了这个日志

使用参数opencl:0.0应用选项init_硬件设备(初始化硬件设备)。
[AVHWDeviceContext@0x5587b5542fc0]1找到OpenCL平台。
[AVHWDeviceContext@0x5587b5542fc0]1在平台“NVIDIA CUDA”上找到OpenCL设备。
[AVHWDeviceContext@0x5587b5542fc0]0.0:NVIDIA CUDA/图形设备
[AVHWDeviceContext@0x5587b5542fc0]QSV到OpenCL映射需要cl_intel_va_api_media_共享扩展。
[AVHWDeviceContext@0x5587b5542fc0]QSV到OpenCL的映射不可用。
{{缩短}}
[hevc@0x5587b60c8e00]初始化CUDA帧上下文:sw_格式=yuv420p10le,宽度=3840,高度=2160
[AVHWFramesContext@0x5587b7573f00]不支持像素格式“yuv420p10le”
[hevc@0x5587b60c8e00]初始化CUDA帧池时出错
cuvid hwaccel请求输入流#0:0,但无法初始化。
[hevc@0x5587b60c8e00]解析NAL单元#6时出错。
解码流#0:0时出错:不允许操作
{{缩短}}
[Parsed_format_0@0x5587b6330c40]将“pix_fmts”设置为值“p010”
[Parsed_tonemap_opencl_2@0x5587b632d3c0]将“t”设置为值“bt2020”
[Parsed_tonemap_opencl_2@0x5587b632d3c0]将“tonemap”设置为值“linear”
[Parsed_tonemap_opencl_2@0x5587b632d3c0]将“格式”设置为值“p010”
[Parsed_format_4@0x5587b6331d40]将“pix_fmts”设置为值“p010”
[从流0:0@0x5587b6359f40的图形0输入]将“视频大小”设置为值“3840x2160”
[从流0:0@0x5587b6359f40输入的图形0]将“pix_fmt”设置为值“64”
[从流0:0@0x5587b6359f40输入的图形0]将“时间基数”设置为值“1/1000”
[从流0:0@0x5587b6359f40输入的图形0]将“像素方面”设置为值“1/1”
[从流0:0@0x5587b6359f40的图形0输入]将“帧速率”设置为值“24000/1001”
[从流0:0@0x5587b6359f40的图0输入]w:3840 h:2160 pixfmt:yuv420p10le tb:1/1000 fr:24000/1001 sar:1/1
[格式@0x5587b6359e00]将“pix_fmts”设置为值“yuv420p | nv12 | p010le | yuv444p | p016le | yuv444p16le | bgr0 | rgb0 | cuda”
[auto_scaler_0@0x5587b7581a00]w:iw h:ih标志:“双线性”区间:0
[Parsed_format_0@0x5587b6330c40]在过滤器“graph 0 input from stream 0:0”和过滤器“Parsed_format_0”之间自动插入过滤器“auto_scaler_0”
[auto_scaler_1@0x5587b634e8c0]w:iw h:ih标志:“双线性”区间:0
[Parsed_tonemap_opencl_2@0x5587b632d3c0]在过滤器“Parsed_hwupload_1”和过滤器“Parsed_tonemap_opencl_2”之间自动插入过滤器“auto_scaler_1”
无法在筛选器“Parsed_hwupload_1”和筛选器“auto_scaler_1”支持的格式之间转换
重新初始化筛选器时出错!
无法将帧注入筛选器网络:未实现函数
处理流#0:0的解码数据时出错
我使用cuvid是因为即使我的GPU支持ffmpeg,我也无法使用nvdec支持来编译它。任何帮助都将不胜感激

用这个

C:\ffmpeg\bin\ffmpeg.exe -i video-input.mp4 -vf zscale=t=linear:npl=100,format=gbrpf32le,zscale=p=bt709,tonemap=tonemap=hable:desat=0,zscale=t=bt709:m=bt709:r=tv,format=yuv420p -c:v libx265 -crf 22 -preset medium -tune fastdecode -t 90 video-output.mp4

有关更多信息,请阅读此

您好,您是否解决了此问题。您能使用HWaccel吗?