ffmpeg hwaccel没有剩余的解码器曲面



最近我在Windows 10 amd64上本地编译了最新版本的ffmpeg 4.3。运行环境:CUDA11.0, NASM, VS2019, MYSY2 with mingw64.

我还使用了补丁https://trac.ffmpeg.org/attachment/ticket/9019/0001-Patch-for-ticket-9019-CUDA-Compile-Broken-Using-MSVC.patch

编译功能如下:

--enable-nonfree --enable-cuda-nvcc --enable-libnpp --enable-gpl --enable-libx264 --enable-cuda-llvm --enable-nvenc
--toolchain=msvc --extra-cflags=-I../nv_sdk --extra-ldflags=-libpath:../nv_sdk

我测试了ffmpeg的cuda加速。CPU是AMD 3500x。GPU是RTX 2060Ultra。

发出命令:

.ffmpeg -hwaccel cuvid -i .a.wmv -c:v hevc_nvenc -bf 4 -preset slow -c:a aac -b:a 256k myvideo.mp4

但是收到这个错误:

[wmv3 @ 000002632DFC5180] No decoder surfaces left
Error while decoding stream #0:0: Cannot allocate memory
[hevc_nvenc @ 00000263300B1740] Failed locking bitstream buffer: out of memory (10):
video encoding failed: Cannot allocate memory

我不知道哪里出错了。

尝试将-extra_hw_frames N添加到您的输入并增加N,直到错误停止。我只是需要我自己。

我在版本4.4上也遇到了同样的问题。这是对4.1的报告,但只是在某些情况下。有人建议在https://trac.ffmpeg.org/ticket/7562上使用-extra_hw_frames N解决方案,它对我有效。

我也遇到了与OP相同的问题,并遵循了用户的' Moby disk ';建议使用"-extra_hw_frames ">

下面是我使用的对我有效的方法:

ffmpeg -y -vsync 0 -hwaccel cuda -hwaccel_output_format cuda -extra_hw_frames 8 -i video_sample.mp4 -c:a copy -c:v h264_nvenc -b:v 5M output.mp4

我的GPU是:MSI Nvidia GeForce GT 710 2GB 2GD3

设置输出格式为自动工作。-extra_hw_frames导致初始化错误(但确实转换视频)

ffmpeg -hwaccel cuda -hwaccel output_format auto

相关内容

最新更新