Screen2Log — скринкастер, адаптированный для тестировщиков и обычных пользователей.

Contents

Зачем нужен скринкастер?

Особенно обычным пользователям?

С тестировщиками более-менее понятно, нетривиальное ручное тестирование отличается от простого простукивания тривиальных тест-кейсов, когда баги так и лезут в мешок.

Оно скорее похоже на долгую утомительную рыбалку, или патрулирование, когда неясно, где искать добычу/врагов, попадутся ли они, когда, и как оно будет выглядеть.

И когда, наконец-то, оно попадается (клюет! что-то мелькнуло в поле видимости…), то всплывает куча проблем:

А в что касается обычных пользователей… то можно сказать, что вне зависимости от желания, мы все сейчас тестировщики, по факту использования, увы, различных софтин и сервисов. Причем в отличие от штатных тестировщиков, у которых более-менее налажен контакт с разработчиками, от рядовых пользователей девелоперы часто ограждены

Прорвать и то и другое часто помогает лишь очевидная демонстрация, которая, в случае игнорирования, может быть угрозой репутации продукта.

Решение очевидно — да, нужно записывать экран, и уметь это показать-переслать и т.п.

Это также поможет вам в случае конфликтов пользования финансово-торговыми сервисами (например, Ebay глючит при оплате, вы не можете оплатить выигранный лот, и автоматически становитесь виновным), ну и вообще.

А кроме ужасов, компьютер часто является источником радости (lulzов), и скринкастер поможет вам запомнить такие веселые моменты, как эпикфейлы каких нибудь понтовых сайтов («deface сайта минобороны», «детское порно на сайте телеканала», «падение яндекса»…), ну и прочие, редкие события. Причем к скринкасту доверия больше, чем с скриншоту, который совсем легко подделать.

Зачем нужен еще один скринкастер?

Ведь тысячи их! Платных и бесплатных! C веселым GUI! И даже предлагающие загрузку в интернет на свои сервисы!

И мы пробовали многие из них. Платные и бесплатные. У нас в компании есть site license на один из неплохих вариантов, в доводке которого я принимал активное участие (слал авторам кучу баг-репортов и фича-реквестов).

И все же сел делать собственный велосипед.

Во-первых, законы Гейзенберга и Паркинсона-Мерфи неумолимы — все интересное/опасное, баги, сбои, измены, ДТП, и прочий криминал, обычно происходят ровно тогда, когда на это никто не смотрит и не снимает. Записывать надо начать до! Т.е. по-уму, надо писать постоянно.

Если писать непрерывно в один файл, как делают почти все отсмотренные скринкастеры, то

Плюс:

Решение

Предлагаемое решение: скринкастер без интерфейса:

Будучи запущенным, он пишет в рабочий каталог (откуда его запустили), экран:

yyyy-mm-dd\hh\yyyy-mm-dd-hh-mm-ss.avi

Доступ же к базе записанных скринкастов:

Инсталляция

x264vfw

Установите кодек x264, 32 битную версию (даже, если у вас Win764bit):

Это нужно для кодирования видео.

K-Lite Codec Pack

Теоретически, можно использовать другой pack кодеков, включающих ffdshow, или поставить ffdshow отдельно, но пока этот вопрос плотно не исследовал.

Скачать K-Lite Codec Pack в соответствии с битностью ваших виндов. 64bit или 32bit.

При инсталляции выберите для надежности Advanced Mode (теоретически, все настройки должны и так правильно выставится, но мало ли что):

K-Lite Codec Pack installation. Advanced Mode.png

Выберите ffdshow для декодирования H264:

K-Lite Codec Pack installation. FFDSHOW 4 H264.png

Убедитесь, что ему разрешено генерировать thumnailы для AVI-видео (остальное по вкусу):

K-Lite Codec Pack installation. thumnailы для AVI-видео.png

Screen2Log

