среда, 28 сентября 2011 г.

Запись видео с экрана в линукс 2

http://www.flightgear.ru/wiki/index.php/%D0%97%D0%B0%D0%BF%D0%B8%D1%81%D1%8C_%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE_%D0%B2_Ubuntu

Запись видео в Ubuntu

Материал из FlightGear

Перейти к: навигация, поиск
Возможно, кому то будет кстати инструкция по записи видео FlightGear.
Реализовано в Ubuntu Interpid. В других дистрибутивах принцип тот же.

Путь первый, простой.

1) Установить пакет gtk-recordMyDesktop или KrecordMyDesktop через обычную установку.
2) Запустить RecordMyDesktop, запустить FlightGear.
3) Выделить в RecordMyDesktop область экрана FlightGear, выбрать режим записи "записывать каждый кадр", выбрать качество записи видео и звука около тридцати процентов.
4) Сделать полёт, выбрать режим Instant replay, выбрать нужное время, запустить реплэй, начать запись, записать, остановить запись, выйти из реплея двойным нажатием на кнопку "p", сохранить запись в файл.
5) Выложить запись на ютуб, показать другим.
Минсы подхода: тихий звук, виден курсор. Тихий звук можно поднять манипуляциями с разными редакторами. Курсор можно убрать параметром --disable-mouse-pointer, но при изменении положения камеры мышкой он возникает всё равно.

Путь второй, относительно сложный.

