Чи є там інструмент командного рядка, який може записувати екран вашого комп'ютера та аудіопристрій, а потім зберегти його у файл?
Чи є там інструмент командного рядка, який може записувати екран вашого комп'ютера та аудіопристрій, а потім зберегти його у файл?
Відповіді:
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
Я використовую SOX та VLC для захоплення, crontab для планування, XLD для створення m4a та MP4Box для мультиплексування. Це досить гнучко, але вимагає знань сценаріїв Баша (можливо, також сценарію Apple). Натхнення я знайшов у сценарії mkmp4 Дієго Массанті.
основні процеси для запуску:
rec -q -c $C -r 48000 -b 16 $AFILE trim 0 $HH:$MM:00 &
VLC -I dummy screen:// --screen-fps=25 --quiet --sout "#transcode{vcodec=h264,vb=3072}:standard{access=file,mux=mp4,dst=$FILE}" --run-time $TIME vlc://quit
Планування запису:
crontab -l
0 8 * * 1-5 ~/capture.sh 3 0 recording-name 1
Ви можете отримати уявлення про те, що робить сценарій: записуйте 3-кратне захоплення, моно звук, кожен робочий день о 8 ранку
Я не знайшов і не компілював SOX, ввімкнений для аудіо потоків MPEG, отже, використовуючи FLAC, щоб заощадити місце; Я використовую XLD для перетворення його в AAC-HE 16kbps, що достатньо для голосу.
Наступний крок: мультиплексне аудіо та відео для створення mp4. Якщо ви не проти використовувати графічний інтерфейс, то MPEG StreamClip (або QuickTime) також добре працює.
MP4Box -add $1.m4a -sbr -add $1.m4v -fps $2.0 -inter 500 $1.mp4
Я щодня використовую цей архів для створення архіву GoToWebinar, але коли наступний реліз FFmpeg підтримує кодек G2M4, я більше не буду турбуватися. Так, є також OSAscript для запуску вебінару, який також вимагав позбутися прапора com.apple.quarantine, щоб відключити попередження (Ви впевнені, що хочете його відкрити?).
посилання:
http://blog.massanti.com/2008/09/26/mkmp4-automated-h264-aacplus-encoder-script-mac-linux/
Ви можете використовувати програмне забезпечення ffmpeg. Щоб встановити його на Mac, дотримуйтесь інструкцій тут . Потім скористайтеся командою:
$ffmpeg -f alsa -ac 2 -i hw:0,0 -f x11grab -r 30 -s $(xwininfo -root | grep 'geometry' | awk '{print $2;}') -i :0.0 -acodec pcm_s16le -vcodec libx264 -vpre lossless_ultrafast -threads 0 -y output.mkv
Для захоплення екрану існує кілька інструментів з відкритим кодом. Вам слід шукати "захоплення екрана" за допомогою менеджера пакетів в Linux. Такі інструменти scrot
можна назвати в сценарії. Якщо ви плануєте це робити програмно, в Imlib2 є необхідні точки входу.
Захоплення звуку справді є записом для звукового пристрою мікрофона. Це насправді не знімок, і вам слід керувати тим, як довго слід робити запис. Буде робити будь-який диктофон.
Також є інструменти, які роблять відео з робочого столу.
Перенесення вмісту файлу фреймбуферного пристрою у файл може бути чимось подібним до того, що ви шукаєте. Нижче я процитував відповідну частину навчального посібника з програмування пристроїв Linux 2.2 , погляньте. Вам потрібно буде налаштувати вашу систему, щоб увімкнути пристрій фреймбуфера (перевірте, чи є у вас / dev / fb0 у вашій системі), я не маю його на моєму Ubuntu 9.04.
Коли у вас є текстові модулі з високою роздільною здатністю, ви можете почати експериментувати. У вас буде пристрій / dev / fb0, на який ви можете дивитись як на будь-який звичайний файл. Щоб зробити знімок екрана, все, що вам потрібно зробити - це
cat / dev / fb0> ~ / sshot
І у вас буде досить великий файл із вмістом пам’яті вашої відеокарти всередині. Тепер, якщо очистити екран і введіть
cat ~ / sshot> / dev / fb0
У вас повинен бути дисплей, який виглядає точно так, як раніше. Звичайно, секон d, який ви починаєте набирати дисплей, повертається до нормального.
Ви можете використовувати імпорт із ImageMagick, але це лише Linux. Потім ви можете перейти до терміналу та виконати:
import screenshot.png
Я також запускаю Snow Leopard за старістю macbook, і оскільки я намагаюся вивчити ціль C, я витрачаю деякий час на створення інструменту, який може захоплювати конкретні вікна.
https://github.com/vorgos/QuickGrab
Це інструмент командного рядка, який захопить найактивніше вікно або будь-яке вказане вами вікно.
Сподіваюся, що це допомогло.