You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows下如何正确使用h264_amf实现FFmpeg硬件编码?

解决AMD Radeon R5 M330上FFmpeg h264_amf硬件编码失败问题

错误原因分析

报错CreateComponent(AMFVideoEncoderVCE_AVC) failed with error 36对应AMF框架的AMF_ERROR_NOT_SUPPORTED错误,说明你的Radeon R5 M330(搭载VCE 1.0编码引擎)不支持FFmpeg默认调用的AMF编码器组件——较新的AMF编码器实现主要针对GCN 2代及以上显卡优化,对老一代VCE 1.0硬件支持有限。

解决方法

1. 强制指定兼容的AMF编码器参数

在命令中添加-encoder vce_1参数,强制FFmpeg调用VCE 1.0兼容的编码器组件:

ffmpeg ^
    -hide_banner ^
    -v verbose ^
    -i "%1" ^
    -c:v h264_amf -encoder vce_1 -acodec copy -y out.mp4

如果仍失败,可尝试限制编码Profile为Baseline(VCE 1.0对High Profile支持不完善):

ffmpeg ^
    -hide_banner ^
    -v verbose ^
    -i "%1" ^
    -c:v h264_amf -profile baseline -acodec copy -y out.mp4

2. 启用D3D11硬件加速预处理

添加-hwaccel d3d11va参数,让FFmpeg用D3D11VA硬件解码输入视频,减少格式转换开销,同时帮助编码器更好地调用硬件资源:

ffmpeg ^
    -hide_banner ^
    -v verbose ^
    -hwaccel d3d11va ^
    -i "%1" ^
    -c:v h264_amf -acodec copy -y out.mp4

3. 降级FFmpeg版本

你当前使用的FFmpeg 5.1.2对老GCN显卡的AMF支持有变动,建议降级到4.4.x系列稳定版,该版本对VCE 1.0硬件的兼容性更好。

4. 安装兼容的显卡驱动

不要使用Windows自动更新的通用驱动,安装AMD官方提供的Adrenalin 2020版或更早的驱动(新驱动已停止对老GCN显卡的AMF优化)。

备选方案:使用OpenCL编码器

如果AMF方案始终无法工作,可尝试基于OpenCL的h264_opencl编码器,对老AMD显卡兼容性更强:

ffmpeg ^
    -hide_banner ^
    -v verbose ^
    -i "%1" ^
    -c:v h264_opencl -acodec copy -y out.mp4

内容的提问来源于stack exchange,提问作者Harshiv

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 15:15:37