如何使用ffmpeg在CUDA驱动的刻度后应用淡入淡出滤镜?

时间:2017-11-06 23:40:16

标签: video ffmpeg

我正在尝试将淡出滤镜应用于使用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的硬件加速功能,而且显然也没有其他人拥有过。至少没有人打扰过它们。

我对这个问题的任何帮助都非常感激。

1 个答案:

答案 0 :(得分:3)

嗯,虽然确实没有很好的文件记录,但是文档还是以某种方式存在。

由于错误显示为Invalid output format yuv420p for hwframe download,我们需要找到一种方法来更改过滤器的像素格式。

FFmpeg filter document说:

  

输出不支持所有格式 - 可能需要在图表后面插入一个额外的格式过滤器,以获得支持格式的输出。

示例:

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