http://wiki.rosalab.com/ru/index.php?title=%D0%97%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_(%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE_%D1%81_%D1%80%D0%B0%D0%B1%D0%BE%D1%87%D0%B5%D0%B3%D0%BE_%D1%81%D1%82%D0%BE%D0%BB%D0%B0)&feed=atom&action=historyЗапись скринкастов (видео с рабочего стола) - История изменений2024-03-29T08:44:35ZИстория изменений этой страницы в викиMediaWiki 1.26.4http://wiki.rosalab.com/ru/index.php?title=%D0%97%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_(%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE_%D1%81_%D1%80%D0%B0%D0%B1%D0%BE%D1%87%D0%B5%D0%B3%D0%BE_%D1%81%D1%82%D0%BE%D0%BB%D0%B0)&diff=7911&oldid=prevPastorDi в 15:55, 17 декабря 20122012-12-17T15:55:15Z<p></p>
<table class='diff diff-contentalign-left'>
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr style='vertical-align: top;' lang='ru'>
<td colspan='2' style="background-color: white; color:black; text-align: center;">← Предыдущая</td>
<td colspan='2' style="background-color: white; color:black; text-align: center;">Версия 15:55, 17 декабря 2012</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l70" >Строка 70:</td>
<td colspan="2" class="diff-lineno">Строка 70:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>'''-acodec pcm_s16le''' - запись с помощью кодека pcm_s16le без сжатия.</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>'''-acodec pcm_s16le''' - запись с помощью кодека pcm_s16le без сжатия.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>'''-i hw:2,0''' - устройство с которого пойдет запись звука. В данном случае с '''card 2''' и '''device 0''' (запятая между ними обязательна)</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>'''-i hw:2,0''' - устройство с которого пойдет запись звука. В данном случае с '''card 2''' и '''device 0''' <ins class="diffchange diffchange-inline">- это web-камера.</ins>(запятая между ними обязательна)</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>'''screencast.mov''' - название файла в который будет записан скринкаст.</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>'''screencast.mov''' - название файла в который будет записан скринкаст.</div></td></tr>
<tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l102" >Строка 102:</td>
<td colspan="2" class="diff-lineno">Строка 102:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>[[Категория:Тестирование <del class="diffchange diffchange-inline">| </del>HOWTO]]</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>[[Категория:Тестирование<ins class="diffchange diffchange-inline">]]</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins class="diffchange diffchange-inline">[[Категория:</ins>HOWTO]]</div></td></tr>
</table>PastorDihttp://wiki.rosalab.com/ru/index.php?title=%D0%97%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_(%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE_%D1%81_%D1%80%D0%B0%D0%B1%D0%BE%D1%87%D0%B5%D0%B3%D0%BE_%D1%81%D1%82%D0%BE%D0%BB%D0%B0)&diff=7910&oldid=prevPastorDi: Новая страница: «Чтобы записать скринкаст с рабочего стола, есть много графических программ для этого. Но...»2012-12-17T15:48:23Z<p>Новая страница: «Чтобы записать скринкаст с рабочего стола, есть много графических программ для этого. Но...»</p>
<p><b>Новая страница</b></p><div>Чтобы записать скринкаст с рабочего стола, есть много графических программ для этого. Но часто нет возможности их использовать по тем или иным причинам. В этой статье разберем, как можно записать скринкаст из консоли.<br />
<br />
Для этого будетм использовать '''ffmpeg'''.<br />
<br />
'''FFmpeg''' - это кодировщик и конвертер аудио/видео с интерфейсом командной строки и поддержкой большого количества входных и выходных форматов. Список его возможностей и количество опций довольно велико, поэтому попробуем разобраться в некоторых из них.<br />
<br />
= Запись скринкаста без звука =<br />
<br />
Для записи скринкаста будем использовать формат mov. Использование формата mov (QuickTime) без сжатия позволит сэкономить ресурсы процессора во время записи, но сильно скажется на размере конечного файла. В отличии от кодирования "на лету", которое создает файлы гораздо меньшего размера, но сильно нагружает процессор. <br />
<br />
Пример записи скринкаста:<br />
<br />
ffmpeg -r 50 -g 500 -s 1366x768 -f x11grab -i :0.0 -vcodec qtrle screencast.mov<br />
<br />
где:<br />
<br />
'''-f x11grab''' - источник сигнала, в данном случае вывод Х-сервера.<br />
<br />
'''-s 1366x768''' - размер захватываемой области, в данном случае соответствует разрешению монитора.<br />
<br />
'''-r 50''' - количество кадров в секунду.<br />
<br />
'''-g 500''' - каждый 500тый кадр будет ключевой.<br />
<br />
'''-i :0.0''' - экран X-сервера / номер монитора. Дополнительно можно указать смещение захватываемой области (положение верхнего левого угла) по X и Y следующим образом '''-i :0.0+10,20'''<br />
<br />
'''-vcodec qtrle''' - видеокодек QuickTime.<br />
<br />
'''screencast.mov''' - название файла в который будет записан скринкаст.<br />
<br />
Размер захватываемой области вы определяете сами, в зависимости от вашего разрешения монитора.<br />
<br />
Количество кадров в секунду, надо определять опытным путем. У кого-то на компьютере процессор тянет такое количество, а у кого-то притормаживает. Стандартно (и по умолчанию тоже) количество кадров в секунду - 25.<br />
<br />
С ключевыми кадрами тоже надо экспериментировать. Если вы хотите выложить видео с каким-то багом, и не собираетесь в дальнейшем его как-то править в видео редакторах, то достаточно того что в примере. Если есть необходимость в дальнейшей правке видео, то лучше поставить ключевой кадр либо 80, либо 90, либо 100, либо 110. Тоже надо подбирать опытным путем. Но в таком случае размер записываемого файла будет больше.<br />
<br />
= Запись скринкаста со звуком =<br />
<br />
Для записи скринкаста со звуком, надо сначала посмотреть список доступных для записи устройств ALSA.<br />
<br />
Это можно сделать, набрав команду в консоли:<br />
<br />
arecord -l<br />
<br />
У вас должно получиться что-то типа этого:<br />
<br />
<pre><br />
**** List of CAPTURE Hardware Devices ****<br />
card 0: SB [HDA ATI SB], device 0: ALC887-VD Analog [ALC887-VD Analog]<br />
Subdevices: 1/1<br />
Subdevice #0: subdevice #0<br />
card 0: SB [HDA ATI SB], device 2: ALC887-VD Analog [ALC887-VD Analog]<br />
Subdevices: 1/1<br />
Subdevice #0: subdevice #0<br />
card 2: VX2000 [Microsoft® LifeCam VX-2000], device 0: USB Audio [USB Audio]<br />
Subdevices: 1/1<br />
Subdevice #0: subdevice #0<br />
</pre><br />
<br />
В данном примере есть web-камера Microsoft VX-2000 в которой встроен микрофон. И написано: '''card 2:''' далее '''device 0:'''. Запоминаем эти цифры. И пишем следующую команду для записи скринкаста с видео:<br />
<br />
ffmpeg -f alsa -ac 1 -i hw:2,0 -acodec pcm_s16le -f x11grab -s 1366x768 -r 50 -g 500 -i :0.0 -vcodec qtrle screencast.mov<br />
<br />
где:<br />
<br />
'''-f alsa''' - источник сигнала, в данном случае вывод c через аудио сервер.<br />
<br />
'''-ac 1''' - сколько каналов будем записывать.<br />
<br />
'''-acodec pcm_s16le''' - запись с помощью кодека pcm_s16le без сжатия.<br />
<br />
'''-i hw:2,0''' - устройство с которого пойдет запись звука. В данном случае с '''card 2''' и '''device 0''' (запятая между ними обязательна)<br />
<br />
'''screencast.mov''' - название файла в который будет записан скринкаст.<br />
<br />
Стоит отметить один момент. Если вы хотите записать '''стерео''' звук, то в опции '''-ac 1''' надо поменять цифру '''1''' на цифру '''2''', что указывает на 2 канала (стерео)<br />
<br />
<br />
= Перекодирование скринкаста =<br />
<br />
Так как мы использовали в примерах видео и аудио '''без''' сжатия, то некоторым понадобится все же сжать наш большой файл.<br />
<br />
== Кодирование видео без настроек ==<br />
<br />
ffmpeg -i screencast.mov screencast2.avi<br />
<br />
На выходе получим перекодированный файл screencast2.avi. Но учтите, что качество перекодированного видео может быть не совсем приемлемым. Т.к. мы использовали все опции по умолчанию.<br />
<br />
== Кодирование видео с помощью кодека libx264 в формат MKV ==<br />
<br />
ffmpeg -i screencast.mov -vcodec libx264 -vpre slow -crf 22 -threads 0 -acodec libmp3lame -ar 44100 -ab 128k screencast2.mkv<br />
<br />
Чем меньше значение '''-crf''', тем лучше качество и больше размер файла. Наиболее приемлемые примерные пределы от 18 до 28.<br />
<br />
<br />
<br />
== Кодирование видео с помощью кодека Xvid ==<br />
<br />
ffmpeg -i screencast.mov -vcodec libxvid -qscale 8 -me_method full -mbd rd -flags +gmc+qpel+mv4 -trellis 1 -threads 0 -acodec libmp3lame -ab 128k -ac 2 screencast2.avi<br />
<br />
Опция '''-qscale''' отражается на качестве итогового видео. Чем меньше значение, тем выше качество, больше размер видео и дольше кодирование. Значения лежат в пределах от 1 (лучшее качество) до 31 (худшее).<br />
<br />
<br />
[[Категория:Тестирование | HOWTO]]</div>PastorDi