Anda dapat menggunakan ffmpeg
ffmpeg -loglevel quiet -ss 26 -i sample-video.mp4 -t 1 -f image2 anyfilename.jpeg
- -loglevel mengatur logoutput ke sunyi karena ffmpeg sangat cerewet
- -ss adalah seek (dalam detik, yaitu tempat Anda ingin mengambil snapshot)
- -Saya input file video
- jangka waktu -t snapshot (dalam detik)
- -f filetype
Anda juga dapat bermain-main dengan opsi, seperti mengontrol kualitas keluaran -q:v <linear integer 1-10>atau resolusi jpeg -s 480x300.
Ada lebih banyak ide di sini
Metode 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 - karena itu command-line dan kami tidak ingin ada jendela yang terbuka. juga, ini berarti kita dapat menjalankannya tanpa X11.
--start-time = 26 - adalah posisi yang tepat dari foto dalam detik
- --run-time = 1 - berapa lama video akan "diputar" dalam detik. Kami memainkannya selama satu detik untuk membuat tangkapan layar dari detik ini
- --rate = 1 kapan harus mengambil tangkapan layar. Ini pada dasarnya berarti "setiap detik" dan berguna, jika Anda memiliki file lebih lama, untuk mengambil tangkapan layar setiap 60 detik atau setiap 5 menit
- --video-filter = scene beri tahu VLC bahwa kami ingin mengambil tangkapan layar
- --vout = dummy tidak ada output untuk video di X11, kami tidak membutuhkannya
- --aout = dummy tidak ada output untuk audio, kami tidak membutuhkannya
- --scene-ratio = 24, kami memberi tahu VLC bahwa ada sekitar 24 frame per detik
- --scene-prefix = sample-image nama file screenshot Anda
- --scene-replace ganti semua file yang disebut seperti tangkapan layar
sample-image.pngAnda dengan tangkapan layar Anda saat ini. Jika Anda menghilangkan ini, VLC akan mulai memberi penomoran tangkapan layar
- vlc: // berhenti keluar dari vlc setelah kita selesai
Dokumentasi lengkap di sini
ffmpegsepertinya mendukung nama file untuk output.