Любая причина, почему это должно быть инструментом CLI? Вы получаете снимок экрана бесплатно с QuickTime.
igorw
Я хотел бы назвать это в сценарии оболочки и сделать это без присмотра.
Привет Кит, добро пожаловать в StackOverlow. Это не выглядит программированием с первого взгляда, хотя на самом деле это может быть так, если вы планируете записать его в пакетный файл или что-то в этом роде. Возможно, вы захотите перефразировать его, чтобы оно не закрылось из-под контроля.
Брайан Маккей
Ответы:
9
Mac OS X предлагает возможность снимать статические снимки экрана из командной строки, используя утилиту, которая называется невообразимо screencapture. Вы можете найти больше информации, запустив man screencapture.
например. screencapture ~/Desktop/picture.png
Что касается записи движения и компьютерного звука, вы можете сделать это через AppleScript с помощью QuickTime Player X, если вы используете Mac OS X 10.6 или более новую версию. (Однако, это определенно не "тихий" и будет работать только когда кто-то вошел в систему)
(Запись экрана на 5 секунд, просто возможная отправная точка)
tell application "QuickTime Player"
--activate
new screen recording
start document 1
delay 5
stop document 1
save document 1 in file "/tmp/test.mov"
quit
end tell
ScreenCapture позволяет делать только неподвижные изображения, без записи видео или звука.
MacLemon
@MacLemon: добавлены некоторые пояснения.
Chealion
2
К вашему сведению, просто ссылаюсь на сообщение в блоге, которое имеет улучшенную версию для QuickTime Applescript выше: netjunki.org/blog/…
Дэвид
1
Блог @David, о котором упоминается, все еще доступен в кеше Google, и отмечает: «Кажется, что когда вы пытаетесь вызвать save в 10.7, quicktime просто игнорирует вызов. Или что-то в этом роде. Сценарий будет зависать там вечно, а затем время ожидания». Это верно для меня в 10.8 ...
ptim
2
Я использую SOX и VLC для захвата, crontab для планирования, XLD для создания m4a и MP4Box для мультиплексирования. Он довольно гибкий, но требует знания сценариев Bash (возможно, также сценария Apple). Я нашел свое вдохновение в сценарии Диего Массанти mkmp4.
Вы можете получить представление о том, что делает сценарий: запись 3-часового захвата, монофонический звук, каждый рабочий день в 8:00
Я не нашел и не скомпилировал SOX с поддержкой аудиопотоков MPEG, поэтому использовал FLAC для экономии места; Я использую XLD для преобразования его в AAC-HE 16 кбит / с, чего достаточно для передачи голоса.
Следующий шаг: мультиплексировать аудио и видео для создания mp4. Если вы не против использовать GUI, то MPEG StreamClip (или QuickTime) также подойдет.
Я использую это ежедневно для создания архива GoToWebinar, но когда следующий выпуск FFmpeg поддерживает кодек G2M4, я больше не буду беспокоиться. Да, есть также OSAscript для запуска вебинара, который также потребовал избавиться от флага com.apple.quarantine, чтобы отключить предупреждение (Вы уверены, что хотите открыть его?).
Я сомневаюсь, что это будет работать на OSX, alsa и x11grab, скорее всего, доступны только для Linux-сборок ffmpeg.
Адам МВ
0
Для захвата экрана есть несколько инструментов с открытым исходным кодом. Вы должны искать "снимок экрана", используя менеджер пакетов в Linux. Такие инструменты, как scrotможно вызвать в сценарии. Если вы планируете делать это программно, в Imlib2 есть необходимые точки входа.
Захват звука действительно запись для микрофона звукового устройства. Это на самом деле не снимок, и вы должны определить, как долго должна выполняться запись. Подойдет любой диктофон.
Есть также инструменты, которые делают видео вашего рабочего стола.
Выгрузка содержимого устройства кадрового буфера Linux в файл может быть чем-то похожим на то, что вы ищете. Ниже я процитировал соответствующую часть учебника по программированию устройства Linux 2.2 Framebuffer . Вам нужно будет сконфигурировать вашу систему для включения устройства framebuffer (проверьте, есть ли в вашей системе / dev / fb0), у меня его нет в Ubuntu 9.04.
Когда у вас есть текстовые режимы с высоким разрешением, вы можете начать экспериментировать. У вас будет устройство / dev / fb0, которое вы можете посмотреть как любой обычный файл. Чтобы сделать скриншот, все, что вам нужно сделать, это
cat / dev / fb0> ~ / sshot
И у вас будет довольно большой файл с содержимым памяти вашей видеокарты внутри. Теперь, если вы очистите экран и введите
cat ~ / sshot> / dev / fb0
Вы должны иметь дисплей, который выглядит точно так же, как раньше. Конечно, после второго нажатия клавиши дисплей вернется в нормальное состояние.
Я также использую Snow Leopard на устаревшем macbook, и, поскольку я пытаюсь изучить Objective C, я трачу некоторое время на создание инструмента, который может захватывать определенные окна.
Ответы:
Mac OS X предлагает возможность снимать статические снимки экрана из командной строки, используя утилиту, которая называется невообразимо
screencapture
. Вы можете найти больше информации, запустивman screencapture
.например.
screencapture ~/Desktop/picture.png
Что касается записи движения и компьютерного звука, вы можете сделать это через AppleScript с помощью QuickTime Player X, если вы используете Mac OS X 10.6 или более новую версию. (Однако, это определенно не "тихий" и будет работать только когда кто-то вошел в систему)
(Запись экрана на 5 секунд, просто возможная отправная точка)
источник
Я использую SOX и VLC для захвата, crontab для планирования, XLD для создания m4a и MP4Box для мультиплексирования. Он довольно гибкий, но требует знания сценариев Bash (возможно, также сценария Apple). Я нашел свое вдохновение в сценарии Диего Массанти mkmp4.
Основные процессы для запуска:
Планирование записи:
Вы можете получить представление о том, что делает сценарий: запись 3-часового захвата, монофонический звук, каждый рабочий день в 8:00
Я не нашел и не скомпилировал SOX с поддержкой аудиопотоков MPEG, поэтому использовал FLAC для экономии места; Я использую XLD для преобразования его в AAC-HE 16 кбит / с, чего достаточно для передачи голоса.
Следующий шаг: мультиплексировать аудио и видео для создания mp4. Если вы не против использовать GUI, то MPEG StreamClip (или QuickTime) также подойдет.
Я использую это ежедневно для создания архива GoToWebinar, но когда следующий выпуск FFmpeg поддерживает кодек G2M4, я больше не буду беспокоиться. Да, есть также OSAscript для запуска вебинара, который также потребовал избавиться от флага com.apple.quarantine, чтобы отключить предупреждение (Вы уверены, что хотите открыть его?).
ссылки по теме:
http://blog.massanti.com/2008/09/26/mkmp4-automated-h264-aacplus-encoder-script-mac-linux/
источник
Вы можете использовать программное обеспечение ffmpeg. Чтобы установить его на Mac, следуйте инструкциям здесь . Затем используйте команду:
источник
Для захвата экрана есть несколько инструментов с открытым исходным кодом. Вы должны искать "снимок экрана", используя менеджер пакетов в Linux. Такие инструменты, как
scrot
можно вызвать в сценарии. Если вы планируете делать это программно, в Imlib2 есть необходимые точки входа.Захват звука действительно запись для микрофона звукового устройства. Это на самом деле не снимок, и вы должны определить, как долго должна выполняться запись. Подойдет любой диктофон.
Есть также инструменты, которые делают видео вашего рабочего стола.
источник
Выгрузка содержимого устройства кадрового буфера Linux в файл может быть чем-то похожим на то, что вы ищете. Ниже я процитировал соответствующую часть учебника по программированию устройства Linux 2.2 Framebuffer . Вам нужно будет сконфигурировать вашу систему для включения устройства framebuffer (проверьте, есть ли в вашей системе / dev / fb0), у меня его нет в Ubuntu 9.04.
источник
Вы можете использовать импорт из ImageMagick, но это только Linux. Затем вы можете пойти в терминал и выполнить:
источник
Я также использую Snow Leopard на устаревшем macbook, и, поскольку я пытаюсь изучить Objective C, я трачу некоторое время на создание инструмента, который может захватывать определенные окна.
https://github.com/vorgos/QuickGrab
Это инструмент командной строки, который фиксирует самое активное окно или любое указанное вами окно.
Надеюсь, что это помогло.
источник