/ Статьи / Мультимедиа / Запись видео с дисплея со звуком /

Запись видео с дисплея со звуком

Дата публикации: Nov. 14, 2010, 2:30 p.m.
Теги: скринкасты, звук, видео,
Автор: brainstream

работа с видео в линукс

Существует несколько программ для захвата видео в UNIX-like операционных системах. Это Istanbul, recordMyDesktop, Wink, XVidCap и другие. В этой статье я буду рассказывать о recordMyDesktop и о его фронтенде gtk-recordMyDesktop.

Коли я уж упомянул о других утилитах, то вкратце расскажу о них.

Istanbul. Эта программа, честно говоря, ни сколько меня не впечатлила. Настроек очень мало, при этом все они сосредоточены в контекстном меню значка в трее. Некоторые настройки, такие как частота кадров вообще не доступны из меню. Хранятся настройки в gconf, но и там их очень мало. Записывает жутко тормозное видео. Я пробовал выставлять разную частоту кадров, но на выходе всегда получал слайд-шоу. Возможно, эта проблема сборки. Программу я устанавливал из репозитория моего дистрибутива (debian squeeze).

Wink. Эта программа предназначена для создания презентаций и слайдшоу. Здесь Вы сможете вставлять различные подписи и комментарии к видео в виде различных всплывающих элементов. На выходе мы получаем flash видео.

XVidCap. Довольно не плохая писалка видео с экрана. По названию, видно, что она использует кодек XViD, и на выходе мы получаем *.mpeg файл. Настройки позволяют оптимально выставить качество записываемого видео и частоту кадров. Но про звук Вам придется забыть. Я не нашел и следа того, что эта утилита способна захватить звук от куда бы то ни было.

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

recordmydesktop -o filename

после чего сразу же начнётся запись. Чтобы завершить запись нужно нажать знакомую всем комбинацию Ctrl+C. Файл будет сохранён под именем filename.ogv. Если не задать имя файла, то файл будет носить имя out.ogv.

Кроме опции -o нас может заинтересовать опция --device и --no-sound. И та и другая служат для работы со звуком. Первая указывает, с какого устройства следует захватывать звук

recordmydesktop --device=hw:0,0 -o video
а вторая говорит программе не захватывать звук вообще
recordmydesktop --no-sound -o video
Кроме этих опций существует ещё много различных ключей, которые можно посмотреть, набрав команду
recordmydesktop --help

Я же в этой статье хотел бы акцентировать внимание именно на захвате звука вместе с видео с экрана.

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

recordmydesktop

В основном окне мы можем выбрать область захвата, качество картинки и качество звука. Доступны три варианта выбора области захвата -- захват всего экрана (по умолчанию), захват указанного окна и захват произвольной области (на скриншоте выше). При нажатии на кнопку "Записать" gtk-recordMyDesktop вежлево уберётся в трей.

Если Вы не используете никаких звуковых серверов, а пользуетесь только ALSA, то Вы без труда сможите захватить звук прямо с микрофона. Для этого нужно сделать стандартные настройки микшера. Откройте регулятор громкости ALSA, к примеру alsamixer, и выберете устройство захвата. Для того, чтобы отобразились устройства захвата в alsamixer нужно нажать F4.

alsamixer

Выберите в качестве Input Source ваш микрофон, установите громкость, как вам хочется и всё работает. Обращу ваше внимание на то, что регуляторы Mic Boost и Digital увеличивают громкость, но добавляют шума, поэтому отнеситесь с уважением к установке значений этих параметров.

После таких манипуляций можете приступать к скринкастингу с использованием микрофона. Быстро проверить настройки можно, к примеру, в программе Audacity. Она позволяет записывать звук с микрофона и тут же его воспроизводить. Для регулирования параметров ALSA самое оно.

Если всё так просто, то зачем же эта статья? Действительно, проблем при записи видео со звуком с микрофона не возникает. Но как только мы хотим получить в нашем видео тот звук, который слышим мы, исходящий звук, мы сталкиваемся с тем, что ALSA ничего не может нам предложить. И тут нам на помощь приходит звуковой сервер PulseAudio.

PulseAudio -- это звуковой сервер, призванный объединить звуковой вывод всех приложений (с локального компьютера и из сети) и обработать каждый из них в отдельности. Также PulseAudio позволит нам записать исходящий звук.

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

Кроме пакета pulseaudio Вам также понадобится пакет pavucontrol (в моём дистрибутиве он установился зависимостью) -- это регулятор громкости. Не все программы способны работать с PulseAudio, многие просто не в состоянии вывести звук, если звуковое устройство уже занято PulseAudio. Для того, чтобы решить эту проблему, нужно сделать ALSA клиентом PulseAudio. Для этого впишите в файл ~/.asoundrc следующее

pcm.!default {
   type pulse
}

ctl.!default {
    type pulse
}

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

pavucontrol

На вкладке "Проигрывание" мы должны увидеть нечто похожее на следующий скриншот

pulse audio

