如何通过 ffmpeg OSX 使用 hevc/h265 编解码器编码视频

How encode video using hevc/h265 codec via ffmpeg OSX

我尝试使用 hevc 编解码器对视频进行编码

./ffmpeg -i 1234.mp4   -vcodec hevc_videotoolbox -vb 1000k  -acodec aac -ab 192k   -sn  2.mp4

错误:

[hevc_videotoolbox @ 0x7fc681813a00] Error: cannot create compression session: -12908
[hevc_videotoolbox @ 0x7fc681813a00] Try -allow_sw 1. The hardware encoder may be busy, or not supported.
Error initializing output stream 0:0 -- Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height

我尝试更改比特率、宽度、高度,错误仍然存​​在 是否可以在我的 macbook air 2015 上编码视频? videotoolbox 不能使用我的旧 GPU 并且可以在最新的 macbook 上使用吗?

我最近也有同样的问题,我在找答案的时候发现了这个:

此 pdf 的屏幕截图:enter link description here

可能旧的mac本身不支持HEVC硬件加速,我没有新的mac来测试ffmpeg是否有相关的东西,也许有人mac有6代CPU可以帮你解决问题

编辑: 我在最新的 2018 mbp 上测试了以下代码并且它有效。

ffmpeg -i VIDEO_PATH -vcodec hevc_videotoolbox -tag:v hcv1 OUT_PATH

hevc_videotoolbox-encoded 视频#1 的大小小于原始测试文件 (h264) 但大于 libx265 编码的视频#2(使用默认参数)。

出乎意料的是,视频#1 的质量比原来的差很多,而视频#2 似乎没有受到影响。此外,hevc_videotoolbox 不支持 -crf 选项,所以我仍然坚持使用 libx265,即使它真的很慢。