mac上使用ffmpeg+videotoolbox硬编解码

测试机器

使用命令查看 ffmpeg -hwaccels ,会发现得到一个硬件加速方法

Hardware acceleration methods:
videotoolbox

Videotoolbox是苹果提供的一个框架,可以提供直接接触硬件编解码器的途径(https://developer.apple.com/documentation/videotoolbox)。从2015年开始ffmpeg开始整合进对Videotoolbox框架的支持

命令 ffmpeg -codecs | grep videotoolbox 查看支持什么编码

DEV.LS h264                 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 (encoders: libx264 libx264 libx264rgb h264_videotoolbox )
DEV.L. hevc                 H.265 / HEVC (High Efficiency Video Coding) (encoders: libx265 hevc_videotoolbox )

简单测试一下h264转码

ffmpeg -hwaccel videotoolbox -i h265big.mp4 -c:v h264_videotoolbox h265bigtmp.mp4 -y

frame= 2625 fps=197 q=-0.0 Lsize= 3931kB time=00:00:52.46 bitrate= 613.9kbits/s speed=3.93x

ffmpeg -hwaccel videotoolbox -i h265big.mp4 -c:v libx264 h265bigtmp.mp4 -y

frame= 688 fps= 46 q=-1.0 Lsize= 4043kB time=00:00:13.71 bitrate=2414.5kbits/s speed=0.923x

从speed上看到,性能相差4倍左右

简单测试一下h265

ffmpeg -hwaccel videotoolbox -i h265big.mp4 -c:v hevc_videotoolbox h265bigtmp.mp4 -y

frame= 1196 fps= 52 q=-0.0 Lsize= 2651kB time=00:00:23.87 bitrate= 909.9kbits/s speed=1.03x

ffmpeg -hwaccel videotoolbox -i h265big.mp4 -c:v libx265 h265bigtmp.mp4 -y

frame= frame= 298 fps= 31 q=35.4 Lsize= 778kB time=00:00:05.90 bitrate=1078.0kbits/s speed=0.623x

 

好像只有2倍左右差距

总的来说提升非常明显

 


补充:下面这图是在某云厂商上做的测试,29.5x的速度,比下面同样8cpu的快了20倍,效果明显

本次实践参考:https://www.jianshu.com/p/59da3d350488

发表评论

邮箱地址不会被公开。 必填项已用*标注