Как записывать скринкасты
Сегодня рассмотрим процесс по записи скринкастов, который можно организовать дома или в офисе. И не больно ли это.
Что нужно для записи
При записи важно не только то, что мы записываем. Но и как и чем. Люблю капитанить, так что поехали:
Тихий компьютер
Записи не должен мешать свист и другой шум. Конечно шумы потом можно убрать шумоподавлением, но при этом уберётся и часть голоса, которая подпадает под подавляемые частоты. Поэтому лучше сразу записывать без дефектов, чем потом героически их убирать.
Как этого добиться? Об этом можно подумать при сборке системного блока. Если есть вариант как в студии вынести системный блок в соседнюю комнату, то будет идеально. Или если обернуть его в шумоизоляцию. Но и без таких крайних мер можно улучшить восприятие.
В любом случае в системном блоке шумят и гудят только вентиляторы. Так что стараемся их утихомирить через:
1. Большой кулер на процессор. Чем массивнее аппарат, тем слабее нужен вентилятор. Если на кулере два вентилятора, то один можно снять. Либо оставить два, но настроить на работу в полсилы. Идеальный вариант – водяное охлаждение. Но это уже экзотика.
2. Большой и тихий вентилятор на выдув из системного блока. Поискать на 19дБ. Но если вентилятор на кулере процессора сам находится у решётки выдува, то на корпус можно вентилятор не ставить.
3. Видеокарта с пассивный охлаждением вроде GeForce GT 1030 Silent. Спокойно держит два монитора по 1080p. Нет вентилятора – нет проблем.
4. Снижение скорости вентиляторов в BIOS. Там переключить их на первую скорость и выставить пороги ускорения. Например, повысить пороговую температуру процессора с 40° до 50° , чтобы вентиляторы сильно не разгонялись при незначительных нагревах.
Тихая комната
Помимо компьютера может гудеть и пустая комната с твёрдыми стенами, если в ней мало мебели, штор и ковров. Обычно сильное эхо гуляет по кухне. Поэтому записывать лучше в обставленной жилой комнате.
Если же вы только что переехали и квартира ещё пустая и звонкая, то повесьте хотя бы шторы.
Оборудование
Помимо системного блока нам теперь можно собрать такой агрегат:
Из чего он состоит?
Два монитора 16x9 разрешением 1920x1080
На первом главном мониторе с иконками и треем открываем все черновики и прочий софт. Со второго пустого монитора без треев и иконок записываем видео.
Широкоформатный монитор не подойдёт, так как там такое явное разделение областей сделать будет сложно.
4K мониторы тоже не подойдут, так как всё равно запись нужно вести в 1080p, а запись с уменьшением на лету будет перегружать процессор. А запись и монтаж в исходные 4к будет занимать терабайты.
Также не подойдут мониторы с пропорциями 16x10 или 4:3. Во первых, видео будет с небелыми рамками. Во-вторых, при конвертации с подгонкой к высоте в 1,111 раз ваши точные 1920х1200 превратятся в примерные 1728x1080 и пиксели поплывут, размазав все шрифты.
Микрофон
Звуковая карта – это именно та микросхема, которая аналоговый сигнал превращает в цифровой. То есть это аналогово-цифровой преобразователь (АЦП).
Если у вас микрофон со шнуром с mini-jack, вставленный в системный блок, то звуковая карта используется из самого системного блока. А шнур аналоговый с оплёткой, склонный к наводкам. В итоге ближняя к системнику часть шнура и сама звуковая карта улавливают наводки от вентиляторов системника и пульсации напряжения от блока питания компьютера. И часто получается, что записывается и ваш голос, и посторонний писк.
Если же у вас USB-микрофон, то звуковая карта находится не в системнике, а прямо в самом микрофоне в нескольких сантиметрах от капсюля. А снаружи к компьютеру уже идёт цифровой USB-шнур с готовым бинарным сигналом, не обращающим внимания на наводки.
Но USB-гарнитуры со встроенным шумоподавлением звучат как разговор по рации или телефону, так как капсюль там миниатюрный. Для чистовой записи это не подойдёт.
Отдельный большой USB-микрофон лучше тем, что там полноценный капсюль с двухрублёвую монету, а не его ужатая копия. И вроде можно взять его, но...
Капсюли там в основном конденсаторные или электретные. Они чувствительнее и звучат натуральнее, чем динамические из “обычных” караоке-микрофонов, где на толстой плёнке висит тяжёлая медная катушка. В те удобно громко петь на сцене, но не очень приятно спокойно говорить дома.
Нюанс в том, что этим капсюлям для нормальной работы нужно подавать постоянное фоновое (фантомное) питание 48 вольт. И ваш USB-микрофон тоже это делает. Внутри него есть преобразователь напряжения с компьютерных 5В на микрофонные 48В. И так как в USB-микрофоне мало места, он расположен близко с АЦП. И нет места на большие фильтры для сглаживания пульсаций питания от компьютера.
В итоге если покупаете дешёвый USB-микрофон, то сразу в нём получаете себе дешёвую звуковую карту и риск недостаточной изоляции от помех и пульсаций. Вполне вероятно, что он будет фонить, шипеть или пищать.
В записи это можно хоть как-то обработать шумоподавлением аудиоредактора, но в прямой эфир без обработки так выходить неприятно.
Либо если прямо в микрофоне есть встроенное шумоподавление, то не будет писка, но звук после такого подавления будет приглушённый.
В итоге:
- Аналоговый микрофон, воткнутый в звуковую карту системного блока пищит от наводок самого системного блока.
- Недорогой USB-микрофон фонит или пищит от недостаточного качества его звуковой карты и изоляции.
- Дорогой USB-микрофон не всегда удобен. Например Blue Yeti слишком большой.
Так что как поступить? Идеальный вариант – это трёхзвенная схема. Там мы берём отдельно аналоговый микрофон, отдельную внешнюю качественную звуковую карту с фантомным питанием и большими фильтрующими конденсаторами и отдельно системный блок. И микрофон со звуковой картой соединяем не каким попало шнуром, а витой парой, не склонной к наводкам.
Например, в простейшем случае собрать комплект отсюда с электретным микрофоном:
Но для большего качества желательно выбрать конденсаторный микрофон из доступного вам ценового диапазона:
И тогда мы получаем идеальный звук без шумов и писков без всякой обработки.
И к микрофону покупаем кронштейн с пауком. Там микрофон висит на резинке. Иначе стуки по столу или клавиатуре будут очень громкие на записи.
Виртуальный микрофон из аудиоинтерфейса
При подключении любого USB-аудиоинтерфейса с двумя каналами он определяется как одна звуковая карта со стереовходом, а не как две карты. И там получается не настоящее стерео, а два моно-канала в стередорожке: первый источник (микрофон) идёт в левый канал, а правый источник (второй микрофон или электрогитара) в правый канал. Если вставлен только первый микрофон, то при стереозаписи он попадает только в левый канал.
При записи только звука в Audacity это удобно, так как при монтаже потом это псевдостерео можно разбить на две моно-дорожки. Но если вы попробуете аудиоинтерфейс выбрать как источник в Skype, Zoom или любом другом сервисе, то столкнётесь с проблемой недостаточной громкости или наличия звука только в левом канале. Это как раз потому, что все эти программы воспринимают двухканальный аудиоинтерфейс как стереоисточник, у которого второй канал почему-то пустой. И при сложении этих двух каналов в моно в этих программах в сумме получается только половина громкости.
Поэтому для полноценного использования внешней двухканальной звуковой карты как обычного микрофона можно в системе создать виртуальный микрофон, в обе стереодорожки которого запустить одну и ту же левую дорожку аудиоинтерфейса.
Если мы как программисты работаем в Linux, то для этого можем воспользоваться модулем remap-source
из PulseAudio. Для этого просто смотрим в терминале список имеющихся источников ввода:
pacmd list-sources
Ищем там input.usb
с analog-stereo
без monitor
:
index: 1
name: <alsa_input.usb-Yamaha_Corporation_Steinberg_UR12-00.analog-stereo>
channel map: front-left,front-right
device.description = "Steinberg UR12 Analog Stereo"
...
Копируем себе имя устройства. Теперь открываем конфигурацию:
sudo nano /etc/pulse/default.pa
и туда дописываем создание виртуального источника source_name
, в оба канала которого мы через channel_map
посылаем один и тот же левый канал из аудиоинтерфейса:
load-module module-remap-source source_name=Steinberg_UR12_Mic source_properties="device.description='Steinberg UR12 Mic'" master=alsa_input.usb-Yamaha_Corporation_Steinberg_UR12-00.analog-stereo master_channel_map=front-left,front-left channel_map=front-left,front-right
После этого применяем изменения:
pulseaudio -k
и у нас в системе появляется два устройства ввода:
- Steinberg UR12 Analog Stereo
- Steinberg UR12 Mic
Для многодорожечной записи микрофона и электрогитары мы выбираем оригинал. А по умолчанию для операцинной системы и прочих программ используем именно наш виртуальный микрофон.
Тихие клавиатура и мышь
Ищите мышь и клавиатуру со словом Silent в названии. Поначалу будет непривычно, но потом втянетесь.
Подготовка
Если захотели записать скринкаст, то первым делом нужно подготовить материал. О чём и как рассказывать и показывать зависит от вашей фантазии.
С точки зрения кода нужно что-то спрограммировать и с помощью интерактивного rebase подготовить пошаговые коммиты для повествования.
Сколько это займёт у вас знаете только вы. Что-то можно придумать за неделю, а что-то более серьёзное уже за месяц.
Но в любом случае за первую половину дня или за вечер перед записью нужно привести код в рабочий вид. Проверить, что всё запускается. Открыть в браузере все вкладки, которые будете демонстрировать.
Вполне вероятно, что ночью перед записью вас осенит и вы вместо записи весь этот день будете переписывать код на новый лад. Так бывает довольно часто. По крайней мере у меня :)
Но представим, что у вас всё готово. Начнём-с…
Голос
Это круто, когда спикер растёт профессионально. Слушать его выступления приятно. И на выступлении кажется, что важно то, что он говорит. Но и важно то, как он говорит.
На запись голоса влияет много факторов. Утром организм ещё не размялся, а вечером человек уже устал. Даже влияет насколько горячий чай перед записью он выпил.
Но есть ещё несколько составляющих выступления. Без двух вещей не обойтись: правильное диафрагмальное дыхание и разработка речевого аппарата.
Рабочий стол
Как мы сказали, когда есть два монитора мы при записи активно используем эти рабочие столы.
Удобно вести запись с правого чистого монитора без треев и иконок. Там удобно раскрывается редактор или слайды на весь экран.
На левом главном мониторе есть все меню и панели. Там запускаю видеозапись, открываю Git-интерфейс вроде SmartGit и открываю текстовый документ со шпаргалкой. В нём записаны пункты списков, фрагменты кода и адреса для копирования.
Теперь когда это подготовлено можно приступать к записи.
Запись
В первый раз нужно настроить видео и звук. Мы будем записывать через OBS.
Сцена
В простейшем случае в OBS нужно создать сцену для записи и разместить на ней окно записи правого экрана. В итоге превью должно выглядеть примерно так:
При желании на сцену поверх записываемого экрана где-то в углу можно поместить изображение себя с веб-камеры.
В окне аудио мы видим уровень сигнала с микрофона и с монитора. Если вы не хотите, чтобы системные уведомления попадали в запись их звук можно здесь выключить.
При разговоре в микрофон настройте его громкость так, чтобы сигнал находился в начале жёлтой зоны и только при кашле зашкаливал на красную. Тихий звук можно будет потом усилить при монтаже. Но если запишете изначально слишком громко, то вся запись может оказаться хрипящей от перегрузок и придётся перезаписывать.
Перед реальной записью желательно потренироваться и прослушать результат.
Звук
Записываем в моно:
Если вы купите аналоговый микрофон, то скорее всего он будет выдавать моно-сигнал. Если записывающая программа пишет в стерео, то запишется только левый канал. В принципе, потом в аудиоредакторе можно будет продублировать левый канал в правый. Но нет смысла искусственно делать и хранить две одинаковые дорожки, если можно обойтись только одной.
Записываем тихо. Чтобы и при громком разговоре не зашкаливало. Хоть даже на половину громкости. Громкость потом повысим при обработке, зато треска и хрипа от перегрузки не будет.
Качество можно выбрать в 256:
Видео
Настраиваем формат, контейнер и битрейт во вкладке Output - Recording:
Видеокодек привычнее x264. Его без проблем воспринимает любой редактор и консольный ffmpeg.
Здесь в Rate Control мы вместо ручного указания битрейта выбрали вариант CRF и указали 0 для максимального качества. В режиме CRF кодек будет подбирать битрейт автоматически на основе того, что происходит на экране. У нас в скриншотах будет в основном программный код, который не очень часто меняется, поэтому он будет подстраивать качество под отображение этого текста.
Далее можно указать частоту ключевых кадров (Keyframe Interval). Видео для экономии места записывается так, что сначала записывается полное изображение, а потом несколько кадров только с изменениями в несколько килобайт. И эти полные кадры называют ключевыми. И можно настроить, насколько часто нужно делать полные кадры.
При просмотре разницы нет, но именно по ним некоторые плееры и редакторы умеют делать перемотку. И если резать видео простым ffmpeg, то он умеет резать видео только по ним.
Для уменьшения размера видео ключевые кадры лучше поставить реже. Но для монтажа это неудобно, так как превью видео при движении мыши зависает на секунды. Так что удобнее выбрать что-то среднее. Например, для удобства монтажа поставить простановку ключевых кадров каждую секунду.
Следом можно выбрать пресет интенсивности использования процессора. Здесь либо быстро, нофайлы будут больше, либо напрягать процессор, но файлы сожмутся лучше. Выбранный slower загружает Intel Core i7 на ~20%, что не приводит к шуму вентиляторов.
Контейнер вместо MP4 надёжнее брать MKV.
Здесь стоит сказать, что в любом видеофайле со звуком лежат видео и аудио. При этом видео может быть в формате в любом формате вроде h264. Так и звук может быть сжат кодеком mp3, aac или fla.
А MP4, FLV, MKV описывают именно контейнер. То есть структуру хранения этих дорожек в файле. Каждый такой файл-контейнер содержит дорожки и к ним хранит метаразметку, где описано, какие потоки и как в нём лежат.
У MP4-файлов особенность в том, что метаразметка записывается в конце файла после записи. В итоге если в процессе записи что-то зависнет или вылетит, то записанный фрагмент без разметки окажется нечитаемым.
У меня это произошло недавно при записи эпизода по Jenkins. И ни одна программа не помогла восстановить качественно звук из прерванного трёхчасового эпизода. Видео восстановилось, но звук оказался дёрганым. В итоге пришлось перезаписывать. С тех пор выбираю более безопасный MKV. Там таких проблем нет и даже недозаписанные куски будут рабочими.
Также в отдельной вкладке выбираем частоту кадров. Можно выбрать 25 или 30:
В моём случае хорошо работают 25 кадров в секунду.
Выбирая вариант не забудьте попробовать запись на каждом. Просто включите запись и попробуйте на записываемом мониторе попереключать окна приложений и вкладки браузера.
Варианты в 30 или 29,97 мне не подошли, так как при переключения вкладок в браузере видны сильные мигания из-за несовпадения частот рендера окон.
Дубли
При записи важно не только как записываем, но и как говорим. Если запинаться, путаться или недоговаривать слова, то будет не очень интересно это слушать. И сколько бы вы не репетировали (или если не репетировали) с одного раза залпом даже получасовой скринкаст проговорить не получится.
Поэтому если запнулись, сказали что-то не то, или на экране что-то не получилось, то просто повторяем фразу снова. Это не прямой эфир, а запись, поэтому потом когда будем монтировать просто вырежем неудачные моменты и оставим только хорошие варианты. Так что если при запуске программы что-то пошло не так, можно спокойно исправить код и повторить запуск заново.
Или, например, бывает такое, что мы о чём-то рассказываем, а потом через полчаса вспоминаем, что забыли упомянуть про какой-то нюанс. Например, замечаем, что про какой-то файл не досказали. Тогда мы просто говорим это посреди или в конце видео, а потом при монтаже этот фрагмент передвинем в нужное место.
Запись черновиков
Одного или двух при желании. Позволяет избавиться от большинства ошибок в коде и составить сценарий.
Но всегда есть нюансы, ведь каждый эпизод - это эксперимент. Например, для эпизода про e2e-тесты записали и выкинули два черновика. И всё равно итоговое записали 4 часа с повторами. И обработка заняла гораздо больше времени.
Результат записи
В итоге если настроили запись с ежесекундными ключевыми кадрами и говорите с повторами, то у вас получится примерно 2-4 часа записи на 3-5 ГБ. Потом, когда вырежете все паузы и повторы, это сократится до одного часа.
В следующий раз покажем, как этот результат мы можем обработать:
Часть 2: Как смонтировать видео
Здравствуйте! Какой у Вас микрофон (марка, модель)? А также АЦП? Если это Ваше фото, то я вижу что он внешний.
На этот похож.
Как указанные в видео:
Behringer C-1
Steinberg UR12
Можно ли добавить к видео субтитры? Потому что я не понимаю по-русски.
Или прикрепите текст к видео, чтобы я мог использовать программу для перевода для завершения чтения. Потому что мне очень нравится твое видео.
Но вместо самого дешёвого Behringer C-1 вдальнейшем желательно перейти на качественные конденсаторные микрофоны. Добавил несколько видеообзоров в статью. Тогда звук можно будет не обрабатывать.
Не знал, что ОБС под убунтой имеется :)
Надумал прикупить новый монитор, Дмитрий, подскажите, какой монитор сейчас используете для работы?
Использую два монитора AOC I2490PXQU/BT. С узкими рамками, регулировкой высоты и USB-хабом.
Или войти через: