Debian запись с экрана

Автор alastor, 15 декабря 2012, 21:57:15

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

alastor

Подскажите пакет для записи с экрана, recordmydesktop делает запись, потом при просмотре очень плохо видно,  все в полосках. VLC так и не удалось запустить, в итоге черный экран.  Буду весьма признателен за советы.

Евгений

Цитата: alastor от 15 декабря 2012, 21:57:15...recordmydesktop делает запись, потом при просмотре очень плохо видно,  все в полосках...

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

ZEN

#2
alastor, я для своих нужд написал скрипт, который использует avconv для записи. При запуске требуется кликнуть на окно, с которого хочешь записать видео. Ну или на рабочий стол, что бы записать весь экран. Ранее скрипт использовал ffmpeg, так что если avconv в репозитории не найдется, переделаем под ffmpeg.

Посмотреть на скрипт в действии можно на YouTube. (К слову, видео записано этим же скриптом)
Crimea is Ukraine

Евгений

Цитата: ZEN от 15 декабря 2012, 22:57:08я для своих нужд написал скрипт,
Это очень здорово! А голос пишет? Я студентам показываю и рассказываю что-то - нужен голос.

ZEN

Цитата: Евгений от 15 декабря 2012, 23:03:05
Это очень здорово! А голос пишет? Я студентам показываю и рассказываю что-то - нужен голос.
В моем случае нет, но теоретически можно указал дополнительные флаги для avconv. Раньше с ffmpeg такое делали, но он deprecated и на его замену как раз и создан avconv. С учетом, что большинство параметров идентичны, можно нагуглить или вычитать из ман -а необходимые параметры.
Crimea is Ukraine

Евгений

Цитата: ZEN от 15 декабря 2012, 23:19:55
Цитата: Евгений от 15 декабря 2012, 23:03:05
Это очень здорово! А голос пишет? Я студентам показываю и рассказываю что-то - нужен голос.
В моем случае нет, но теоретически можно указал дополнительные флаги для avconv. Раньше с ffmpeg такое делали, но он deprecated и на его замену как раз и создан avconv. С учетом, что большинство параметров идентичны, можно нагуглить или вычитать из ман -а необходимые параметры.

Пока не соберусь, но запомню. Благодарю за хорошую подсказку!

ZEN

Цитата: Евгений от 16 декабря 2012, 21:42:46
Цитата: ZEN от 15 декабря 2012, 23:19:55
Цитата: Евгений от 15 декабря 2012, 23:03:05
Это очень здорово! А голос пишет? Я студентам показываю и рассказываю что-то - нужен голос.
В моем случае нет, но теоретически можно указал дополнительные флаги для avconv. Раньше с ffmpeg такое делали, но он deprecated и на его замену как раз и создан avconv. С учетом, что большинство параметров идентичны, можно нагуглить или вычитать из ман -а необходимые параметры.

Пока не соберусь, но запомню. Благодарю за хорошую подсказку!

Если не забуду, то попробую в скором времени доработать эту функцию )
Crimea is Ukraine

alastor

ЦитироватьВыберите 25 кадров и полные снимки каждый кадр - будет лучше. Ну и если есть возможность, ограничьте размер экрана минимально необходимым - не всегда весь экран нужен.
Пробовал уже и так, все равно, нормальная запись не получается.
Цитироватья для своих нужд написал скрипт, который использует avconv для записи. При запуске требуется кликнуть на окно, с которого хочешь записать видео. Ну или на рабочий стол, что бы записать весь экран. Ранее скрипт использовал ffmpeg, так что если avconv в репозитории не найдется, переделаем под ffmpeg.
Попробую и этот вариант, но если честно, сразу не понял, как данный скрипт запустить. Разберусь

ZEN

#8
Цитата: alastor от 16 декабря 2012, 22:28:01
Попробую и этот вариант, но если честно, сразу не понял, как данный скрипт запустить. Разберусь

Попробуй открыть терминал и выполнить команду:

cd ; wget -q http://www.linuxhub.ru/download/recwindow.sh ; chmod +x recwindow.sh

таким образом в домашней директории появится скрипт с именем recwindow.sh
далее, установим нужные для работы пакеты:

sudo apt-get install x11-utils libav-tools

После этого в терминале командуем:

~/recwindow.sh

Курсор станет в виде крестика. Левой кнопкой мыши кликаешь на окно, которое хочешь записать на видео. Ну или, как я говорил выше, на рабочий стол что бы весь десктоп записать. С этого момента в терминале побегут буквы и в домашней директории появится файл с расширением mkv. Что бы закончить запись, в терминале с запущенным скриптом нажимаешь Ctrl+C. Вот и вся "инструкция".

P.S. Если на пакет libav-tools будет жаловаться и говорить, что такого нет в репозитории, значит у тебя Debian Squeeze и придется вместо avconv использовать ffmpeg. Для этого открываем в gedit файл recwindow.sh и вместо 55 и 56 строки пробуем вписать:

nice -n 19 ffmpeg -threads 2 -f x11grab -r 8 $ENCODER_OPT -an \
-vcodec copy -vsync 1 -y $(date "+%F-%H-%M-%S").avi
Crimea is Ukraine

