5W site logo 5W - мой домашний сайт-блог с картинками, кино и плюшками.

screencast-linux.txt



Если графический интерфейс не нужен, то следует вместо команды vlc использовать cvlc.

Запись звука с выхода системы требует использования «PulseAudio». Вход аудио, с которого будет вестись запись, можно изменить «на ходу» с помощью «Pulse Audio Volume Control», что требует установки пакета «pavucontrol»

sudo apt-get install pavucontrol

Но, желательно явно указать откуда будет производится захват звука в параметрах запуска «VLC». Сперва необходимо узнать список доступных аудио-входов для записи. Команда

pacmd list-sources | grep "name:"

выведет похожий список

name: <alsa_output.pci-0000_01_00.1.hdmi-stereo.monitor>
name: <alsa_input.usb.analog-mono>
name: <alsa_output.pci-0000_00_14.2.analog-stereo.monitor>

Строчка заключённая в скобки есть название входа для записи. Слово «.monitor» в конце означает, что это интерпретация аудио-выхода как входа, то, что обычно и нужно для скринкаста. Таким образом, если «alsa_output.pci-0000_00_14.2.analog-stereo» это аудио-выход на который системой выводится звуковой сигнал (на него можно вывести сигнал, но не записать с него), то «alsa_output.pci-0000_00_14.2.analog-stereo.monitor» это он же, только доступный для считывания (записи).

С учётом вышесказанного, команда запуска «VLC» может иметь вид

cvlc \
screen:// --screen-fps=25.000000 \
--input-slave=pulse://alsa_output.pci-0000_00_14.2.analog-stereo.monitor \
--live-caching=100 \
--sout "#transcode{vcodec=h264,vb=8000,scale=0.5,acodec=mpga,ab=128,channels=2,samplerate=44100}:file{dst=/tmp/MyScreenCast.mp4}"

Здесь, screen:// – запись видео с экрана; screen-fps – частота кадров; pulse://alsa_output.pci-0000_00_14.2.analog-stereo.monitor – запись аудио с системного выхода; vcodec – видео кодек; vb – битрейт видео; scale – масштабирование изображения; acodec – аудио кодек; ab – битрейт аудио. Более подробную информацию смотрите в документации к «VLC» (ссылки выше).

Завершить запись можно однократным нажатием Ctrl+с в консоли.
Графический интерфейс

Пример как можно делать скринкасты с помощью VLC в графическом интерфейсе.

Запускаем VLC.
Медиа/Открыть устройство захвата (Ctrl+C)
Выбираем режим захвата: Desktop
Желаемая частота кадров (например 16)
Выбираем пункт: Показать дополнительные параметры
(Параллельно можно проигрывать другой медиафайл (Вашу музыку)
Конвертировать (Alt+C)
Адрес: Конечный файл
Жмем: Обзор - Выбираем путь и имя нашего файла в который будет сохранятся видеопоток (Сохранить). В настройках перекодирования можно выбрать желаемый профиль.
Начать.
По окончании записи жмем «Останов».

FFmpeg

Устанавливаем FFmpeg:

sudo apt-get install ffmpeg

Запускаем запись:

ffmpeg -f x11grab -s 1280x800 -r 25 -i :0.0 -vcodec qtrle screencast.mov

Запускаем запись со звуком:

ffmpeg -f alsa -ac 2 -i hw:0,0 -acodec pcm_s16le -f x11grab -s 1280x800 -r 25 -i :0.0 -vcodec qtrle screencast.mov

* файл сохранится в домашнюю директорию

Смотрим так же главу: Видеозахват средствами ffmpeg из русскоязычного мануала по ffmpeg http://help.ubuntu.ru/wiki/ffmpeg

Контейнер .mov выбран не случайно, он поддерживает сохранение кадров без перекодирования, что снизит нагрузку на ЦП при записи скринкаста.

Так как мы сохраняем без сжатия, конечный файл будет довольно большой. Следите за тем, чтобы на разделе куда будет сохранятся файл было достаточно места.

Ключ Описание
-f x11grab источник сигнала
-i :0.0 экран X-сервера / номер монитора
-s 1280×800 захватываемое разрешение экрана1)
-r 25 количество кадров в секунду
screencast.mov имя выходного файла

Теперь можно сжать в нужный формат, к примеру flv, так как качество все равно будет невысокое:

ffmpeg -i screencast.mov screencast.flv

Источник
Запись терминала

Для записи текстовых консольных скринкастов вы можете воспользоваться утилитой shelr.

Shelr можно взять в PPA для Precise:

sudo add-apt-repository ppa:antono/shelr
sudo apt-get update
sudo apt-get install shelr

Или установить самую новую версию через rubygems:

sudo apt-get install rubygems
sudo gem install shelr

Начало записи: shelr record Завершение записи: exit или Ctrl+d Сохранение последней записи: shelr dump last Публикация последней записи: shelr push last

Скринкасты публикуются на одноименном сервисе с возможностью просмотра через браузер или в другом терминале. Для проигрывания в своем терминале:

shelr play http://shelr.tv/records/4f427daf96a5690001000003003.json

Для просмотра в браузере посетите адрес который вернет вам команда shelr push Например вот такой: http://shelr.tv/records/4f427daf96a5690001000003