首页 > 解决方案 > libx264 和 h264_nvenc 有什么区别?

问题描述

我正在尝试对一些视频进行编码,但是当我使用 libx264 时它们不起作用,而是将编解码器更改为 h264_nvenc 并播放。

如果我在使用 libx264 时将配置文件更改为基线,则会播放视频。

有什么不同?我可以使用 h264_nvenc 但我想使用 libx264 以获得更好的存储质量。

我的代码

bin\ffmpeg -i "Input-File" -c:v h264_nvenc -bf 3 -b_strategy 2 -temporal-aq 1 -rc-lookahead 20 -profile:v high -preset slow -rc vbr_hq -rc:v vbr_hq -qmin 0 -cq:v 19 -b:v 900k -maxrate:v 5000k -bufsize 2000K -c:a aac -ar 48000 -b:a 128k "Output-File.mp4"

标签: ffmpegh.264libx264

解决方案


h264_nvenc 使用 NVidia 硬件辅助 H.264 视频编码器。libx264 是基于软件 (CPU) 的 H.264 编码器。

我猜想 libx264 在相同的比特率下提供比 h264_nvenc 更好的质量。

h264_nvenc 可能更快并且使用更少的功率。h264_nvenc 仅在 NVIDIA 硬件上可用。


推荐阅读