使用专用硬件(通常集成到GPU)对视频处理进行加速,比如解码、编码或filter等操作[1]。
优点:
缺点:
关于硬件加速的详细介绍参见[2][3]。
硬件加速API在各系统和硬解环境的支持情况如下[1]。
FFmpeg实现的API的情况如下[1]。
-hwaccel
选项启用硬件解码器。
-hwaccel_device
选项指定特定的硬件设备(比如有多个显卡可用)。-codec:v
选项设置特定的编解码器,适用于外部包装的编解码器。
hwupload
和hwdownload
filter在硬件surface和内存之间拷贝数据。【扫码进君 羊,免费分享】资料包括《Andoird音视频开发必备手册+音视频学习视频+学习文档资料包+大厂面试真题+2022最新学习路线图》等等
示例:
1. 使用NVENC进行h264编码:
ffmpeg -s 1280*720 -i input_yuv -c:v h264_nvenc -pixel_format yuv420p -preset default output.mp4
2. NVEDC进行h264解码
ffmpeg -hwaccel nvdec -i input.mp4 output_yuv