1) Установить пакеты
captury mencoder capseo oggconvert
через Synaptic. Оггконверт может быть впоследствии использован для перевода финального результата в свободный формат.
2) Установить PulseAudio Device Chooser, PulseAudio Volume Control, PulseAudio Volume Meter (Playback), PulseAudio Volume Meter (Capture), PulseAudio Manager, Jack Control через стандартную установку, или
paman pavumeter padevchooser paprefs pavucontrol
через Synaptic или apt-get
Запустить PulseAudio Device Chooser. Добавить padevchooser в автозапуск через Сеансы.
3) Установить любую программу редактирования видео, умеющую добавлять аудиодорожку.
Список теоретически доступных программ редактирования видео http://freshmeat.net/browse/256/
Kdenlive может быть установлен прямо из репозитория. Чтобы этот кдешный пакет нормально действовал в обычной Ubuntu, нужно доставить пакеты kdebase-runtime и kdebase-runtime-dbg, которые отсутствют по умолчанию, и запускать kdenlive из командной строки. Он подглюкивает, но понимает видео в ogv и аудио в вавах. В принципе, этого достаточно.
Доступны Blender и OpenVideoEditor. Blender слишком сложен. Вот тут описано, как им редактировать видео: http://straightedgelinux.com/videoBlender/
OpenVideoEditor был бы в самый раз, но глючит и трещит.
Пакеты Avidemux, Pitivi, Kino подходят мало.
Cinelerra доступна через сторонний репозиторий и пакет http://akirad.cinelerra.org/pool/addakirad.deb, затем sudo apt-get install cinelerra, но глючит. Можно скомпилировать из исходников, но нужно будет много менять, поскольку выложенная версия сделана под старый gcc.
В доступной из репозитория версии Lives проблемы с мультитраком, лучше скомпилировать Lives из исходников http://www.xs4all.nl/%7Esalsaman/lives/current/LiVES-0.9.9.5.tar.gz. Скомпилированный Lives делает как надо.
Для компиляции нужны установленные пакеты
mplayer imagemagick perl perl-base libperl libperl-dev libjpeg62 libjpeg62-dbg libjpeg62-dev 
libgdk-pixbuf-dev gtk2-engines-pixbuf sox libsox-dev libsox-fmt-all transcode mencoder
libmjpegtools-dev cdda2wav libavcodec-dev libtheora-dev libavutil-dev ffmpeg-dbg
ещё gtk+, который обычно уже стоит
libgtk2.0-0 libgtk2.0-0-dbg libgtk2.0-bin libgtk2.0-common libgtk2.0-dev
если возникают проблемы с configure, искать правильные названия пакетов здесь http://packages.ubuntu.com
При стандартной компиляции в опт
./configure --prefix=/opt/Lives
make
sudo make install
для запуска можно сделать скрипт /opt/Lives/bin/lives.sh, содержащий строки
export LD_LIBRARY_PATH=/opt/Lives/lib:$LD_LIBRARY_PATH
export PATH=/opt/Lives/bin:$PATH
/opt/Lives/bin/lives $*
дать ему права на запуск
sudo chmod 755 '/opt/Lives/bin/lives.sh'
и запускать
'/opt/Lives/bin/lives.sh'
4) Установить Audacity через обычную установку.
5) Записать файл полёта FlightGear
путь_к_fgfs/fgfs --обычные_параметры_запуска --generic=file,out,25,имя_записываемого_файла,playback
Пример:
/opt/FlightGear/fgfs/bin/fgfs.sh --aircraft=f-14b --generic=file,out,25,testflight,playback
В конце полёта можно выключить меню кнопкой F10, тогда при следующей загружке оно будет скрыто.
6) Сделать видео из записанного файла полёта, управляя камерой
captury --output-dir=./ -- путь_к_fgfs/fgfs --fg-root=путь_к_папке_data_FlightGear
--fg-scenery=путь_к_папке_Scenery_FlightGear/Scenery --обычные_параметры_запуска_FlightGear
--geometry=480x360 --generic=file,in,25,имя_записанного_файла,playback --fdm=external</tt>
В момент начала экспортируемого момента нажать F12, по завершении момента выйти из FlightGear по esc. Без нажатия F12 можно обойтись, если добавить параметр --auto-capture.
Пример:
captury --auto-capture --output-dir=./ /opt/FlightGear/fgfs/bin/fgfs.sh -- --fg-root=/opt/FlightGear
fgfs/share/FlightGear --fg-scenery=/opt/FlightGear/fgfs/share/FlightGear/data/Scenery
--aircraft=f-14b --geometry=480x360 --generic=file,in,25,testflight,playback --fdm=external
Происходит запись того, что на экране, поэтому переключение видов и смену положения камеры лучше продумать заранее. Ещё хорошо заранее пощёлкать виды, чтобы избежать обычного для FlightGear лага подгрузки.
7) Если нужно записать видео со звуком, следует либо до запуска, либо после полной загрузки fgfs запустить приложение "звукозапись", к примеру, gnome-sound-recorder и начать запись, затем нажать на трейную иконку PulseAudio Device Chooser, выбрать Volume control. Открыть вкладку Recording, нажать правой кнопкой на поток gnome-sound-recorder, выбрать Move Stream и перевести поток с Alsa PCM на Monitor Source of Alsa PCM. В результате, вместо записи микрофонного входа происходит запись вывода всех аудио приложений, включая и FlightGear.
Запись звука лучше завершить до выхода из FlightGear, иначе может глючнуть.
8) Переконвертировать записанный видео файл из формата cps в формат avi
cpsrecode -i имя_полученного_файла_вида_fgfs_дата.cps -o - | mencoder -o flight.avi -ovc lavc -
9) Открыть аудиодорожку в Audacity, нормализовать, сохранить в желаемый видеоредактором формат.
10) Открыть файл и аудиодорожку в редакторе видео, совместить, отрезать лишнее, добавить титры, экспортировать. В Lives экспорт менкодером в ави точно возможен.
11) Закачать файл на ютуб и показать другим.
Как обычно, истина где то посередине.
http://ru.youtube.com/watch?v=Ca94WyZKR-A

Запись видео с экрана в линукс

http://help.ubuntu.ru/wiki/%D0%B7%D0%B0%D0%BF%D0%B8%D1%81%D1%8C_%D1%81%D0%BA%D1%80%D0%B8%D0%BD%D0%BA%D0%B0%D1%81%D1%82%D0%BE%D0%B2


Русскоязычная документация Wiki раздел

Запись скринкастов

Запись скринкастов

Скринкаст (screencast) — цифровая видео- и аудиозапись, производимая непосредственно с экрана компьютера, так же известная как video screen capture (досл. видеозахват экрана). (Wikipedia)

Общие замечания и рекомендации

