Chụp màn hình - dòng lệnh?


12

Có một công cụ dòng lệnh nào có thể ghi lại màn hình máy tính và thiết bị âm thanh của bạn và sau đó lưu nó vào một tập tin không?


Bất kỳ lý do tại sao điều này cần phải là một công cụ CLI? Bạn có thể chụp màn hình miễn phí với QuickTime.
igorw

Tôi muốn gọi nó trong một kịch bản shell và làm nó không cần giám sát.

Xin chào Keith, chào mừng bạn đến với StackOverlow. Điều này không có vẻ liên quan đến lập trình trong nháy mắt, mặc dù thực tế có thể là nếu bạn dự định kịch bản nó trong một tệp bó hoặc một cái gì đó. Bạn có thể muốn điều chỉnh lại nó để nó không bị mất kiểm soát.
Brian MacKay

Câu trả lời:


9

Mac OS X cung cấp khả năng chụp ảnh màn hình tĩnh từ dòng lệnh bằng cách sử dụng một tiện ích gọi là không tưởng tượng screencapture. Bạn có thể tìm thêm thông tin bằng cách chạy man screencapture.

ví dụ. screencapture ~/Desktop/picture.png


Đối với ghi âm chuyển động và âm thanh máy tính, bạn có thể thực hiện việc này thông qua AppleScript bằng cách sử dụng QuickTime Player X nếu bạn đang sử dụng Mac OS X 10.6 trở lên. (Tuy nhiên, nó chắc chắn không "im lặng" và sẽ chỉ chạy khi ai đó đăng nhập)

(Ghi lại màn hình trong 5 giây, chỉ là điểm bắt đầu có thể)

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 chỉ cho phép thực hiện các hình ảnh tĩnh, không có bản ghi video hoặc âm thanh.
MacLemon

@MacLemon: Đã thêm một số làm rõ.
Chealion

2
FYI, chỉ cần tham khảo một bài đăng trên blog đã cải tiến phiên bản ứng dụng Quicktime ở trên: netjunki.org/blog/ mẹo
David

1
Blog @David được đề cập vẫn có sẵn trong bộ nhớ cache của Google và ghi chú: "Dường như khi bạn thử và gọi lưu trong 10.7, hãy nhanh chóng bỏ qua cuộc gọi. Hoặc một cái gì đó tương tự. Tập lệnh sẽ bị treo ở đó mãi mãi. Điều này đúng với tôi trong 10.8 Ngày
ptim

2

Tôi đang sử dụng SOX và VLC để chụp, crontab để lập lịch, XLD để tạo m4a và MP4Box để ghép kênh. Nó khá linh hoạt, nhưng đòi hỏi kiến ​​thức về kịch bản Bash (có lẽ cũng là kịch bản của Apple) Tôi đã tìm thấy nguồn cảm hứng của mình trong kịch bản mkmp4 của Diego Massanti.

các quy trình cốt lõi để khởi chạy:

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

Ghi lịch trình:

crontab -l
0       8       *       *       1-5     ~/capture.sh 3 0 recording-name 1

bạn có thể biết được kịch bản đang làm gì: ghi 3h, âm thanh đơn sắc, mỗi ngày làm việc lúc 8 giờ sáng


Tôi không tìm thấy cũng không biên dịch SOX được kích hoạt cho các luồng âm thanh MPEG, do đó sử dụng FLAC để tiết kiệm không gian; Tôi đang sử dụng XLD để chuyển đổi nó thành AAC-HE 16kbps, đủ cho giọng nói.

Bước tiếp theo: ghép âm thanh và video để tạo mp4. Nếu bạn không ngại sử dụng GUI, thì MPEG StreamClip (hoặc QuickTime) cũng phục vụ tốt.

MP4Box -add $1.m4a -sbr -add $1.m4v -fps $2.0 -inter 500 $1.mp4

