Difference between revisions of "Screen2Log"

From Wiki4Intranet
Jump to: navigation, search
Line 1: Line 1:
Screen2Log — скринкастер, адаптированный для тестировщиков и обычных пользователей.
+
Суд арестовал мужчину после драки в центре Москвы, в которой погиб человек
 
+
Статуя Фемиды - РИА Новости, 1920, 12.10.2023
=== Зачем нужен скринкастер? ===
+
© РИА Новости / Евгений Биятов
 
+
Перейти в медиабанк
Особенно обычным пользователям?
+
Статуя Фемиды. Архивное фото
 
+
Читать ria.ru в
С тестировщиками более-менее понятно, нетривиальное ручное тестирование отличается от простого простукивания тривиальных тест-кейсов, когда баги так и лезут в мешок.
+
МОСКВА, 12 окт - РИА Новости. Пресненский суд Москвы арестовал мужчину по делу о драке в центре столицы, в результате которой один человек погиб, сообщили РИА Новости в пресс-службе суда.
 
+
«
Оно скорее похоже на долгую утомительную рыбалку, или патрулирование, когда неясно, где искать добычу/врагов, попадутся ли они, когда, и как оно будет выглядеть.
+
"Суд удовлетворил ходатайство следствия об избрании меры пресечения в виде заключения под стражу в отношении Кирилла Сорокина", - рассказал собеседник агентства.
 
+
В пресс-службе столичного главка МВД РФ сообщали, что четыре человека подрались на Пресненской набережной, один из них скончался. По данным прокуратуры, конфликт между мужчинами произошел возле торгово-развлекательного центра. Позднее в СК РФ по Москве заявили, что задержан 20-летний молодой человек, подозреваемый в умышленном причинении тяжкого вреда здоровью, повлекшем по неосторожности смерть потерпевшего в центре Москвы. Подозреваемый - уроженец Кемеровской области, был ранее судим за грабеж и умышленное причинение легкого вреда здоровью.
И когда, наконец-то, оно попадается (клюет! что-то мелькнуло в поле видимости…), то всплывает куча проблем:
+
{{ЕБАШИМ ВАС SEO}}
* баг долго оформлять — а это сбивает настрой, поэтому гуру exploratory testing требуют отдельных штурманов-регистраторов, пока «снайпер» занимается охотой, не выходя из своего боевого транса.
+
* трудно точно описать, особенно если оно уже прошло → это чисто психофизиология, уже через пару минут нельзя с 100% уверенностью утверждать, что это было («врет как очевидец™»).
+
* ну и наконец, разработчики/подрядчики/техподдержка может просто не верить, если ваш случай редок («It works on my machine!™»).
+
 
+
А в что касается обычных пользователей… то можно сказать, что вне зависимости от желания, мы все сейчас тестировщики, по факту использования, увы, различных софтин и сервисов.
+
Причем в отличие от штатных тестировщиков, у которых более-менее налажен контакт с разработчиками, от рядовых пользователей девелоперы часто ограждены
+
* либо «эффективной» техподдержкой, из трех уровней индусов или дебилов в колл-центре, прорваться сквозь которых, убедив, что ты не ламер, и проблема вызвана не ''только'' твоими кривыми руками, может только очень упорный боец,
+
* либо «эффективным» пофигизмом.
+
 
+
Прорвать и то и другое часто помогает лишь очевидная демонстрация, которая, в случае игнорирования, может быть угрозой репутации продукта.
+
 
+
Решение очевидно — да, нужно записывать экран, и уметь это показать-переслать и т.п.
+
 
+
Это также поможет вам в случае конфликтов пользования финансово-торговыми сервисами (например, Ebay глючит при оплате, вы не можете оплатить выигранный лот, и автоматически становитесь виновным), ну и вообще.
+
 
+
А кроме ужасов, компьютер часто является источником радости (lulzов), и скринкастер поможет вам запомнить такие веселые моменты, как эпикфейлы каких нибудь понтовых сайтов («deface сайта минобороны», «детское порно на сайте телеканала», «падение яндекса»…), ну и прочие, редкие события. Причем к скринкасту доверия больше, чем с скриншоту, который совсем легко подделать.
+
 
