Задать вопрос
@alexdora
Топ-менеджер

Как оптимизировать ffmpeg?

Есть:
OBS
Macbook Pro Retina i5, 8gb late 13
ffmpeg 2.8.3 + decklink
Blackmagic UltraStudio Mini Recorder Thunderbolt

При запуске транскодинга через OBS c входящим потоком от железки 1280x720@60 и выходящем 1280x720@30 2.5mbit Макбук грузит 40-70% (зависит от того, оставляешь ты на рабочем столе саму программу или сворачиваешь)
Задача уйти от OBS как от софта так такового. Основные претензии в том, что он порой просто закрывается по своей прихоти, вторая причина - если начинаются проблемы с перегрузкой, просто падает канал и нет возможности без нажатия кнопки перезапустить. Интерфейс собственно тоже. Появилась идея использовать ffmpeg напрямую, по крайней мере я думаю OBS его и использует.

Вот строка запуска, которая работает исправно.
/usr/local/Cellar/ffmpeg/2.8.3/bin/ffmpeg -f decklink -i 'UltraStudio Mini Recorder@15' -c:v libx264 -pix_fmt yuv420p -r 30 -aspect 16:9 -g 60 -profile:v baseline -b:v 2100K -f flv -c:a libvo_aacenc -ab 64k -ar 44100 -ac 2 rtmp://...

Но грузить процессор на 100% и через какое-то время вылетает ошибка Decklink buffer overload (с железки идет чистый RAW и её буфер перегружен из-за того что процессор не успевает поток обрабатывать. FPS проседает сразу 10-15) Что я могу в данном запросе модернизировать, чтобы приведет к снижению загрузки

Вывод ffmpeg
ffmpeg version 2.8.3 Copyright (c) 2000-2015 the FFmpeg developers
built with Apple LLVM version 8.0.0 (clang-800.0.42.1)
configuration: --prefix=/usr/local/Cellar/ffmpeg/2.8.3 --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-opencl --enable-libx264 --enable-libmp3lame --enable-libvo-aacenc --enable-libxvid --enable-decklink --enable-vda
libavutil 54. 31.100 / 54. 31.100
libavcodec 56. 60.100 / 56. 60.100
libavformat 56. 40.101 / 56. 40.101
libavdevice 56. 4.100 / 56. 4.100
libavfilter 5. 40.101 / 5. 40.101
libavresample 2. 1. 0 / 2. 1. 0
libswscale 3. 1.101 / 3. 1.101
libswresample 1. 2.101 / 1. 2.101
libpostproc 53. 3.100 / 53. 3.100
Hyper fast Audio and Video encoder
  • Вопрос задан
  • 1598 просмотров
Подписаться 1 Оценить 3 комментария
Решения вопроса 1
sim3x
@sim3x
0. OBS Studio
1. 720p@60fps x 4.5Mbit = не надо показывать мыльное кинцо на 2.5Мбит
-preset ultrafast,superfast, veryfast, faster, fast, medium, slow
https://trac.ffmpeg.org/wiki/Encode/H.264

иди от слева направо по параметрам пресета, пока не достигнешь, той нагрузки проца, которая требуется
2. Купи хорошую карту захвата и кодирующий комп
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы