FFMPEG 几个月前推出了新版本的 FFMPEG,其中包含新的过滤器“overlay_cuda”,该过滤器与“overlay”相同,但使用 Nvidia 卡来应用它。
我在FFMPEG网站上找到了该过滤器的描述,但没有如何使用它的示例。我发现的唯一示例来自开发人员提交,但是将视频或照片放在另一个视频上。
我在普通覆盖过滤器之前使用宽度两倍的 nullsrc 图像来执行此操作,但现在我不知道如何使用此过滤器。
提交描述: https: //patchwork.ffmpeg.org/project/ffmpeg/patch/20200318071955.2329-1-yyyaroslav@gmail.com/ ffmpeg 文档网页:https: //ffmpeg.org/ffmpeg-filters.html#overlay_005fcuda-1
我希望你可以帮助我。
更新:
我做了这个 FFmpeg 命令:
ffmpeg -y -loglevel info \
-i $video_1 \
-hwaccel cuda -hwaccel_output_format cuda -i $video_2 \
-filter_complex \
" \
[0:v]pad=w=2*iw:h=ih:x=0:y=0,hwupload_cuda[base];
[base][1:v]overlay_cuda=x=800:y=0" \
-an -c:v h264_nvenc overlay_test.mp4
Run Code Online (Sandbox Code Playgroud)
但我收到此错误消息:
[overlay_cuda @ 0x55fdec4b2ec0] Can't overlay nv12 on yuv420p
[Parsed_overlay_cuda_2 @ 0x55fdec4b2d80] Failed to configure output pad on Parsed_overlay_cuda_2
Error reinitializing filters!
Failed to inject frame into filter network: Invalid …Run Code Online (Sandbox Code Playgroud)