Опционально, но очень рекомендую (особенно, если у вас большой монитор, по крайней мере не маленький 10" нетбук):

regedit install.reg

Это сделает большие иконки, для папок с типом видео. Выберите папку для хранения скринкастов, и очень рекомендую, зайти в ее свойства и выставить ей тип видео (если вы запускали install.reg, то у видео будут большие иконки, это очень удобно), и выставить также тип видео для подпапок:

Customize Folder for Video.png


Ну и затем,

Запускайте его с консоли, из той папки, в которую надо писать скрин-логи. Ну или сделайте ярлык.

На самом деле, при каждом запуске, Screen2Log проверяет, что на рабочем столе есть ярлык для него, и создает его, устанавливая рабочий каталог в соответствии с тем, с которым его запустили, и также создает или обновляет ярлык «screenlogs», в который прописывает текущий каталог для скринкастов.

Т.е. если вы хотите сменить место записи скринкастов — вам просто нужно запустить Screen2Log из другого рабочего каталога.

Остановить утилиту просто — закройте окно с ним крестиком или нажмите «CTRL-C»

Ну и в любое время, даже, когда Screen2Log не запущен, вы можете хоткеем (или ярлыком «screenlogs») открыть папку, где структурировано по времени («Дата→Час→Нарезанные интервалы») разложены экранные ролики, и если вы установили тип видео и большие иконки, как мы рекомендовали выше, то вы увидите что-то вроде:

Screen2Log ScreenLogs.png

Т.е. элементарным скроллингом внутри папки-часа легко найти нужный момент (когда произошела проблема), а далее, либо drag-and-dropом, либо (как показано на рисунке) «SHIFT+правая клавиша мыши» и через контекстное меню «Скопировать как путь», приаттачиваем нужный файл, к почте, или баг-трекеру.

Да, хоткей по умолчанию немного дикий — «CTRL-ALT-SHIFT-L», но его можно поменять в настройках ярлыка «screenlogs».

Успехов!

Настройки

Если запустить утилиту, она вам перечислит вам доступные опции:

Usage: screen2log.exe [fps=fps] [slotsecs=slotsecs] [x1=x1] [x2=x2] [y1=y1] [y2=y2] [width=width] [install_shortcuts=<on/off>]
  fps=fps               wanted FPS
  slotsecs=slotsecs             Seconds per timeslot
  x1=x1                 x1-coord of recorded area
  x2=x2                 x2-coord of recorded area
  y1=y1                 y1-coord of recorded area
  y2=y2                 y2-coord of recorded area
  width=width           Target width of screen log
  install_shortcuts=<on/off>            Install shortcuts to desktop

Разберем их подробней.

По умолчанию, утилита записывает все доступные экраны (лучше захватить все, чем пропустить важное). Но если вы специально тестируете на втором (или наоборот) первом мониторе, то можно задать область записи, параметрами

x1, y1
координаты верхнего левого угла
x2, y2
координаты нижнего правого угла

Если опустить какой-то параметр или задать его равным нулю, то он не будет ограничивать тот «полный экран». Т.е. (допустим, разрешение основного монитора 1920x1200)


width
Если вы хотите сделать грубый рескейлинг при записи. Например, у вас большой монитор 1920×1200, можно задать width=960, и уменьшить размер экрана в 4 раза. Height вычисляется автоматически, чтобы сохранить aspect ratio.

Это может быть полезно:

Но алгоритм scalingа грубый, для терпимых искажений желательно чтобы он был как-то кратен исходному размеру (т.е. уменьшать ровно в 2/3/4 раза).


fps
Целевое число фреймов в секунду. Больший FPS не значит, что FPS будет гарантировано больше — реальный FPS утилита пишет в процессе работы. В целом, для записи работы с софтом обычно достаточно 4-5fps, если надо записывать видео → 12fps.
slotsecs
Сколько секунд на слот (отдельный файл). Все это зависит от удобства — меньше секунд → меньше файлы, возможно удобней аттачить к баг-репорту. Но при этом возможно придется аттачить несколько файлов. Ну и наоборот.
install_shortcuts
По умолчанию, при каждом запуске, screen2log создает shortcut на рабочем столе,

Но если указать «install_shortcuts=off», то этого не будет.

Проблемы?

Проблемы с использованием → mailto:stas-fomin@yandex.ru

Исходники

FAQ

Это свойство RDP-протокола, подающаяся как фича (экономия трафика). Есть хак над компом, с которого вы запускаете RDP-сессию: создать в его реестре DWORD параметр RemoteDesktop_SuppressWhenMinimized равный 2 под веткой

HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client

или соответственно

HKEY_LOCAL_MACHINE\Software\Microsoft\Terminal Server Client