crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> быстрое выполнение ffmpeg
KuvshinoF
  опции профиля:
сообщение 15.1.2023, 21:30
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 74
Регистрация: 25.7.2013
Пользователь №: 3887

Спасибо сказали: 0 раз(а)




Репутация:   0  


Есть программа - некие графические объекты перемещаются по экрану с темпом 10 раз в секунду. Задача в целом - записать в течении N-числа времени видео работы такой программы с минимальной !!! загрузкой CPU. Для такой задачи записи видео с экрана решил использовать ffmpeg:
ffmpeg -f x11grab -s 1280x1024 -r 10 -i :0.0+0,0 -vcodec libx264 -preset ultrafast source.avi;

В таком варианте команды ffmpeg загружает CPU аж до 50%, что очень много: эксперименты показали, что для снижения загрузки CPU надо писать видео с меньшим темпом (fps) - например 1 кадр в секунду (... -r 1 ...), но тогда на видео объекты будут перемещаться медленнее (наверное в те же 10 раз), чем в самой программе, что неверно.
Пробовал следующие варианты:
1. записать видео с fps=1 (... -r 1 ...), а потом его переконвертить с -r 10:
ffmpeg -i source.avi -r 10 result.avi

визуального эффекта это действие почему-то(???) не возымело (видео также "тормозит")
2. Разбивал видео на снимки
ffmpeg -i source.avi -r 1 %03d.jpeg

а потом обратно в видео
ffmpeg -framerate 10 -i %03d.jpeg result.avi

тоже нужного эффекта нет, с какими бы fps я не делал снимки, а затем видео (причем создание большого кол-ва снимков тоже сильно загружает CPU)
Так как же тогда решить такую задачу?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 22.11.2024, 7:47