Bạn có thể sử dụng ffmpeg
ffmpeg -loglevel quiet -ss 26 -i sample-video.mp4 -t 1 -f image2 anyfilename.jpeg
- -loglevel đặt logoutput thành im lặng vì ffmpeg rất hay nói
- -ss là tìm kiếm (tính bằng giây, tức là nơi bạn muốn chụp ảnh nhanh)
- -i tập tin video đầu vào
- -t khung thời gian của ảnh chụp nhanh (tính bằng giây)
- -f filetype
Bạn cũng có thể chơi xung quanh với các tùy chọn, như chất lượng điều khiển của đầu ra -q:v <linear integer 1-10>
hoặc độ phân giải jpeg -s 480x300
.
Một số ý tưởng khác ở đây
Phương pháp VLC
cvlc sample-video.mp4 --start-time=26 --run-time=1 --rate=1 --video-filter=scene --vout=dummy --aout=dummy --scene-ratio=24 --scene-prefix=sample-image --scene-replace vlc://quit
cvlc - vì dòng lệnh của nó và chúng tôi không muốn bất kỳ cửa sổ nào mở. Ngoài ra, điều này có nghĩa là chúng ta có thể chạy nó mà không cần X11.
--start-time = 26 - là vị trí chính xác của ảnh chụp nhanh tính bằng giây
- --run-time = 1 - thời gian video sẽ "phát" trong vài giây. Chúng tôi chơi nó trong một giây để tạo ảnh chụp màn hình của giây này
- --rate = 1 khi chụp ảnh màn hình. Điều này về cơ bản có nghĩa là "mỗi giây" và rất hữu ích, nếu bạn có các tệp dài hơn, để chụp ảnh màn hình cứ sau 60 giây hoặc cứ sau 5 phút
- --video-filter = cảnh nói với VLC rằng chúng tôi muốn chụp ảnh màn hình
- --vout = dummy không có đầu ra cho video trên X11, chúng tôi không cần nó
- --aout = dummy không có đầu ra cho âm thanh, chúng tôi không cần nó
- --scene-ratio = 24 chúng tôi nói với VLC rằng có khoảng 24 khung hình mỗi giây
- --scene-prefix = sample-image tên tệp của ảnh chụp màn hình của bạn
- --scene-thay thế thay thế bất kỳ tệp nào được gọi như ảnh chụp màn hình
sample-image.png
của bạn với ảnh chụp màn hình hiện tại của bạn. Nếu bạn bỏ qua phần này, VLC sẽ bắt đầu đánh số ảnh chụp màn hình
- vlc: // thoát khỏi vlc sau khi chúng ta kết thúc
Hoàn thành tài liệu ở đây
ffmpeg
dường như hỗ trợ tên tệp cho đầu ra.