gpt4 book ai didi

ffmpeg:使用 NVIDIA GPU 硬件加速时为 "Impossible to convert between the formats"

转载 作者:行者123 更新时间:2023-12-04 22:45:26 25 4
gpt4 key购买 nike

我在 Windows 10 的命令行中使用 ffmpeg,我想尝试使用 GPU 加速来缩短执行时间。像这样的简单剪切命令工作正常,其执行时间减少了 60-70%。太棒了。

ffmpeg -hwaccel cuvid -c:v h264_cuvid -ss 00:00:10 -i in.mp4 -c:v h264_nvenc out.mp4

现在我尝试使用 -filter_complex 标志在视频上叠加、淡化和转换 png 图像。有效的非 GPU 增强命令是这个:

ffmpeg -i in.mp4 -loop 1 -t 75 -i overlay.png -filter_complex "[1:v]fade=t=in:st=30:d=0.3:alpha=1,fade=t=out:st=35.7:d=0.3:alpha=1[png1];[0:v][png1]overlay=x='if(gte(t,30), (t-30)*10, NAN)'" -movflags +faststart out.mp4

然后,我像这样在命令中添加了 GPU 相关的标志。

ffmpeg -hwaccel cuvid -c:v h264_cuvid -i in.mp4 -loop 1 -t 75 -i overlay.png -filter_complex "[1:v]fade=t=in:st=30:d=0.3:alpha=1,fade=t=out:st=35.7:d=0.3:alpha=1[png1];[0:v][png1]overlay=x='if(gte(t,30), 60-tanh((t-30)*30/5)*60, NAN)'" -movflags +faststart -c:v h264_nvenc out.mp4

但它不会起作用。我收到此错误。

Impossible to convert between the formats supported by the filter 'graph 0 input from stream 0:0' and the filter 'auto_scaler_0'
Error reinitializing filters!
Failed to inject frame into filter network: Function not implemented
Error while processing the decoded data for stream #0:0

我也不知道是什么意思。我真的可以在具有 GPU 加速功能的 GPU 上运行任何 ffmpeg 命令吗?我找到了一些关于 hwupload_cuda 标志的信息,但我不确定是否应该使用它以及如何使用它。到目前为止,我的尝试都失败了。

关于我应该如何修改命令以使其在 GPU 上运行有什么建议吗?

最佳答案

只需添加

hwdownload,YOUR_FILTER,hwupload

像这样:

ffmpeg.exe
-y
-hwaccel_device 2
-hwaccel cuvid
-c:v h264_cuvid
-i input.mp4
-vfhwdownload,format=nv12,drawtext=textfile=file.txt:x=0:y=0:fontfile='c\:\/windows\/fonts\/arial.ttf',hwupload
-c:v h264_nvenc
-f mp4 output.mp4"

关于ffmpeg:使用 NVIDIA GPU 硬件加速时为 "Impossible to convert between the formats",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53253908/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com