Запись с экрана монитора, как и любая другая видеозапись требует обработки очень большого объёма информации и требует больших ресурсов от всех подсистем компьютера, а именно:
  • Изображение, выводимое на монитор, формируется в связке видеокарта+драйвер: работающее аппаратное ускорение графики 2D и 3D очень сильно поможет в процессе захвата изображения. Должны быть установлены и правильно функционировать драйвера для видео.
  • Данные первоначально копируются в оперативную память для предварительной обработки. Чем больше ваше рабочее разрешение монитора (или записываемая область экрана), чем большее число кадров в единицу времени вы хотите получить - тем больше памяти будет использовано. Закройте все неиспользуемые приложения и остановите ненужные сервисы перед записью скринкаста.
  • Обработка данных производится процессором: изображения, полученные с экрана анализируются/перекодируются… Хороший, многоядерный процессор будет очень к стати. Запись скринкаста с одноядерным процессором будет очень затруднительна. И да, ещё не говорилось, что надо завершить работу ненужных в процессе записи скринкаста программ? Они тоже используют процессор и будут мешать.
  • Некоторые программы позволяют производить запись без сжатия-кодирования видео (или с неким специальным «быстрым» сжатием). Обычно подобные режимы очень существенно экономят мощность процессора, которая может потребоваться программам, которые вы собираетесь демонстрировать.
  • Но при этом объем выходных данных становится существенно (в разы или десятки раз) больше, чем при кодировании в реальном времени. Обычно это сильно нагружает дисковую подсистему ПК, что может быть также проблематично, если на используемом для записи диске у вас мало места, сам диск работает медленно или это сетевой диск.
  • Кроме того, надо заметить, что режим без кодирования потребует последующей обязательной постобработки видео прежде, чем оно будет готово для дальнейшего использования вами. Компьютеру может быть и всё равно, но время - тоже ресурс.
  • Если вы записываете экран удалённой системы (да, это тоже возможно с использованием протоколов VNC, RDP или NX) - есть вероятность проблем в сетевой подсистеме и надо удостовериться в надёжной работе соединения (в идеале это локальная сеть, т.е. быстрое прямое соединение).
  • Во время записи видео с экрана обычно можно записать также и аудио комментарии. Это полезная функция многих программ, но при нехватке ресурсов эту возможность лучше отключить. Можно заранее написать план/текст и проговаривать во время записи видео, а затем записать голос отдельно, без суеты и запинок. Можно воспользоваться диктофоном или мобильным телефоном для записи или вторым компьютером/ноутбуком/нетбуком. Звуковую дорожку в последствии легко можно наложить на видео, добавив, например, музыку или эффекты.
  • Проверьте, как всё будет работать, проведя короткую тестовую запись в процессе работы именно того приложения, которое вы будете записывать. Многие игры могут не оставить программе записи ни одного байта памяти или цикла процессора…
  • Попробуйте различные режимы работы как записываемых программ, так и программы снятия скринкаста. Сравните результирующие ролики на стабильность и качество видео.
  • Если нет жестких требований, то при недостаточной производительности системы лучше ограничьте записываемую область экрана или уменьшите разрешение экрана.
  • Для большинства случаев вполне приемлема частота записи кадров видео от 10 до 15. Не следует гнаться за числами FPS 24, 25, 30 или 60.
  • Выбирая формат и качество записываемого видео старайтесь придерживаться стороны качества картинки - некоторые кодеки сильно искажают цветопередачу, большие однотонные пространства или резкие переходы цвета (что характерно для изображения интерфейсов компьютерных программ). Сделайте предварительные тесты и оцените заранее.
  • Возможно, в вашем случае поможет отключение 3D-эффектов рабочего стола и установка однотонной картинки рабочего стола?
  • Придумайте, а лучше запишите план скринкаста на листочек. Попробуйте проделать все требуемые операции без записи. Экспромт - хорошо, но готовиться тоже полезно.

Программы записи рабочего стола Ubuntu

Данные программы протестированы на Ubuntu 10.04 Lucid Lynx.
Ни одна из программ не отображает клики мыши или нажатия клавиш на клавиатуре!

