FFMPEG拒绝通过h264重新编码vp9

FFMPEG拒绝通过h264重新编码vp9,ffmpeg,nvenc,vp9,Ffmpeg,Nvenc,Vp9,在使用Windows时,FFMPEG在将vp9/opus.webm视频重新编码到h264_nvenc/aac时抛出错误 问题在于尝试通过h264\u nvenc重新编码,因为使用libx264可以很好地工作 h264\u nvenc在重新编码h264时工作正常 PS C:\Users\УПППП2\Videos>ffmpeg-i soad.webm-C:a aac-C:v h264\u nvenc soad.mp4 ffmpeg版本4.3.1版权所有(c)2000-2020 ffmpeg开发者

在使用Windows时,FFMPEG在将vp9/opus.webm视频重新编码到h264_nvenc/aac时抛出错误

问题在于尝试通过h264\u nvenc重新编码,因为使用libx264可以很好地工作

h264\u nvenc在重新编码h264时工作正常

PS C:\Users\УПППП2\Videos>ffmpeg-i soad.webm-C:a aac-C:v h264\u nvenc soad.mp4
ffmpeg版本4.3.1版权所有(c)2000-2020 ffmpeg开发者
根据gcc 10.2.1(gcc)20200726构建
配置:--enable-gpl--enable-version3--enable-sdl2--enable-fontconfig--enable-gnutls--enable-iconv--enable-libass--enable-libdav1d--enable-libblebulray--enable-libfreetype--enable-libopencore amrwb--enable libopenjpeg--enable libopus--enable-libshine--enable libsnapy--启用libsoxr--enable libsrt--enable libthera--enable libtwolame--enable libvpx--enable libwavpack--enable libwebp--enable-libx264--enable-libx265--enable-libxml2--enable libzimg--enable lzma--enable zlibvidstab--enable libvmaf--enable libvorbos--enable libvo amrwbenc--enable libmysofa--enable libspeex--enable libxvid--enable libaom--enable libgsm--enable-librav1e--disable-w32threads--enable libmfx--enable ffnvcodec--enable cuda llvm--enable cuvid--enable-d3d11va--enable nvdec--enable-dxva2--enable avisynch--enable libopenmpt--enable amf
libavutil 56。51.100 / 56. 51.100
libav编解码器58。91.100 / 58. 91.100
libav58格式。45.100 / 58. 45.100
libav58设备。10.100 / 58. 10.100
libav7。85.100 /  7. 85.100
Libsw5。7.100 /  5.  7.100
libswresample 3。7.100 /  3.  7.100
Libroc 55。7.100 / 55.  7.100
输入#0,matroska,webm,来自“soad.webm”:
元数据:
编码器:Lavf58.29.100
持续时间:00:05:07.70,开始时间:-0.007000,比特率:14732 kb/s
流#0:0(英文):视频:vp9(配置文件0),yuv420p(电视,bt709),7372x3024,SAR 1:1 DAR 1843:756,23.98 fps,23.98 tbr,1k tbn,1k tbc(默认)
元数据:
持续时间:00:05:07.682000000
流#0:1(英语):音频:opus,48000 Hz,立体声,fltp(默认)
元数据:
持续时间:00:05:07.701000000
文件“soad.mp4”已存在。覆盖?[y/N]y
流映射:
流#0:0->#0:0(vp9(本机)->h264(h264 nvenc))
流#0:1->#0:1(作品(本地)->aac(本地))
按[q]停止,按[?]获取帮助
[h264_nvenc@0000029fd34e3400]宽度7372超过4096
[h264_nvenc@00000 29FD34E3400]未找到具有功能的设备
初始化输出流0:0时出错--打开输出流#0:0的编码器时出错-可能是不正确的参数,如比特率、速率、宽度或高度
[aac@0000029fd34e4b40]Qavg:12400.245
[aac@00000 29FD34E4B40]关闭时队列中剩余2帧
转换失败!

发生错误的原因不是vp9,而是视频的宽度。 h264\u nvenc不支持4096以上的宽度或高度。我的解决方案是使用-vf参数将视频从原来的7372x3024缩小到3686x1512

最后的命令是


ffmpeg-i soad.webm-c:a aac-c:v h264_invenc-vf scale=3686:1512,setsar=1:1 soad.mp4
宽度7372超过4096。看起来
h264\u nvenc
支持4096 x 4096 px的最大分辨率:(请参阅支持的格式详细信息)