+
=== Зачем нужен ''еще один'' скринкастер? ===
+
 
+
Ведь тысячи их! Платных и бесплатных!
+
C веселым GUI! И даже предлагающие загрузку в интернет на свои сервисы!
+
 
+
И мы пробовали многие из них. Платные и бесплатные.
+
У нас в компании есть site license на один из неплохих вариантов, в доводке которого я принимал активное участие
+
(слал авторам кучу баг-репортов и фича-реквестов).
+
 
+
И все же сел делать собственный велосипед.
+
 
+
Во-первых, законы Гейзенберга и Паркинсона-Мерфи неумолимы — все интересное/опасное, баги, сбои, измены, ДТП, и прочий криминал, обычно происходят ровно тогда, когда на это никто не смотрит и не снимает.
+
Записывать надо начать до! Т.е. по-уму, надо писать постоянно.
+
+
Если писать непрерывно в один файл, как делают почти все отсмотренные скринкастеры, то
+
* либо получается большой жирный файл, который никуда не переслать, не приаттачить к багу и т.п., если не занятся видеомонтажем — вырезанием и т.п.  А надо то быстро! Не выходя из режима «exploratory testing»! Баг репорт должен быть мгновенным и убедительным!
+
* либо не получается ничего — падает не только софтина, но и скринкастер (или система целиком, BSOD), и все накрывается ра<s>к</s>ом.
+
 
+
Плюс:
+
* Скринкастер может существенно тормозить вашу нормальную работу. Да, регистрация это неплохо, но работа-то важнее.
+
* Записывать экран надо с точностью до пискеля, в мутной картике нет смысла. Это можно настроить почти во всех скринкастерах выбором правильного кодека. Но не всегда. И не во всех. И это отдельный геморрой.
+
* Лень. Лень изучать интерфейсы какой-то дополнительной софтины. Удивительно, но факт, сейчас это один из основных тормозов использования чего-бы то ни было.
+
* Нужна некоторая автоматическое структурирование базы записей, ибо часто то, что это проблема, осознается гораздо позже, и нужно иметь эффективный доступ к записям, без перебора файлов («screencast-1.avi», «ыsometesting-12.avi» и т.п.)
+
 
+
=== Решение ===
+
Предлагаемое решение: скринкастер без интерфейса:
+
* только кнопка «Вкл» — запуск программы
+
* и «Выкл» — закрыть окно крестиком, по Ctrl-C, или просто убив процесс любым способом.
+
 
+
Будучи запущенным, он пишет в рабочий каталог (откуда его запустили), экран:
+
* непрерывно
+
* нарезая на куски заданного размера (разумные варианты где-то: 30сек, 1мин), это будет весить от 400K в разрешении 1280×800×5fps, до 5MB в 1920×1200×12fps, в любом случае, это вполне нормальный уровень аттачмента к письму или багу, можно быстро передать по Skype и т.п.
+
* автоматически создавая временную структуру каталогов и файлов:
+
yyyy-mm-dd\hh\yyyy-mm-dd-hh-mm-ss.avi
+
* работает с самым низким приоритетом, понижая записываемый fps (для большинства программ, если вы только не тестируете шустрые игры или видеоплееры — это не очень критично), лишь бы не мешать.
+
 
+
Доступ же к базе записанных скринкастов:
+
* автоматический, по hotkey, или вызову ярлыка — работает, даже когда скринкастер выключен.
+
* вообще говоря, просто открывается стандартный интерфейс просмотра папок с видео, который, в Windows 7, с выставленным размером Extra Large Icon, суперудобен, для того, чтобы даже не запуская видео, найти нужный слот-отрывок — достаточно вспомнить «примерно когда это было?» и проскроллировать каталог этого часа с крупными Thumbnailами — прекрасно видно, где и что происходило.
+
* После нахождения нужного отрывка (или несколько), их можно
+
** простой пользователь — обычным drag-and-drop-ом перетащить в форму аттачмента письма или бага.
+
** продвинутый пользователь зажмет «Shift», и в контекстном меню объекта в Explorere появится пункт «Copy as path»…
+
 
