Bisakah ImageMagick membuat thumbnail dari video?

11

Saya mencoba mengekstrak thumbnail dari video melalui ImageMagick. Saya menemukan beberapa sampel dari situs resmi mereka, tetapi itu membuat GIF, bukan PNG. Saya ingin thumbnail yang solid.

Bisakah itu membuat output yang sama dengan perintah ffmpeg ini?

ffmpeg -ss 600 -i myVideo.mp4 -vframes 1 -s 420x270 Out.bmp
Juneyoung Oh
sumber

Jawaban:

18

Anda dapat mengekstrak thumbnail dari video dengan ImageMagick seperti itu ( dari sini - jawaban lain mengklaim bahwa ImageMagick menggunakan ffmpeg 'under the hood', jadi saya tidak tahu apakah ini akan lebih cepat daripada hanya menggunakan ffmpeg):

convert input.mp4[100] thumbnail.png

itu [100]memberitahu ImageMagick untuk mengambil frame 100 dari input.mp4. Saya sudah mengujinya pada streaming video H.264 dalam wadah MP4. Jelas Anda dapat menggunakan opsi ImageMagick apa pun yang Anda inginkan, termasuk deinterlacing seperti yang dijelaskan dalam tautan Anda.


ImageMagick benar-benar untuk menangani gambar individual, meskipun; untuk video, Anda harus menggunakan ffmpeg. Jelas ada beberapa tumpang tindih di sini, karena Anda berurusan dengan frame individual, tetapi saya akan mengatakan bahwa deinterlacing lebih merupakan tugas pemrosesan video.

Anda harus menggunakan filter yadif untuk deinterlacing. Anda dapat menambahkannya ke baris yang ada dengan demikian:

ffmpeg -ss 600 -i input.mp4 -vframes 1 -s 420x270 -filter:v 'yadif' output.png

saat bekerja dengan filter, saya lebih suka menggunakan filter skala daripada -s:

ffmpeg -ss 600 -i input.mp4 -vframes 1 -filter:v 'yadif,scale=420:270' output.png
Evilsoup
sumber
Mungkin saya salah memahami pertanyaan, tetapi OP secara khusus bertanya bagaimana mencapai apa yang dilakukan ffmpegperintah dengan ImageMagick. Tidak tahu apakah itu mungkin atau tidak ...
slhck
@ slhck Saya menafsirkan masalah OP yang sebenarnya sebagai 'mendapatkan thumbnail yang tampak bagus dari video yang bertautan', dan berasumsi bahwa mereka hanya mencoba menggunakan alat yang salah untuk pekerjaan itu (mis. dapatkan thumbnail dengan ffmpeg -> deinterlace dengan ImageMagick). Namun, jika ada orang yang memposting cara melakukannya dengan ImageMagick, mereka akan memiliki upvote saya.
evilsoup
@ evilsoup terima kasih atas jawaban Anda. Saya mengunggah pertanyaan ini karena ffmpeg membutuhkan terlalu banyak waktu untuk membuat thumbnail dari video. Dan saya mendengar dari suatu tempat jika saya menggunakan imagemagick, saya bisa membuatnya lebih cepat. Apakah ini benar dan mungkin? Saya juga telah mencarinya tetapi tidak ada cara untuk mengambil thumbnail dari video hanya dengan imagemagick. Maaf untuk bahasa Inggris saya yang buruk.
Juneyoung Oh
@JuneyoungOh mengambil thumbnail dengan ImageMagick memang mungkin, lihat pembaruan untuk jawaban saya. Saya ragu itu akan lebih cepat, karena tampaknya (dari googling dangkal saya) bahwa ImageMagick menggunakan ffmpeg sebagai back-end untuk berurusan dengan video.
evilsoup
@ evilsoup Oh Terima kasih. Saya pikir itu tidak mungkin. Sekarang saya bisa mengecek mana yang lebih cepat: D banyak terima kasih.
Juneyoung Oh
6

ImageMagick keluar ke ffmpeg dengan perintah ini:

ffmpeg -v -1 -vframes %S -i "%i" -vcodec pam -an -f rawvideo -y "%u.pam" 2> "%Z"

Jadi jawaban singkatnya adalah "tidak" (karena tidak melakukannya sendiri).

cnd
sumber