Kazam

sudo add-apt-repository ppa:and471/kazam-daily-stable
sudo apt-get update
sudo apt-get install kazam

Istanbul

Есть в репозитории. Честно пытается работать, но у неё почти не получается. При записи небольшого фрагмента экрана запись вполне приличного качества. Файл остаётся во временной папке /tmp со случайным именем, так как программа аварийно завершает работу после процесса записи/кодирования. Или зависает и значок записи остаётся в системном трее до снятия процесса вручную.
GUI. ?Постобработка? Трей. 3D.

XVidCap

Есть в репозитории. Одна из самых популярных программ. Позволяет записывать и кодировать в режиме реального времени в различные форматы. Удобный выбор области захвата. Однако при большой области захвата или при выборе полного экрана требует больших ресурсов процессора и с трудом выдерживает 10 fps, выставленные по умолчанию. Периодически аварийно завершает работу, например при неправильном выборе параметров кодирования или по другим причинам.
GUI. Командная строка. Нет постобработки. Авто 3D. Следование за мышью.

[Gtk-]RecordMyDesktop

Есть в репозитории. Тоже одна из самых популярных программ для скринкастинга. Если вкратце - просто работает. Настройки по умолчанию вполне позволяют записывать полный экран и получать хорошее качество, так как применяется постобработка и использование процессора при записи меньше. К сожалению формат вывода - не изменяемый OGG Theora, что с одной стороны хорошо - не требуется устанавливать дополнительных кодеков ни для записи, ни для воспроизведения, но с другой стороны это не самый оптимальный формат.
Кроме того в 10.04 в настоящее время, в связи с переходом на новую версию кодека Theora, различные мультимедийные программы имеют проблемы с видеофайлами OGG. Стандартный Totem вполне хорошо проигрывает получаемое видео, Vlc - с трудом, а утилита Ffmpeg из репозиториев практически непригодна для конвертации видео из этого формата. И самое печальное, что Kdenlive, имеющий функцию записи скринкастов и использующий для этого консольную версию RecordMyDesktop, также не в состоянии правильно декодировать полученное видео. И даже встроенный редактор видео PiTiVi имеет проблемы при работе и кодировании файлов с видеокодеком Theora.
Тем не менее, Gtk-RecordMyDesktop можно считать лучшим выбором, чтобы начать самостоятельно записывать скринкасты.
GUI. Командная строка. Трей. Постобработка. Авто 3D. Следование за мышью.

VLC

FIXME
Командная строка. Всё под управлением пользователя.

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
* файл сохранится в домашнюю директорию
Контейнер .mov выбран не случайно, он поддерживает сохранение кадров без перекодирования, что снизит нагрузку на ЦП при записи скринкаста.
Так как мы сохраняем без сжатия, конечный файл будет довольно большой. Следите за тем, чтобы на разделе куда будет сохранятся файл было достаточно места.
Ключ Описание
-f x11grab источник сигнала
-i :0.0 экран X-сервера / номер монитора
-s 1280×800 захватываемое разрешение экрана1)
-r 25 количество кадров в секунду
screencast.mov выходной файл
  • Теперь можно сжать в нужный формат, к примеру flv, так как качество все равно будет невысокое:
ffmpeg -i screencast.mov screencast.flv
Источник


среда, 21 сентября 2011 г.

yakuake для Scintific Linux

Нужно сначала установить КДЕ (зависимости) :-) и до кучи (т.к. нравится эта программа) k3b
yum install k3b kdebase4

Затем ручками качаем и устанавливаем yakuake из Федоры 12 (13), т.к. из более новой Федоры не подходит по зависимостям (хочет более новое КДЕ, чем есть в Scintific Linux):
http://mirror.yandex.ru/fedora/linux/releases/13/Everything/x86_64/os/Packages/yakuake-2.9.6-2.fc12.x86_64.rpm

transmission для Scintific Linux

Подключаем репозиторий от Федоры 12, репо-файл примерно такой:

[updates]
name=Fedora 12 - $basearch - Updates
failovermethod=priority
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=updates-released-f12&arch=$basearch
enabled=1
gpgcheck=0