vladimir_ar

При запуске появляется крестик, но при щелчке выводит следующее:
Открыть содержимое (спойлер)
vladimir-7@GNU-HOME:~$ ./recwindow.sh
avconv version 0.8.4-6:0.8.4-1, Copyright (c) 2000-2012 the Libav developers
  built on Oct 22 2012 21:36:00 with gcc 4.7.2
[NULL @ 0x1967ae0] Value 4707126720094797824.000000 for parameter 'probesize' out of range
[NULL @ 0x1967ae0] Value 4707126720094797824.000000 for parameter 'analyzeduration' out of range
[NULL @ 0x1967ae0] Value 4697254411347427328.000000 for parameter 'indexmem' out of range
[NULL @ 0x1967ae0] Value 4703785510416416768.000000 for parameter 'rtbufsize' out of range
[NULL @ 0x1967ae0] Value -4616189618054758400.000000 for parameter 'fpsprobesize' out of range
[NULL @ 0x1967ae0] Value 4607182418800017408.000000 for parameter 'f_err_detect' out of range
[NULL @ 0x1967ae0] Value 4607182418800017408.000000 for parameter 'err_detect' out of range
[X11grab indev @ 0x19684e0] Value 4607182418800017408.000000 for parameter 'draw_mouse' out of range
[x11grab @ 0x1967ae0] device: :0.0+176,389 -> display: :0.0 x: 176 y: 389 width: 818 height: 512
[NULL @ 0x197be80] Value 4686111960511545344.000000 for parameter 'b' out of range
[NULL @ 0x197be80] Value 4683532506232782848.000000 for parameter 'ab' out of range
[NULL @ 0x197be80] Value 4705844345939427328.000000 for parameter 'bt' out of range
[NULL @ 0x197be80] Value 4617315517961601024.000000 for parameter 'me_method' out of range
[NULL @ 0x197be80] Value 4622945017495814144.000000 for parameter 'g' out of range
[NULL @ 0x197be80] Value 4611686018427387904.000000 for parameter 'qmin' out of range
[NULL @ 0x197be80] Value 4629418941960159232.000000 for parameter 'qmax' out of range
[NULL @ 0x197be80] Value 4613937818241073152.000000 for parameter 'qdiff' out of range
[NULL @ 0x197be80] Value -4616189618054758400.000000 for parameter 'wpredp' out of range
[NULL @ 0x197be80] Value 4607182418800017408.000000 for parameter 'bug' out of range
[NULL @ 0x197be80] Value 4607182418800017408.000000 for parameter 'er' out of range
[NULL @ 0x197be80] Value 4607182418800017408.000000 for parameter 'err_detect' out of range
[NULL @ 0x197be80] Value 4613937818241073152.000000 for parameter 'ec' out of range
[NULL @ 0x197be80] Value 4620693217682128896.000000 for parameter 'ildctcmp' out of range
[NULL @ 0x197be80] Value 4620693217682128896.000000 for parameter 'subq' out of range
[NULL @ 0x197be80] Value 4696837138094751744.000000 for parameter 'ibias' out of range
[NULL @ 0x197be80] Value 4696837138094751744.000000 for parameter 'pbias' out of range
[NULL @ 0x197be80] Value 4642507528377204736.000000 for parameter 'lmin' out of range
[NULL @ 0x197be80] Value 4660262442142531584.000000 for parameter 'lmax' out of range
[NULL @ 0x197be80] Value 4696130710463840256.000000 for parameter 'flags2' out of range
[NULL @ 0x197be80] Value 4607182418800017408.000000 for parameter 'threads' out of range
[NULL @ 0x197be80] Value 4620693217682128896.000000 for parameter 'nssew' out of range
[NULL @ 0x197be80] Value -4586705114244317184.000000 for parameter 'profile' out of range
[NULL @ 0x197be80] Value -4586705114244317184.000000 for parameter 'level' out of range
[NULL @ 0x197be80] Value 4623507967449235456.000000 for parameter 'skipcmp' out of range
[NULL @ 0x197be80] Value 4642507528377204736.000000 for parameter 'mblmin' out of range
[NULL @ 0x197be80] Value 4660262442142531584.000000 for parameter 'mblmax' out of range
[NULL @ 0x197be80] Value 4643211215818981376.000000 for parameter 'mepc' out of range
[NULL @ 0x197be80] Value 4607182418800017408.000000 for parameter 'bidir_refine' out of range
[NULL @ 0x197be80] Value -4616189618054758400.000000 for parameter 'cqp' out of range
[NULL @ 0x197be80] Value 4627730092099895296.000000 for parameter 'keyint_min' out of range
[NULL @ 0x197be80] Value 4607182418800017408.000000 for parameter 'refs' out of range
[NULL @ 0x197be80] Value -4616189618054758400.000000 for parameter 'directpred' out of range
[NULL @ 0x197be80] Value 4618441417868443648.000000 for parameter 'sc_factor' out of range
[NULL @ 0x197be80] Value 4643211215818981376.000000 for parameter 'mv0_threshold' out of range
[NULL @ 0x197be80] Value 4630826316843712512.000000 for parameter 'b_sensitivity' out of range
[NULL @ 0x197be80] Value -4616189618054758400.000000 for parameter 'compression_level' out of range
[NULL @ 0x197be80] Value -4616189618054758400.000000 for parameter 'min_prediction_order' out of range
[NULL @ 0x197be80] Value -4616189618054758400.000000 for parameter 'max_prediction_order' out of range
[NULL @ 0x197be80] Value -4616189618054758400.000000 for parameter 'prediction_order_method' out of range
[NULL @ 0x197be80] Value -4616189618054758400.000000 for parameter 'min_partition_order' out of range
[NULL @ 0x197be80] Value -4616189618054758400.000000 for parameter 'max_partition_order' out of range
[NULL @ 0x197be80] Value 4607182418800017408.000000 for parameter 'ticks_per_frame' out of range
[NULL @ 0x197be80] Value 4611686018427387904.000000 for parameter 'color_primaries' out of range
[NULL @ 0x197be80] Value 4611686018427387904.000000 for parameter 'color_trc' out of range
[NULL @ 0x197be80] Value 4611686018427387904.000000 for parameter 'colorspace' out of range
[NULL @ 0x197be80] Value -4616189618054758400.000000 for parameter 'aq_mode' out of range
[NULL @ 0x197be80] Value -4616189618054758400.000000 for parameter 'rc_lookahead' out of range
[NULL @ 0x197be80] Value -4616189618054758400.000000 for parameter 'lpc_type' out of range
[NULL @ 0x197be80] Value -4616189618054758400.000000 for parameter 'lpc_passes' out of range
[NULL @ 0x197be80] Value 4613937818241073152.000000 for parameter 'thread_type' out of range
[NULL @ 0x197be80] Value -4616189618054758400.000000 for parameter 'request_sample_fmt' out of range
[x11grab @ 0x1967ae0] shared memory extension found
./recwindow.sh: line 59:  1545 Ошибка сегментирования                   nice -n 19 avconv -f x11grab -framerate 24 -show_region 1 $ENCODER_OPT -threads 2 -q 1 -bt 8000000 -b 8500000 $(date "+%F-%H-%M-%S").mkv
vladimir-7@GNU-HOME:~$
[свернуть]
Debian Testing, kernel 3.16-2-amd64, OpenBox
AMD A8-3750 / 16Gb RAM / ATI HD6550D (onboard) / Sound ASUS Xonar - DS
_______________________________
Debian Testing, kernel 3.14-2-amd64, OpenBox
HP-655 AMD E1 / 8Gb RAM / ATI HD7310M

