我正在尝试将淡出滤镜应用于使用h264_nvenc编码器编码的视频。
此:
ffmpeg -hwaccel cuvid -c:v h264_cuvid -i input.mp4 -c:v h264_nvenc -c:a copy -vf scale_cuda=-1:720,hwdownload,fade=t=out:st=24:d=0.5,hwupload -y output.mp4
失败并显示以下错误消息:
[hwdownload @ 0000028b4c8c7ea0] Invalid output format yuv420p for hwframe download.
[Parsed_hwdownload_1 @ 0000028b4d833620] Failed to configure output pad on
Parsed_hwdownload_1
Error reinitializing filters!
Failed to inject frame into filter network: Invalid argument
Error while processing the decoded data for stream #0:0
Conversion failed!
之前我还没有真正使用过ffmpeg的硬件加速功能,而且显然也没有其他人拥有过。至少没有人打扰过它们。
我对这个问题的任何帮助都非常感激。
答案 0 :(得分:3)
嗯,虽然确实没有很好的文件记录,但是文档还是以某种方式存在。
由于错误显示为Invalid output format yuv420p for hwframe download
,我们需要找到一种方法来更改过滤器的像素格式。
输出不支持所有格式 - 可能需要在图表后面插入一个额外的格式过滤器,以获得支持格式的输出。
示例:
ffmpeg -hwaccel cuvid -c:v h264_cuvid -i input.mp4 -c:v h264_nvenc -c:a copy -vf scale_cuda=-1:720,hwdownload,format=nv12,fade=t=out:st=24:d=0.5,hwupload -y output.mp4