LINUX.ORG.RU

История изменений

Исправление Architector, (текущая версия) :

В общем нашел такое решение: ставим иксы, запускаем lightdm (у меня kali), экран можно не подключать.

Запускаем браузер с нужным нам сайтом aka

xargs firefox -new-tab https://www.google.ru/

Запускаем ffmpeg

ffmpeg -f x11grab  -y -rtbufsize 100M -s 1366x768 -framerate 30 -probesize 10M -draw_mouse 1 -i :0.0 -c:v libx264 -r 30 -preset ultrafast -tune zerolatency -crf 25 -pix_fmt yuv420p  screen.mp4

Profit!

-y — если в текущей директории есть файл screen.mp4, то ffmpeg перезапишет его не задавая вопросов;

-rtbufsize 100M — буфер под видео. Запись с экрана должна идти бысто и гладко, чтобы не было дропов (пропусков) кадров. Поэтому лучше сначала записывать видео в память (так  быстрее чем на диск), а затем ffmpeg сам перенесет из памяти на диск.

-f x11grab — захват экрана X11 сервера;

-framerate 30 — частота кадров результирующего видео;

-probesize 10M — количество кадров необходимое ffmpeg для идентификации потока. Вроде со значением 10M работает нормально;

-draw_mouse 1 — рисовать мышку;

-i 0 — говорим ffmpeg, какой экран писать;

-c:v libx264 — сжимать будем в формат MP4 кодеком x264;

-r 30 — кодек запишет видео с частотой 30 кадров в секунду;

-preset ultrafast — говорим кодеку, чтобы долго не раздумывал и кодировал видеопоток, как можно быстрее (при записи экрана это актуально);

-tune zerolatency — опция кодека x264 для ускорения кодирования;

-crf 25 — качество записываемого видео (большее значение — хуже видео, меньшее — лучше);

-pix_fmt yuv420p — цветорвой формат результирующего видео.

P.S. под ключом -i должно стоять значение переменной окружения $DISPLAY

Исходная версия Architector, :

В общем нашел такое решение: ставим иксы, запускаем lightdm (у меня kali), экран можно не подключать.

Запускаем браузер с нужным нам сайтом aka

xargs firefox -new-tab https://www.google.ru/

Запускаем ffmpeg

ffmpeg -f x11grab  -y -rtbufsize 100M -s 1366x768 -framerate 30 -probesize 10M -draw_mouse 1 -i :0.0 -c:v libx264 -r 30 -preset ultrafast -tune zerolatency -crf 25 -pix_fmt yuv420p  screen.mp4

Profit!

-y — если в текущей директории есть файл screen.mp4, то ffmpeg перезапишет его не задавая вопросов;

-rtbufsize 100M — буфер под видео. Запись с экрана должна идти бысто и гладко, чтобы не было дропов (пропусков) кадров. Поэтому лучше сначала записывать видео в память (так  быстрее чем на диск), а затем ffmpeg сам перенесет из памяти на диск.

-f x11grab — захват экрана X11 сервера;

-framerate 30 — частота кадров результирующего видео;

-probesize 10M — количество кадров необходимое ffmpeg для идентификации потока. Вроде со значением 10M работает нормально;

-draw_mouse 1 — рисовать мышку;

-i 0 — говорим ffmpeg записывать весь экран;

-c:v libx264 — сжимать будем в формат MP4 кодеком x264;

-r 30 — кодек запишет видео с частотой 30 кадров в секунду;

-preset ultrafast — говорим кодеку, чтобы долго не раздумывал и кодировал видеопоток, как можно быстрее (при записи экрана это актуально);

-tune zerolatency — опция кодека x264 для ускорения кодирования;

-crf 25 — качество записываемого видео (большее значение — хуже видео, меньшее — лучше);

-pix_fmt yuv420p — цветорвой формат результирующего видео.

P.S. под ключом -i должно стоять значение переменной окружения $DISPLAY