Czy jest jakiś powód, dla którego musi to być narzędzie CLI? Zyskujesz zrzut ekranu za darmo dzięki QuickTime.
igorw
Chciałbym to nazwać skryptem powłoki i zrobić to bez nadzoru.
Cześć Keith, witaj w StackOverlow. Nie wygląda to na programowanie na pierwszy rzut oka, chociaż może tak być, jeśli planujesz napisać skrypt w pliku wsadowym lub coś takiego. Możesz przeredagować go, aby nie wymykał się spod kontroli.
Brian MacKay,
Odpowiedzi:
9
Mac OS X oferuje możliwość przechwytywania statycznych zrzutów ekranu z wiersza poleceń za pomocą narzędzia o nazwie bez wyobraźni screencapture. Możesz znaleźć więcej informacji, uruchamiając man screencapture.
na przykład. screencapture ~/Desktop/picture.png
Jeśli chodzi o nagrywanie ruchu i dźwięku komputerowego, możesz to zrobić za pomocą AppleScript za pomocą QuickTime Player X, jeśli używasz Mac OS X 10.6 lub nowszego. (Jednak zdecydowanie nie jest to „cichy” i będzie działać tylko wtedy, gdy ktoś jest zalogowany)
(Nagrywanie ekranu przez 5 sekund, tylko możliwy punkt początkowy)
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 pozwala tylko na robienie zdjęć, brak nagrań wideo lub dźwiękowych.
MacLemon,
@MacLemon: Dodano pewne wyjaśnienia.
Chealion
2
Do Twojej wiadomości, odnosząc się do wpisu na blogu, który poprawił wersję powyższego Quicktime Applescript: netjunki.org/blog/…
David
1
Wspomniany blog @David jest nadal dostępny w pamięci podręcznej Google i zauważa: „Wygląda na to, że kiedy próbujesz zadzwonić, zapisz w 10.7 quicktime, po prostu ignoruje połączenie. Lub coś w tym rodzaju. Skrypt zawiesi się tam na zawsze, a następnie upłynie limit czasu”. Dotyczy to mnie w 10.8…
ptim
2
Używam SOX i VLC do przechwytywania, crontab do planowania, XLD do tworzenia m4a i MP4Box do multipleksowania. Jest dość elastyczny, ale wymaga znajomości skryptów Bash (być może także skryptów Apple). Inspirację czerpałem ze skryptu Diego Massanti mkmp4.
możesz dowiedzieć się, co robi skrypt: nagrywaj 3 godziny, dźwięk monofoniczny, każdego dnia roboczego o 8 rano
Nie znalazłem ani nie skompilowałem SOX obsługującego strumienie audio MPEG, stąd użycie FLAC do zaoszczędzenia miejsca; Używam XLD do konwersji na AAC-HE 16kbps, co wystarcza na głos.
Następny krok: multipleksowanie audio i wideo w celu stworzenia MP4. Jeśli nie masz nic przeciwko korzystaniu z GUI, MPEG StreamClip (lub QuickTime) również dobrze działa.
Używam tego codziennie do tworzenia archiwum GoToWebinar, ale kiedy następne wydanie FFmpeg obsługuje kodek G2M4, nie będę się już tym przejmować. Tak, jest też OSAscript do uruchomienia webinaru, który również wymagał pozbycia się flagi com.apple.quarantine w celu wyłączenia ostrzeżenia (Czy na pewno chcesz go otworzyć?).
Wątpię, czy działałoby to na OSX, alsa i x11grab są prawdopodobnie dostępne tylko w wersjach ffmpeg dla Linuksa.
Adam MW
0
Do przechwytywania ekranu istnieje kilka narzędzi Open Source. Powinieneś wyszukać „zrzut ekranu” za pomocą menedżera pakietów w systemie Linux. Takie narzędzia scrotmożna wywoływać w skrypcie. Jeśli planujesz to zrobić programowo, w Imlib2 są potrzebne punkty wejścia.
Przechwytywanie dźwięku jest naprawdę nagrywaniem dla urządzenia dźwiękowego mikrofonu. To nie jest tak naprawdę migawka i powinieneś zarządzać, jak długo powinno być nagrane.
Istnieją również narzędzia, które nagrywają wideo na pulpicie.
Zrzut zawartości urządzenia bufora ramki systemu Linux do pliku może być czymś podobnym do tego, czego szukasz. Poniżej zacytowałem odpowiednią część Samouczka programowania urządzenia Framebuffer w Linuksie 2.2 , spójrz. Musisz skonfigurować system, aby włączyć urządzenie buforujące ramki (sprawdź, czy masz / dev / fb0 w systemie), nie mam go na moim Ubuntu 9.04.
Gdy masz tryby tekstowe o wysokiej rozdzielczości, możesz zacząć eksperymentować. Będziesz miał urządzenie / dev / fb0, na które możesz patrzeć jak na każdy normalny plik. Aby zrobić zrzut ekranu, wszystko co musisz zrobić, to
cat / dev / fb0> ~ / sshot
Będziesz miał całkiem duży plik z zawartością pamięci karty graficznej. Teraz, jeśli wyczyścisz ekran i napiszesz
cat ~ / sshot> / dev / fb0
Powinieneś mieć wyświetlacz, który wygląda dokładnie tak jak wcześniej. Oczywiście sekunda, w której zaczynasz pisać, powraca do normy.
Używam również systemu Snow Leopard na starzejącym się komputerze MacBook i ponieważ próbuję nauczyć się Celu C, spędzam trochę czasu na tworzeniu narzędzia, które może przechwytywać określone okna.
Odpowiedzi:
Mac OS X oferuje możliwość przechwytywania statycznych zrzutów ekranu z wiersza poleceń za pomocą narzędzia o nazwie bez wyobraźni
screencapture
. Możesz znaleźć więcej informacji, uruchamiającman screencapture
.na przykład.
screencapture ~/Desktop/picture.png
Jeśli chodzi o nagrywanie ruchu i dźwięku komputerowego, możesz to zrobić za pomocą AppleScript za pomocą QuickTime Player X, jeśli używasz Mac OS X 10.6 lub nowszego. (Jednak zdecydowanie nie jest to „cichy” i będzie działać tylko wtedy, gdy ktoś jest zalogowany)
(Nagrywanie ekranu przez 5 sekund, tylko możliwy punkt początkowy)
źródło
Używam SOX i VLC do przechwytywania, crontab do planowania, XLD do tworzenia m4a i MP4Box do multipleksowania. Jest dość elastyczny, ale wymaga znajomości skryptów Bash (być może także skryptów Apple). Inspirację czerpałem ze skryptu Diego Massanti mkmp4.
podstawowe procesy do uruchomienia:
Planowanie nagrywania:
możesz dowiedzieć się, co robi skrypt: nagrywaj 3 godziny, dźwięk monofoniczny, każdego dnia roboczego o 8 rano
Nie znalazłem ani nie skompilowałem SOX obsługującego strumienie audio MPEG, stąd użycie FLAC do zaoszczędzenia miejsca; Używam XLD do konwersji na AAC-HE 16kbps, co wystarcza na głos.
Następny krok: multipleksowanie audio i wideo w celu stworzenia MP4. Jeśli nie masz nic przeciwko korzystaniu z GUI, MPEG StreamClip (lub QuickTime) również dobrze działa.
Używam tego codziennie do tworzenia archiwum GoToWebinar, ale kiedy następne wydanie FFmpeg obsługuje kodek G2M4, nie będę się już tym przejmować. Tak, jest też OSAscript do uruchomienia webinaru, który również wymagał pozbycia się flagi com.apple.quarantine w celu wyłączenia ostrzeżenia (Czy na pewno chcesz go otworzyć?).
spinki do mankietów:
http://blog.massanti.com/2008/09/26/mkmp4-automated-h264-aacplus-encoder-script-mac-linux/
źródło
Możesz użyć oprogramowania ffmpeg. Aby zainstalować go na komputerze Mac, postępuj zgodnie z instrukcjami tutaj . Następnie użyj polecenia:
źródło
Do przechwytywania ekranu istnieje kilka narzędzi Open Source. Powinieneś wyszukać „zrzut ekranu” za pomocą menedżera pakietów w systemie Linux. Takie narzędzia
scrot
można wywoływać w skrypcie. Jeśli planujesz to zrobić programowo, w Imlib2 są potrzebne punkty wejścia.Przechwytywanie dźwięku jest naprawdę nagrywaniem dla urządzenia dźwiękowego mikrofonu. To nie jest tak naprawdę migawka i powinieneś zarządzać, jak długo powinno być nagrane.
Istnieją również narzędzia, które nagrywają wideo na pulpicie.
źródło
Zrzut zawartości urządzenia bufora ramki systemu Linux do pliku może być czymś podobnym do tego, czego szukasz. Poniżej zacytowałem odpowiednią część Samouczka programowania urządzenia Framebuffer w Linuksie 2.2 , spójrz. Musisz skonfigurować system, aby włączyć urządzenie buforujące ramki (sprawdź, czy masz / dev / fb0 w systemie), nie mam go na moim Ubuntu 9.04.
źródło
Możesz użyć importu z ImageMagick, ale jest to tylko Linux. Następnie możesz przejść do terminala i wykonać:
źródło
Używam również systemu Snow Leopard na starzejącym się komputerze MacBook i ponieważ próbuję nauczyć się Celu C, spędzam trochę czasu na tworzeniu narzędzia, które może przechwytywać określone okna.
https://github.com/vorgos/QuickGrab
Jest to narzędzie wiersza polecenia, które przechwytuje najbardziej aktywne okno lub dowolne określone okno.
Mam nadzieję, że to pomogło.
źródło