আমার ইউজ-কেসটি ভিডিও থেকে মাত্র একটি থাম্বনেইল, <video>
ট্যাগ পোস্টার হিসাবে ব্যবহার করার জন্য কেবল একটি একক ফাইল । সুতরাং, এটি করার একটি দ্রুত উপায় কী হবে?
সহ ffmpeg
, আপনি এটি করতে পারেন:
ffmpeg -ss 123 -y -i video.mp4 -r 1 -updatefirst 1 -frames 1 poster.jpg
যে আপনি দ্বিতীয় কাছাকাছি ফ্রেম দেব 123
এর video.mp4
হিসেবে সংরক্ষিত poster.jpg
।
সমস্যাটি যেমন আপনি দেখতে পাচ্ছেন তা হ'ল আমাদের জানা দরকার যে দ্বিতীয়টি ঠিক।
আমাদের নির্ভরতা কম রাখতে, আমরা এর জন্য এফএফএমপিগ নিজেই ব্যবহার করব:
# 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 %ও বানাতে পারেন।
এখানে এমন একটি স্ক্রিপ্ট রয়েছে যা এটি করে ।