Здесь Вы можете регулировать звук для каждого приложения в отдельности. На вкладке "Конфигурация" следует выбрать один из предоставленных профилей. Поэксперементируйте с ними, возможно Вас устроит какой-то другой профиль, но я остановился на варианте "Analog Stereo Output". Естественно, что профиль должен зависеть от Вашей звуковой системы.

После выбора профиля нужно пройти на вкладку "Устройства ввода" и настроить звук выбранного устройства. В моём случае ни одного устройства не отображалось и я выбрал в нижнем списке "Все устройства ввода", после чего появился один регулятор.

pulse audio

Как и в случае с Mic Boost и Digital при настройке ALSA, уровень громкости устройства ввода может сильно влиять на наличие шумов. Не верный выбор профиля на предыдущем шаге может привести к тому, что при захвате звук будет очень тихим.

Запустите теперь gtk-recordMyDesktop, нажмите на кнопку "Дополнительно" и проследуйте на вкладку "Звук". Впишите в поле "Устройство" слово "default". Если Вы предпочитаете использовать консольную версию, то при запуске следует передать опцию --device=default, например

recordmydesktop --device=default -o video

recordmydesktop

Теперь, запустив запись, в регуляторе громкости PulseAudio можно увидеть уровень записываемого звука нашего приложения на вкладке "Запись".

pulse audio

Ну и в конце, я бы хотел добавить, что теперь в Вашей системе произошли некоторые изменения, которые Вы сможите заметить в привычных утилитах. Например, KMix (в KDE >= 4.4) теперь содержит регуляторы для каждого приложения и alsamixer стала другой.

alsamixer

Теперь, чтобы переключиться на запись звука с микрофона, достаточно изменить устройство захвата на вкладке "Устройство ввода". Мне для этого пришлось сменить профиль на "Analog Stereo Duplex".






Возможно, эти материалы Вас заинтересуют:


Рекомендовать эту страницу:

Комментарии:(11)

# 22vlad22 April 23, 2011, 10:33 p.m.
Xvidcap звук записывает. Просто по умолчанию там стоит запись в mp3 и звука "нет", но если поставить вместо mp3 PCM16, то звук отлично записывается

# maxpostal July 9, 2011, 4:48 p.m.
Спасибо огромное! То что нужно!

# meofka Sept. 11, 2011, 11:56 p.m.
Спасибо большое за статью! Очень подробно и о нужном.

# Dr House Nov. 13, 2011, 7:43 p.m.
Спасибо, помогло в генте с этим gtk-recordmydesktop! Большой респект тебе автор! Неделю решал проблему оказалось все просто.

# LuX Jan. 8, 2012, 11:44 a.m.
А где можно скачать эту програмку

# bdfy Dec. 20, 2012, 3:48 p.m.
Всё ничего,но картинка скачет. и как поправить? хз.

# Anatoliy March 21, 2013, 4:57 p.m.
На сколько я понял,здесь речь идёт оберацинной системе LINOX. Это тоже интересно, но я бы хотел найти приличную прогу, для записи выбранного участка не дисплее, которая могла бы работать с Windows 8. Может кто-то знает - откуда можно было бы скачать с регистрационным ключём программу MOVAVI ?

# Вася April 27, 2013, 5:06 p.m.
Виндузятник, ты адресом ошибся

# Виктор July 28, 2013, 8:37 a.m.
Спасибо огромное! Большой респект Автору, помогло в Kali Linux только не нашёл файл ~/.asoundrc !

# Олег Aug. 20, 2013, 7:15 a.m.
Под виндой Wink мне очень понравился. Одна запись по событиям (нажатия клавишь, прокрутка) чего стоит. Но для Линукса, похоже, версия не столь функциональна… жаль.

# дока Aug. 28, 2013, 11:45 p.m.
SimpleScreenRecorder записывает видео и звук с микрофона (ALSA) или колонок (PulseAudio). Хотелось бы без PulseAudio обойтись. Никак?

Комментировать:

Гость, Вы можете оставить свой комментарий.

Стиль кода:
Имя
Сайт * не обязательное поле
Поставьте галку, если вы - бот
Поставьте галку, если вы - человек

Друзья! Убедительная просьба воздержаться от нецензурной лексики!



Справка:
Если вы хотите использовать в тексте комментария специальные символы, например, [ и ], используйте их внутри тега [code] [/code]
Вы можете использовать теги BBcode. Для оформления кода и подсветки синтаксиса используйте тег [code] или [code=название_языка], например, [code=python]
Ссылки вставляйте так: [url]zenux.ru[/url] или так: http://zenux.ru, но не так: zenux.ru
Текст сообщения должен быть в пределах 3000 символов.




Последние комментарии:

Eugene: Галка, внешний вид изменить совершенно не сложно.... >>>
Галка: А сильно сложно Убунту переделывать?... >>>
Brainsburn_: “Написание в 1-й” подразумевает “в первой”, а не в... >>>
ZZZ: “Написание в 1-й” подразумевает &ldquo... >>>
SBOdin: Спасибо за полезное руководство... >>>