![GPU 可以用来编码 h264 吗?](https://linux22.com/image/1291358/GPU%20%E5%8F%AF%E4%BB%A5%E7%94%A8%E6%9D%A5%E7%BC%96%E7%A0%81%20h264%20%E5%90%97%EF%BC%9F.png)
我想知道如果我得到一张更好的显卡,它能否加速我机器上使用 Handbrake 的 h264 编码?
如果可以的话,我如何知道哪种显卡可以支持此功能?
我知道 GPU 可以对 h264 进行硬件解码,但不确定是否可以进行编码。
答案1
使用 Handbrake 的答案是否定的。Handbrake 是一款仅使用 CPU 的 H.264 编码器,尽管它现在 能够使用 OpenCL用于视频缩放,并对 DXVA 视频解码提供一些支持。
slhck 链接的问题提到媒体编码器,但它需要 Nvidia 显卡或带有第二代图形核心的 Intel CPU。
有几款旧产品已经过时,特别是 Badaboom 和 ATi Avivo 软件。
巴达布姆它可以使用 Nvidia 和 Intel 图形处理器来加快编码过程,但它现在已经过时并且不支持较新的显卡。
ATi 有自己的视频编码器,曾被称为“Avivo”,后来被合并到 AMD 编解码器包中,该编解码器包中包含 AMD 视频转换器,尽管它已不再可用。
答案2
答案3
https://trac.ffmpeg.org/wiki/HWAccelIntro
FFmpeg 提供了硬件加速的子系统。
硬件加速允许使用特定设备(通常是显卡或其他特定设备)执行多媒体处理。这允许使用专用硬件执行要求苛刻的计算,同时将 CPU 从此类计算中解放出来。通常,硬件加速使特定硬件设备(通常是 GPU)能够执行与解码和编码视频流或过滤视频相关的操作。
使用 FFmpeg 工具时,可通过启用
-hwaccel
特定解码器的选项启用硬件辅助解码。每个解码器可能有特定的限制(例如,H.264 解码器可能仅支持基线配置文件)。通过使用特定编码器(例如 nvenc_h264),可启用硬件辅助编码。只有少数过滤器支持过滤硬件辅助处理,在这种情况下,您可以通过过滤器选项启用 OpenCL 代码。有几种硬件加速标准API,其中一些在一定程度上被FFmpeg支持。
“-hwaccel auto”选项允许您选择用于编码会话的基于硬件的加速解码。您可以在输入前使用“auto”添加此参数(如果您的 x264 是使用 OpenCL 支持编译的,您可以尝试添加 -x264opts 参数),例如:
ffmpeg -hwaccel auto -i input -vcodec libx264 -x264opts opencl output
抱歉,但我不记得如何列出“-hwaccel”的所有可用选项。
你也可以尝试这个: https://wiki.archlinux.org/index.php/Hardware_video_acceleration
答案4
目前,Handbrake 支持以下 H.264/AVC 硬件加速编码器:
英特尔 QuickSync(在 Windows 和 Linux 上)。这至少与基于 Intel 的珊迪大桥(第二代 Core)- 启用集成显卡并向操作系统公开的系列处理器系列。为获得可接受的编码质量而推荐的硬件:哈斯韦尔(第四代核心系列)及以后的版本,引入了细粒度目标级别 (TU) 的概念、前瞻功能(例如LA-BRC 和 ICQ 编码模式) 性能显著提升。请参阅 Handbrake 文档中的使用指南这里。
NVIDIA 的 NVENC:这至少需要NVIDIA 的 Kepler(GK+)系列 GPU 及以上,包括高性能消费级 SKU(GTX 系列)和专业级产品线(基于 Kepler 及更高版本的 Quadro 和 Tesla GPU)。适用于 Windows 和 Linux。
值得注意的是,使用 NVENC,您将被人为地限制在消费级 SKU 上最多同时进行两个编码会话,而专业级产品线则不会受到影响。有关特定编码器功能的参考,请参阅GPU 矩阵。为获得最佳编码器性能和质量,请坚持使用最新版本的帕斯卡和沃尔特GPU。
可选:
- AMD AMF编码支持也仅在 Windows 的当前夜间版本中提供。关于 AMD 的 AMF(利用VCE 编码器内置于所有硬件中格纳尼SKU)是较新的硬件,例如北极星(RX 400+ 系列)和维加,由于引入了 HEVC 编码支持,一些针对 H.264/AVC 的高级编码器调整已被弃用。AMD已丢弃是 B 帧编码,不支持自适应量化 (AQ),这是上述基于硬件的编码器 (QuickSync 和 NVENC) 几代以来一直实现的功能,没有出现任何退步。另请参阅这关于预期吞吐量指标的注释。
就苹果的支持而言,这充其量是,暂定的。 这视频工具箱API 在 Handbrake 范围之外实施,似乎控制功能也非常有限。即使 Handbrake 在上游采用它,也不要指望在质量保持和吞吐量方面出现奇迹。
请注意,目前您可能需要使用最新的夜间版本才能使用平台上最新的编码器功能。这在未来肯定会改变。