मेरा उपयोग-मामला वीडियो से सिर्फ एक थंबनेल है, <video>
टैग पोस्टर के रूप में उपयोग करने के लिए केवल एक फ़ाइल है । तो, इसे बनाने का एक तेज़ तरीका क्या होगा?
इसके साथ ffmpeg
, आप यह कर सकते हैं:
ffmpeg -ss 123 -y -i video.mp4 -r 1 -updatefirst 1 -frames 1 poster.jpg
जो आपको सेव किए गए सेकंड 123
के पास फ्रेम देगा ।video.mp4
poster.jpg
समस्या, जैसा कि आप देख सकते हैं, यह है कि हमें यह जानना होगा कि कौन सा दूसरा सही है।
अपनी निर्भरता कम रखने के लिए, हम इसके लिए ffmpeg का उपयोग करेंगे:
# Get the time as h:m:s (non-padded)
l=$(ffmpeg -i video.mp4 2>&1 | grep Duration: | sed -r 's/\..*//;s/.*: //;s/0([0-9])/\1/g')
# Convert that into seconds
s=$((($(cut -f1 -d: <<< $l) * 60 + $(cut -f2 -d: <<< $l)) * 60 + $(cut -f3 -d: <<< $l)))
# Get frame at 25% as the thumbnail
ffmpeg -ss $((s / 4)) -y -i video.mp4 -r 1 -updatefirst 1 -frames 1 poster.jpg
वीडियो का 25% एक आम पसंद की तरह लगता है, लेकिन आप इसे 33% या 50% भी बना सकते हैं।
यहाँ एक स्क्रिप्ट है जो ऐसा करती है ।