Эта программа позволяет «записывать» ваш рабочий стол или даже транслировать его!
Он включает в себя некоторые помощники «записывать снимки экрана/транслировать их» и утилиты настройки. Он также включает в себя помощник (виртуальный аудиозахватчик) для записи «того, что вы слышите/видите на своем рабочем столе» для системы Vista+.
Чтобы использовать их, вам сначала понадобится/потребуется Java JRE, установленная в вашей системе. Установите с java.com, если он у вас не установлен.
Он также включает в себя бесплатный универсальный фильтр DirectShow для захвата исходного кода рабочего стола/экрана с открытым исходным кодом.
Вы можете использовать это с любой программой (совместимой с DirectShow) для захвата или потоковой передачи, например VLC и т. д.
См. также файл ChangeLog.txt для получения списка изменений в последних версиях.
Загрузите установщик и запустите его из
https://github.com/rdp/screen-capture-recorder-to-video-windows-free/releases
Он также включает устройство фильтра захвата источника DirectShow для записи «того, что вы слышите» в Windows 7/Vista — на любой звуковой карте! см. https://github.com/rdp/virtual-audio-capture-grabber-device для получения информации и устранения неполадок этого устройства захвата звука.
Используйте некоторые вспомогательные программы, доступные в меню «Пуск» → «Программы» → «Захват экрана» → «запись рабочего стола[/broadcast/XXX».
Или используйте любую стороннюю программу, которая может читать данные с устройства захвата Directshow (например, VLC/FFmpeg).
Пример VLC: http://betterlogic.com/roger/2010/07/how-to-use-vlc-as-a-free-open-source-alternative-to-playon-tv
пример ffmpeg:
$ ffplay -f dshow -i video="устройство записи экрана-захвата"
или
$ ffmpeg -f dshow -i video="screen-capture-recorder" -r 20 -t 10 screen-capture.mp4 # -t 10 для записи в течение 10 секунд
или объедините это с записью звука «то, что вы слышите» [vista/windows 7] (в этом примере используется ffmpeg):
$ ffmpeg -f dshow -i audio="virtual-audio-capturer":video="screen-capture-recorder" yo.mp4
Также обратите внимание, что ffmpeg имеет встроенную опцию ввода «gdigrab», которую вы также можете использовать вместо устройства записи снимков экрана.
Имя аудиоустройства также может быть любым другим аудиоустройством dshow.
Avisynth также работает с ним. Добавьте его в граф фильтра с помощью Graphedit, затем используйте DirectShowSource в качестве источника входных данных с указанным именем файла Graphedit.
gstreamer тоже работает, например:
$ gst-launch.exe dshowvideosrc имя-устройства=устройство записи захвата экрана ! ffmpegцветовое пространство! прямая вытяжка
Я даже случайно использовал Skype, думая, что это моя веб-камера. Дайте мне знать, если вам нужен более простой способ для чего-либо.
По умолчанию он захватывает «полноэкранный режим» основного монитора рабочего стола (все окна, перекрывающиеся оттуда, с аэро, если Vista+, без прозрачных окон, если не аэро).
Чтобы настроить его по-другому, запустите предоставленные «утилиты/ярлыки настройки конфигурации» или настройте параметры реестра перед запуском (только для опытных пользователей):
HKEY_CURRENT_USERSoftwareскрин-захват-рекордер
с ключами DWORD, относящимися к start_XXX и т. д. (полный список доступных значений ключей реестра см. во включенном файле {installdir}configuration_setup_utilitysetup_screen_tracker_params.rb или см. https://github.com/rdp/screen-capture-recorder-to-video-windows-free/blob/master/configuration_setup_utility/setup_screen_tracker_params.rb#L9)
пример: см. файл Configuration_setup_utilityincoming.reg (хотя обратите внимание, что эти значения указаны в шестнадцатеричном формате, поэтому редактирование этого файла немного утомительно - я всегда просто использую regedit или сопутствующие утилиты сценариев и не редактирую его вручную).
Чтобы «сбросить» значение, удалите его ключ.
ИЛИ
создайте файл с таким именем: %APPDATA%ScreenCaptureRecorder.ini
с таким содержимым все находится в разделе «all_settings»
your_first_setting=1 your_ Second_setting=100 …
По умолчанию он сначала читает реестр, и если он не находит там что-то установленное, он ищет файл .ini.
Запустите утилиту «Оцените скорость захвата», чтобы узнать, насколько медленно может захватывать ваша система.
Если вы используете Vista+, отключите диспетчер дисплея Aero (особенно, если у вас два монитора, это может помочь). http://www.howtogeek.com/howto/windows-vista/disable-aero-on-windows-vista
Он захватывает гораздо быстрее, если аэродинамика отключена (как и в случае с аэро, захват окна размером 650x976 занимает 50 мс, без аэродинамики — 3 мс.
Остальная часть одного скриншота занимает около 7 мс (в сумме 10 мс без аэродинамики), так что вы можете увидеть относительные затраты, которые это добавляет [!].
Также есть параметр реестра, позволяющий отключать его «автоматически».
Мне удалось получить максимум 15 кадров в секунду при съемке аэродинамики [напишите мне, если хотите, чтобы я немного улучшил это, у меня есть несколько идей…].
Отключение или включение «аппаратного ускорения» для рабочего стола также может помочь или установка его на одну ступень выше нуля.
Попробуйте переключиться с 32-битного на 24-битный или 16-битный ввод (из этого) и/или переключить глубину самого рабочего стола — или и то, и другое! Самый быстрый — 16-битный дисплей с записью в 16-битном режиме — 400 кадров в секунду, ого!).
Убедитесь, что у вас достаточно оперативной памяти (известно, что виртуальный бокс занимает ее, не сообщая вам). Также отключите аэро, если это возможно.
Обратите внимание, что если ваш вывод, скажем, будет «фактически использован» со скоростью 10 кадров в секунду, например: $ ffmpeg -f dshow -i video=video-capture-recorder -r 10 yo.mp4 -r 10 # выходной файл всего 10 кадров в секунду
Затем, чтобы сэкономить процессор, «хорошее» приложение также укажет «исходному fps» значение 10 кадров в секунду $ ffmpeg -framerate 10 -f dshow -i video=video-capture-recorder -r 10 yo.mp4 # вход и выход установить на 10
объяснение того, почему здесь «частота кадров», а не «-r», см. https://trac.ffmpeg.org/wiki/DirectShow#Specifyinginputframerate.
что они переходят на этот фильтр, и все получают 10 кадров в секунду и, надеюсь, довольны, а процессор сохранен. например: vlc.exe dshow:// … :dshow-fps=10 vlc затем передает это в SetFormat после согласования, и устройство принимает его и передает вам со скоростью 10 кадров в секунду.
Некоторые «плохие» приложения DirectShow не передают этот параметр. Большинство может. Таким образом, может быть случай, когда он каким-то образом тратит процессор, захватывая слишком много или тому подобное. Поэтому для этих программ вам нужно установить параметр максимального количества кадров в секунду, который ограничит частоту захвата.
Установка максимального значения fps выше 30 также позволяет получить значение fps выше 30 (максимум по умолчанию). Он «включает» их, устанавливая более высокий максимальный уровень по умолчанию. Я не думал, что люди обычно заботятся о них или хотят их, вот и все.
Обратите внимание: чтобы использовать его в качестве входной камеры Skype, вам необходимо указать, что это достаточно небольшой захват, см. http://betterlogic.com/roger/2012/04/skype-directshow-device-just-shows-circles- для предварительного просмотра/
Известное ограничение, попробуйте эту тему: https://groups.google.com/forum/#!topic/roger-projects/uxmGV_vW4iY [или заплатите мне немного денег, и я создам интерфейс для превосходного проекта OBS, предоставить эту функциональность]
Другие отзывы/проблемы/вопросы пишите мне на адрес [email protected] или просмотрите список рассылки: http://groups.google.com/group/roger-projects Или отправьте сообщение нашему uservoice: http://rdp.uservoice. ком
Вы можете перераспределить это. См. файл LICENSE.TXT. Если вы это сделаете, вам, возможно, просто потребуется распространить, например, файл PushDesktop.dll. Если да, вам необходимо зарегистрировать это устройство, зарегистрировав его dll (например, $ regsvr32 PushDesktop.dll — могут потребоваться права администратора) как часть вашего установить. Также обратите внимание, что конечным пользователям также необходим ранее установленный распространяемый файл MSVC 2010 (или вам необходимо сделать его доступным в том же каталоге, что и ваш exe), чтобы dll работала/устанавливалась, в случае, если конечные пользователи не установили его). Если вы измените его и перераспределите, возможно, вы захотите изменить GUID, чтобы он не конфликтовал, если кто-то также установит это программное обеспечение. См. также № 17.
Код аккуратно основан или взят из («вдохновлен») этого из Windows 7.1 SDK….Microsoft SDKsWindowsv7.1Samplesmultimediadirectshowfilterspushsource, а также некоторых других демонстраций dshow. по сети (виртуальный захват tmhare). поэтому вам, вероятно, захочется установить Windows SDK, прежде чем возиться с исходным кодом. Чтобы взломать код, создайте базовые классы Directshow Windows SDK, затем откройте source_code/*.vcxproj в Visual Studio 2010 Express. Это предназначено для предоставления «фильтра прямого показа», который вы можете использовать в своем графике, а не для демонстрации того, как создавать графики. Он выводит файл .dll, который вы «регистрируете» через (в консоли администратора) $ regsvr32 XXX.dll (и отменяете регистрацию, когда закончите с regsvr32 /u XXX.dll). Также есть несколько сценариев для установки значений реестра (написанных в настоящее время в Ruby/jruby для графического интерфейса), но вам не нужно настраивать их, чтобы возиться с самим фильтром.
Я могу добавить функции по разумному требованию.
По сути, вам нужна функция, свяжитесь со мной, она у вас есть.
Чтобы собрать его локально, установите VS Express 2010, установите Microsoft SDK, откройте эквивалент Program FilesMicrosoft SDKsWindowsv7.1Samplesmultimediadirectshowbaseclassesbaseclasses.sln, создайте его (отладку), теперь добавьте в вашу локальную сборку (свойства проекта из исходного_кодаpushdesktop.sln) настройте каталоги VC++ (Include/Library), чтобы указать на различные каталоги базовых классов.
Прилагаемая утилита проверки скорости изначально была взята с http://stereopsis.com/blttest (как мне сказали, Bitblt сильно зависит от оборудования, поэтому хорошо иметь возможность проверить ее скорость).
Также включены двоичные файлы FFmpeg. Подробную информацию о лицензировании/источник см. на их сайте: http://ffmpeg.org.
http://obsproject.com имеет открытый исходный код, не использует FFmpeg, но может вам подойти. Может даже захватить DirectX woot. http://www.ffsplit.com не имеет открытого исходного кода, но захватывает/транслирует рабочий стол с помощью FFmpeg. http://camstudio.org имеет открытый исходный код и бесплатен, но требует от вас просто использовать локальные кодеки, установленные в вашей системе Windows, и имеет некоторые проблемы с удобством использования, поэтому я вообще начал этот проект :)