Затем незабываем отключить репозиторий.
Версия трансмиссион 1.93 - довольно старая, но работает (попозже попробую поставить из более свежей федоры).

Как один из кашерных вариантов можно рассмотреть установку трансмиссион-демона, материалы по этому вопросу встречаются в сети.
http://ras.pl.ua/install_and_configure_transmission-daemon_in_centos_6
Нужно попозжее заняться этим вопросом, т.к. там вроде есть уже скомпиленные пакеты и не только демона.

moc для Scintific Linux

Нравится мне консольный плеер moc (запускается командой mocp). Для его установки подключил репозиторий от RFRemix 12, содержание репо-файла примерно такое:

[russianfedora-free]
name=Russian Fedora for Fedora 12 - Free
mirrorlist=http://mirrors.rfremix.ru/mirrorlist?repo=free-fedora-12&arch=$basearch
enabled=1
gpgcheck=0

[russianfedora-free-updates]
name=Russian Fedora for Fedora 12 - Free - Updates
mirrorlist=http://mirrors.rfremix.ru/mirrorlist?repo=free-fedora-updates-released-12&arch=$basearch
enabled=1
gpgcheck=0
После установки плеера, репозиторий нужно отключить.

Долбаная игрушка )))

Если хочется поиграть в что-то более или менее путёвое, не устанавливая в систему лишнего (акромя браузера и флеш-плеера), то можно погонять в 3Д танчики.

http://tankionline.com/ru/

Скайп и флеш для Scintific Linux (+ teamviewer6)

Тупо скачал их из репозиториев от RFRemix 15 и установил.
Конкретней, качал отсюда http://mirror.yandex.ru/fedora/russianfedora/russianfedora/nonfree/fedora/updates/15/x86_64/

Со скайпом в Гноме вышел конфуз - сразу после запуска вылетает (в консоли выдаёт "Аварийный останов"), в КДЕ и АйсВМ работает нормально, в чём причина не разобрался.

Чтобы не париться с зависимостями можно подключить этот репозиторий.
Текст репо-файла примерно такой:

[russianfedora-nonfree]
name=Russian Fedora for Fedora 15 - Nonfree
baseurl=http://mirror.yandex.ru/fedora/russianfedora/russianfedora/nonfree/fedora/releases/15/Everything/$basearch/os
enabled=1
gpgcheck=0

[russianfedora-nonfree-updates]
name=Russian Fedora for Fedora 15 - Nonfree - Updates
baseurl=http://mirror.yandex.ru/fedora/russianfedora/russianfedora/nonfree/fedora/updates/15/$basearch
enabled=1
gpgcheck=0

Кстати, после установки скайпа можно установить Teamviewer6, т.к. скайп вытягиват примерно теже зависимости, кроме одной (т.к. у меня 64 разрядная система, то пришлось вручную установить 32 разрядный пакет  libXtst, скачав его из репозитория вручную примерно по этому адресу ftp://ftp.scientificlinux.org/linux/scientific/6.0/i386/os/Packages/libXtst-1.0.99.2-3.el6.i686.rpm)

Важно, после установки скайпа и флеша лучше отключить эти репозитории для избежания конфликта пакетов.

Репозитории для Scintific Linux

Что бы было более или мене нормально жить в Scintific Linux, добавляем репозитории от Красной шапки (СентОС).
Смотрим тут http://centos.alt.ru/?p=18


Мне пригодились два: Epel и RPMForge, качаем и устанавливаем следующие пакеты (я качаю Файрфоксом, а устанавливаю через МС)
 
http://download.fedora.redhat.com/pub/epel/6/x86_64/epel-release-6-5.noarch.rpm

http://apt.sw.be/redhat/el6/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm
Соответственно для 32 разрядной системы смотрим чуток в другом месте.

Звук в Федоре и т.д.

Не знаю почему, но у меня после включения компа звук практически выключен. Причина тому уровень 0 на канале "Master Front". Каждый раз подымать вручную его через alsamixer не кошерно, поэтому добавил в /etc/rc.d/rc.local такую строчку

amixer sset -c 0 "Master Front" 100%+