Какие настройки я могу использовать, чтобы максимизировать производительность FFMpeg?

9

Я пытаюсь сделать скринкастинг, но, поскольку мой компьютер слишком старый и медленный, воспроизводимое видео запаздывает, и приложение, которое я пытаюсь записать, перестает отвечать из-за загрузки процессора. Поскольку я не могу обновить в данный момент, я ищу, чтобы оптимизировать то, что у меня есть.
Я переключился с GNOME на OpenBox, и я убил ненужные процессы и т. Д. Все еще ничего хорошего. Я также оптимизировал приложение, которое записываю, так что осталось только сам рекордер, который является FFMpeg.

Какие параметры и флаги можно использовать для получения максимальной производительности от FFMpeg? Существуют ли какие-либо конкретные кодеки, которые легче обрабатывать, чем другие? Я буду записывать около 10-15 минут за раз, так что то, что не дает ОГРОМНЫЕ размеры файлов, также будет оценено. Любые идеи?

Miguel
источник
5
В качестве приблизительного ориентира: маленький размер, хорошее качество, высокая скорость: выбирайте любые два. Сначала я записывал в формат с меньшим сжатием / более высокой скоростью передачи битов в секунду, а затем повторно сжимал этот файл до чего-то меньшего со скоростью ниже, чем в реальном времени.
Ульрих Шварц
@UlrichSchwarz, Отличный ответ. Я с ним полностью согласен.

Ответы:

4

Если у вас старый компьютер, любой кодек создаст проблемы для кодирования в реальном времени (не только для процессора, но и для диска). Я предлагаю найти разрешение, которое достаточно мало, чтобы уменьшить размер файла. Если вы хотите, чтобы пользовательские разрешения и частоту кадров (mpeg1 / mpeg2 не может быть использован). Разрешение и частоту кадров выбирайте с умом.

Вот мои предложения для переключателей в ffmpeg:

-vcodec libx264 
-r 15
-preset ultrafast
-s 800x600

здесь я поставил 800x600 (это может быть слишком мало), а частота кадров составляет 15 кадров в секунду. Для лучшей производительности установите частоту кадров от 15 до 10 кадров в секунду. По моему опыту, x264 является быстрым кодеком и позволяет настраивать разрешение и частоту кадров.

Вот настройка для MPEG2 (которая быстрее, но ограничена разрешением и частотой кадров)

-r 25 
-s 720x480 
-preset ultrafast 
-vcodec mpeg2video
Мануэл
источник
Я должен проверить, вы можете быть первым человеком в истории, который назвал кодировку H.264 «быстрой» ... :-P Но, да, главное, что есть предустановка для отключения всех дорогих опций.
Дероберт
Вы правы! если 720x480 достаточно хорош, то здесь это быстрее: -r 25 -s 720x480 -предустановка сверхбыстрого -vcodec mpeg2video (я живу в мире Full HD и совершенно забыл, что кто-то использует разрешение 800x600 :()
Мануэль