![Как заставить FFmpeg эффективнее использовать ресурсы графического процессора и центрального процессора так, как это делает HandBrake?](https://rvso.com/image/1684230/%D0%9A%D0%B0%D0%BA%20%D0%B7%D0%B0%D1%81%D1%82%D0%B0%D0%B2%D0%B8%D1%82%D1%8C%20FFmpeg%20%D1%8D%D1%84%D1%84%D0%B5%D0%BA%D1%82%D0%B8%D0%B2%D0%BD%D0%B5%D0%B5%20%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D1%8C%20%D1%80%D0%B5%D1%81%D1%83%D1%80%D1%81%D1%8B%20%D0%B3%D1%80%D0%B0%D1%84%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B3%D0%BE%20%D0%BF%D1%80%D0%BE%D1%86%D0%B5%D1%81%D1%81%D0%BE%D1%80%D0%B0%20%D0%B8%20%D1%86%D0%B5%D0%BD%D1%82%D1%80%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%B3%D0%BE%20%D0%BF%D1%80%D0%BE%D1%86%D0%B5%D1%81%D1%81%D0%BE%D1%80%D0%B0%20%D1%82%D0%B0%D0%BA%2C%20%D0%BA%D0%B0%D0%BA%20%D1%8D%D1%82%D0%BE%20%D0%B4%D0%B5%D0%BB%D0%B0%D0%B5%D1%82%20HandBrake%3F.png)
Иногда мне нужна была функция интерполяции для моих видео, но я не смог найти опцию в HandBrake GUI (если HandBrake уже имеет ее, пожалуйста, дайте мне знать). После нескольких попыток запустить minterpolate из последней версии FFMpeg, я был очень удивлен очень старым "подвигом" FFMpeg, которому больше десяти лет - он все еще не может правильно использовать GPU или CPU из коробки (серьезно, 0-5% GPU 33% CPU?).
Команды типа -threads
не работают (как и 10 лет назад, может, это просто для демонстрационных целей?). В то время как HandBrake использует GPU и CPU должным образом без каких-либо недостатков и кодирует 10-битные hevc fhd многочасовые видео за считанные минуты.
Я не знаю о некоторых командах (например, команды -hwaccel qsv hevc_qsv
из руководства приводят только к ошибкам, после некоторых исследований я обнаружил output_format_qsv
, что они работают, но HandBrake все равно не обеспечивает нормальной скорости), или это просто FFMPEG был таким плохим с самого начала?
P.S. Intel 11-135g7 SoC, установлены последние драйвера (но, похоже, это не проблема, т.к. другие утилиты работают нормально), Windows 10, моя последняя команда, которая работает:
ffmpeg -hwaccel_output_format qsv -i input.mkv -pix_fmt p010le -c:v hevc_qsv -load_plugin hevc_hw -b:v 25M -threads 8 -vf "minterpolate=fps=60:mi_mode=mci:mc_mode=aobmc:me_mode=bidir:vsbmc=1" -preset veryslow output.mkv