Страница 1 из 1

Запись видео с экрана (скринкаст) как средство фиксирования

Добавлено: 26 авг 2022, 12:00
ogankvik
Здравствуйте.
Linux Mint 19.3 x64

Сотрудники колл-центра записывают звонки пациентов в программу, программа передаёт данные врачам. Иногда, данные не поступают к врачу. Тогда звонит пациент и спрашивает, почему не приехал врач.
Появилась идея фиксировать происходящее на экране сотрудников колл-центра, чтобы понимать кто и в чём ошибается.

Нашел интересное решение, в консоли с помощью FFmpeg.
Установил:
sudo apt install ffmpeg
Запустил запзапись в консоли:
ffmpeg -f x11grab -r 25 -s 1920x1080 -i: 0.0 -vcodec huffyuv screencast.avi

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

Запись видео с экрана (скринкаст) как средство фиксирования

Добавлено: 26 авг 2022, 12:23
rogoznik
ogankvik, можешь использовать OBS Studio. Там можно настроить запись очень гибко. Вот только все равно запись одного рабочего дня будет весить много. Да и устанешь потом просматривать. Проще, если есть доступ до разработчиков программы, пнуть их(разработчиков) чтоб сделали так что нужно заполнить определенные поля и только после этого заявка будет передана, а иначе она не закрывается с ошибкой

Запись видео с экрана (скринкаст) как средство фиксирования

Добавлено: 26 авг 2022, 12:34
ogankvik
Спасибо, OBS Studio классная программа, но она требует много внимания.

Мне нужно чтобы запись сама включалась вместе с загрузкой ПК. Компьютеров много, нужно чтобы всё работало само.

Запись видео с экрана (скринкаст) как средство фиксирования

Добавлено: 26 авг 2022, 13:40
yarichin
ogankvik, Посмотри эту программулину. Может подойдёт.
Снимок экрана в 2022-08-26 13-39-25.png

Запись видео с экрана (скринкаст) как средство фиксирования

Добавлено: 26 авг 2022, 15:21
slant
ogankvik писал(а):
26 авг 2022, 12:00
Запись идет, но проблема в том, что каждая секунда видео занимает примерно 10 мегабайт, что очень много. Как можно сжимать видео прямо во время записи?
Как бы - какой кодек выберешь в параметрах ffmpeg, так оно сжимать и будет. Разумеется - чем сильнее сжатие, тем больше ресурсов будет жрать.

Я бы еще посоветовал рассмотреть вариант - сбросить в записи количество кадров в секунду. Тоже параметры есть.

Запись видео с экрана (скринкаст) как средство фиксирования

Добавлено: 26 авг 2022, 18:37
demonlibra
Установите imagemagick и scrot.

Код: Выделить всё

sudo apt install imagemagick scrot
scrot будет сохранять снимки экрана, imagemagick будет сжимать изображения в png8.

Задайте через автозагрузку запуск следующего сценария, который будет сохранять снимки экрана с заданной периодичностью.

Код: Выделить всё

#!/bin/bash

path=""				# Путь для сохранения снимков
time=5				# Время между снимками

cd "$path"
for ((;;))
	do
		sufix=`date +%Y-%m-%d_%H-%M-%S`

		dir=`date +%Y-%m-%d`
		if ! [ -d "$dir" ]
			then mkdir "$dir"
		fi

		scrot -p - | convert - png8:$dir/screen_$sufix.png
		sleep $time
	done
Для эффективности формата png необходимости выключить обои.
В таком виде за рабочий день будет набегать 2-3 сотни мегабайт.

Запись видео с экрана (скринкаст) как средство фиксирования

Добавлено: 26 авг 2022, 19:18
demonlibra
ogankvik писал(а):
26 авг 2022, 12:00
ffmpeg -f x11grab -r 25 -s 1920x1080 -i: 0.0 -vcodec huffyuv screencast.avi

Запись идет, но проблема в том, что каждая секунда видео занимает примерно 10 мегабайт, что очень много. Как можно сжимать видео прямо во время записи?
Если идти по пути записи видео, я бы в первую очередь ограничил количество кадров и разрешение.

Запись видео с экрана (скринкаст) как средство фиксирования

Добавлено: 07 сен 2022, 19:47
Dja
ogankvik, а не проще звонок и передать? Запись звонка

Запись видео с экрана (скринкаст) как средство фиксирования

Добавлено: 21 сен 2022, 17:34
ogankvik
Dja писал(а):
07 сен 2022, 19:47
ogankvik, а не проще звонок и передать? Запись звонка
Запись ведется, нужно фиксировать происходящее на экране.

Нашел подходящий скрипт захвата:
ffmpeg -f x11grab -r 5 -s 1920x1080 -i :0.0 -vcodec mpeg4 screencast.avi

Он создает screencast.avi и записывает в него видео каждый день. Нужно хранить видео за три дня. Как мне создавать/переиминовывать screencast.avi текущей датой? Или хотя бы по порядку 1.avi, 2.avi.. чтобы вновь созданный screencast.avi не перезаписывал запись за предыдущий день?

Запись видео с экрана (скринкаст) как средство фиксирования

Добавлено: 21 сен 2022, 18:00
rogoznik
Пример как узнать есть ли файл и изменить ему имя

Код: Выделить всё

if [ -e /путь/до/файла ]
then
    mv /путь/до/файла /путь/до/нового/места/хранения
fi
Вариант когда можно сразу задавать дату в имени файла

Код: Выделить всё

ffmpeg -f x11grab -r 5 -s 1920x1080 -i :0.0 -vcodec mpeg4 screencast_$(date +"%d_%m_%Y").avi

Запись видео с экрана (скринкаст) как средство фиксирования

Добавлено: 21 сен 2022, 20:20
ogankvik
rogoznik писал(а):
21 сен 2022, 18:00
Вариант когда можно сразу задавать дату в имени файла

Код: Выделить всё

ffmpeg -f x11grab -r 5 -s 1920x1080 -i :0.0 -vcodec mpeg4 screencast_$(date +"%d_%m_%Y").avi
О боги, rogoznik, спасибо!!! На работе завал - безостановочное плановое внедрение. Толком ничего не работает, нервничаю, добавляют всё новое и новое. А тут ты выдал готовый ответ и одной проблемой стало меньше.