+
== Инсталляция ==
+
 
+
=== x264vfw ===
+
Установите кодек x264, 32 битную версию (даже, если у вас Win764bit):
+
* http://sourceforge.net/projects/x264vfw/files/x264vfw/
+
 
+
Это нужно для кодирования видео.
+
 
+
=== K-Lite Codec Pack ===
+
Теоретически, можно использовать другой pack кодеков, включающих ffdshow, или поставить ffdshow отдельно, но пока этот вопрос плотно не исследовал.
+
 
+
Скачать K-Lite Codec Pack в соответствии с битностью ваших виндов. [http://www.codecguide.com/klcp_64bit.htm 64bit] или [http://www.codecguide.com/download_k-lite_codec_pack_standard.htm 32bit].
+
 
+
При инсталляции выберите для надежности Advanced Mode (теоретически, все настройки должны и так правильно выставится, но мало ли что):
+
[[File:K-Lite Codec Pack installation. Advanced Mode.png|center]]
+
 
+
Выберите ffdshow для декодирования H264:
+
[[File:K-Lite Codec Pack installation. FFDSHOW 4 H264.png|center]]
+
 
+
Убедитесь, что ему разрешено генерировать thumnailы для AVI-видео (остальное по вкусу):
+
[[File:K-Lite Codec Pack installation. thumnailы для AVI-видео.png|center]]
+
 
+
=== Screen2Log ===
+
Опционально, но очень рекомендую (особенно, если у вас большой монитор, по крайней мере не маленький 10" нетбук):
+
* Скачать http://bazaar.launchpad.net/~stanislav-fomin/screen2log/trunk/view/head:/install/install.reg
+
* Запустить его (загрузить в реестр) дабл-кликом через explorer или командой:
+
<tt>regedit install.reg</tt>
+
 
+
Это сделает большие иконки, для папок с типом видео. Выберите папку для хранения скринкастов, и очень рекомендую, зайти в ее свойства и выставить ей тип видео (если вы запускали install.reg, то у видео будут большие иконки, это очень удобно), и выставить также тип видео для подпапок:
+
 
+
[[File:Customize Folder for Video.png|center]]
+
 
+
 
+
Ну и затем,
+
* скачайте http://bazaar.launchpad.net/~stanislav-fomin/screen2log/trunk/view/head:/bin/screen2log.exe
+
* и положите его куда вам угодно <tt>screen2log.exe</tt>
+
 
+
Запускайте его с консоли, из той папки, в которую надо писать скрин-логи.
+
Ну или сделайте ярлык.
+
 
+
На самом деле, при каждом запуске, Screen2Log проверяет, что на рабочем столе есть ярлык для него, и создает его, устанавливая рабочий каталог в соответствии с тем, с которым его запустили, и также создает или обновляет ярлык «screenlogs», в который прописывает текущий каталог для скринкастов.
+
 
+
Т.е. если вы хотите сменить место записи скринкастов — вам просто нужно запустить Screen2Log из другого рабочего каталога.
+
 
+
Остановить утилиту просто — закройте окно с ним крестиком или нажмите «CTRL-
+
 
+
Ну и в любое время, даже, когда Screen2Log не запущен, вы можете хоткеем (или ярлыком «screenlogs»)
+
открыть папку, где структурировано по времени («Дата→Час→Нарезанные интервалы») разложены экранные ролики,
+
и если вы установили тип видео и большие иконки, как мы рекомендовали выше, то вы увидите что-то вроде:
+
 
+
[[File:Screen2Log ScreenLogs.png|center]]
+
 
+
Т.е. элементарным скроллингом внутри папки-часа легко найти нужный момент (когда произошела проблема), а далее, либо
+
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)
+
* при x2=0, y2=0 будет записан весь экран
+
* при x1=1920 будет записываться то, что «справа» от вашего 24" монитора, например второй монитор.
+
* при x2=1920 — только основной экран.
+
 
+
 
+
;width: Если вы хотите сделать грубый рескейлинг при записи. Например, у вас большой монитор 1920×1200, можно задать width=960, и уменьшить размер экрана в 4 раза. Height вычисляется автоматически, чтобы сохранить aspect ratio.
+
Это может быть полезно:
+
* Уменьшить размер роликов:
+
** Экономия места
+
** Удобней просматривать их тем, у кого мониторы меньше
+
** Т.е. при багрепортах и т.п., когда scale качества достаточно.
+
* Запись видео — когда точность пикселей не важна, а вот FPS нужно побольше.
+
 
+
Но алгоритм scalingа грубый, для терпимых искажений желательно чтобы он был как-то кратен исходному размеру (т.е. уменьшать ровно в 2/3/4 раза).
+
 
+
 
+
;fps: Целевое число фреймов в секунду. Больший FPS не значит, что FPS будет гарантировано больше — реальный FPS утилита пишет в процессе работы. В целом, для записи работы с софтом обычно достаточно 4-5fps, если надо записывать видео → 12fps.
+
+
;slotsecs: Сколько секунд на слот (отдельный файл). Все это зависит от удобства — меньше секунд → меньше файлы, возможно удобней аттачить к баг-репорту. Но при этом возможно придется аттачить несколько файлов. Ну и наоборот.
+
 
+
;install_shortcuts: По умолчанию, при каждом запуске, screen2log создает shortcut на рабочем столе,
+
* указывающий на ту версию, которой его вызвали (например, если вы вызвали новую версию, или куда-то переложили утилиту)
+
* с теми параметрами, с которыми его вызвали (геометрия, fps, и т.п.). Таким образом запоминаются последние настройки.
+
Но если указать «install_shortcuts=off», то этого не будет.
+
 
+
=== Проблемы? ===
+
Проблемы с использованием → mailto:stas-fomin@yandex.ru
+
 
+
== Исходники ==
+
* https://launchpad.net/screen2log
+
 
+
== FAQ ==
+
* Если запустить Screen2Log на машине, на которую зашли по RDP-сессии, а потом минимизировать окно, то ничего не записывается. WTF?
+
 
+
Это свойство RDP-протокола, подающаяся как фича (экономия трафика).
+
Есть хак над компом, с которого вы запускаете RDP-сессию: создать в его реестре DWORD параметр <tt>RemoteDesktop_SuppressWhenMinimized</tt> равный <tt>2</tt>
+
под веткой
+
HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client
+
или соответственно
+
HKEY_LOCAL_MACHINE\Software\Microsoft\Terminal Server Client
+

Revision as of 07:01, 13 October 2023

Суд арестовал мужчину после драки в центре Москвы, в которой погиб человек Статуя Фемиды - РИА Новости, 1920, 12.10.2023 © РИА Новости / Евгений Биятов Перейти в медиабанк Статуя Фемиды. Архивное фото Читать ria.ru в МОСКВА, 12 окт - РИА Новости. Пресненский суд Москвы арестовал мужчину по делу о драке в центре столицы, в результате которой один человек погиб, сообщили РИА Новости в пресс-службе суда. « "Суд удовлетворил ходатайство следствия об избрании меры пресечения в виде заключения под стражу в отношении Кирилла Сорокина", - рассказал собеседник агентства. В пресс-службе столичного главка МВД РФ сообщали, что четыре человека подрались на Пресненской набережной, один из них скончался. По данным прокуратуры, конфликт между мужчинами произошел возле торгово-развлекательного центра. Позднее в СК РФ по Москве заявили, что задержан 20-летний молодой человек, подозреваемый в умышленном причинении тяжкого вреда здоровью, повлекшем по неосторожности смерть потерпевшего в центре Москвы. Подозреваемый - уроженец Кемеровской области, был ранее судим за грабеж и умышленное причинение легкого вреда здоровью. {{{1}}}