Tôi đang sử dụng điều này hàng ngày để tạo kho lưu trữ GoToWebinar, nhưng khi bản phát hành tiếp theo của FFmpeg hỗ trợ codec G2M4, tôi sẽ không làm phiền nữa. Có, cũng có OSAscript để khởi chạy hội thảo trên web cũng yêu cầu loại bỏ cờ com.apple.quarantine để tắt cảnh báo (Bạn có chắc chắn muốn mở nó không?).

liên kết:

http://blog.massanti.com/2008/09/26/mkmp4-automated-h264-aacplus-encoder-script-mac-linux/


Điều này cũng có thể liên quan đến VLC, có một câu châm biếm nhỏ về cách sử dụng nó trong bài đăng trên blog này: netjunki.org/blog/ mẹo
David

1

Bạn có thể sử dụng phần mềm ffmpeg. Để cài đặt nó trên máy Mac, hãy làm theo hướng dẫn tại đây . Sau đó sử dụng lệnh:

$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

1
Tôi nghi ngờ rằng nó sẽ hoạt động trên OSX, alsa và x11grab có khả năng chỉ có sẵn trên các bản dựng ffmpeg của linux.
Adam MW

0

Để chụp màn hình, có một số công cụ Nguồn mở. Bạn nên tìm kiếm "chụp màn hình" bằng trình quản lý gói trên Linux. Các công cụ như scrotcó thể được gọi trong một kịch bản. Nếu bạn đi máy bay để làm điều đó theo chương trình, có những điểm vào cần thiết trong Imlib2.

Ghi âm thực sự là ghi âm cho thiết bị âm thanh micro. Nó không thực sự là một ảnh chụp nhanh và bạn nên quản lý thời gian ghi âm sẽ được thực hiện. Mọi máy ghi âm sẽ làm.

Ngoài ra còn có các công cụ làm cho một video của máy tính để bàn của bạn.


0

Việc bỏ nội dung của thiết bị bộ đệm khung Linux vào một tệp có thể giống với những gì bạn đang tìm kiếm. Dưới đây, tôi đã trích dẫn phần có liên quan của Hướng dẫn lập trình thiết bị Framebuffer Linux 2.2 , hãy xem. Bạn sẽ cần định cấu hình hệ thống của mình để kích hoạt thiết bị bộ đệm khung (kiểm tra xem bạn có / dev / fb0 trên hệ thống của mình không), tôi không có nó trên Ubuntu 9.04.

Khi bạn đã có mã văn bản độ phân giải cao, sau đó bạn có thể bắt đầu thử nghiệm. Bạn sẽ có một thiết bị / dev / fb0 mà bạn có thể xem giống như bất kỳ tập tin bình thường nào. Để chụp ảnh màn hình, tất cả những gì bạn phải làm là

mèo / dev / fb0> ~ / sshot

Và bạn sẽ có một tệp khá lớn với nội dung trong bộ nhớ của card đồ họa của bạn. Bây giờ, nếu bạn xóa màn hình và gõ

mèo ~ / sshot> / dev / fb0

Bạn nên có một màn hình trông giống hệt như trước đây. Tất nhiên, secon d bạn bắt đầu gõ màn hình trở lại bình thường.


0

Bạn có thể sử dụng nhập từ ImageMagick, nhưng chỉ có Linux. Sau đó, bạn có thể đi đến một thiết bị đầu cuối và thực hiện:

import screenshot.png

0

Tôi cũng đang chạy Snow Leopard trên một chiếc macbook đã cũ và vì tôi đang cố gắng học Objective C, tôi dành thời gian để xây dựng một công cụ có thể chụp các cửa sổ cụ thể.

https://github.com/vorgos/QuickGrab

Nó là một công cụ dòng lệnh sẽ chụp cửa sổ hoạt động nhiều nhất hoặc bất kỳ cửa sổ nào bạn chỉ định.

Hy vọng rằng đã giúp.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.