ZEN

vladimir_ar, похоже, что у тебя присутствует вот этот баг
https://lists.libav.org/pipermail/libav-bugs/2012-October/001795.html
покажи какя у тебя версия libav-tools

apt-cache policy libav-tools
Crimea is Ukraine

qupl

Я бы еще "битность" систем сравнил. Хотя ZEN, наверное, точно знает зависит ли от этого.

ZEN

Я посмотрел man ffmpeg и узнал новенькое - оказывается он тоже умеет рисовать рамку вокруг области записи. vladimir_ar, как я понимаю у тебя тоже Debian Wheezy, попробуй отредактировать скрипт. В строках 55 и 56 замени на этот код:

nice -n 19 ffmpeg -threads 2 -f x11grab -r 8 -show_region 1 $ENCODER_OPT -an \
-vcodec libx264 -preset ultrafast -vsync 1  -b:v -y $(date "+%F-%H-%M-%S").avi
Crimea is Ukraine

vladimir_ar

#13
vladimir-7@GNU-HOME:~$ apt-cache policy libav-tools
libav-tools:
  Установлен: 6:0.8.4-1
  Кандидат:   6:0.8.4-1
  Таблица версий:
*** 6:0.8.4-1 0
        500 http://ftp.debian.org/debian/ wheezy/main amd64 Packages
        100 /var/lib/dpkg/status

vladimir-7@GNU-HOME:~$ uname -a
Linux GNU-HOME 3.6.9 #3 SMP PREEMPT Wed Dec 5 00:55:42 EET 2012 x86_64 GNU/Linux


Сообщение объединено: 17 декабря 2012, 15:39:17

Ха, так при установке libav-tools ffmpeg был благополучно попрошен вон по зависимостям  :)
Debian Testing, kernel 3.16-2-amd64, OpenBox
AMD A8-3750 / 16Gb RAM / ATI HD6550D (onboard) / Sound ASUS Xonar - DS
_______________________________
Debian Testing, kernel 3.14-2-amd64, OpenBox
HP-655 AMD E1 / 8Gb RAM / ATI HD7310M

ZEN

vladimir_ar, забавно, потому что у меня система i686 и установлены как ffmpeg, так и libav-tools :). Ощущение, будто разные мейнтейнеры делали пакеты. Что ж... попробуй удалить libav-tools и установить ffmpeg. До тех пор, пока не исправят баг в avconv, придется довольствоваться ffmpeg. Главное, что бы он заработал :)
Crimea is Ukraine