میخوام با کمک گرفتن از دو تا ابزار معروف و آزاد ffmpeg و imagemagick توی bash on winodwsم، نقشهی رنگی فیلمهایی که دوست دارم رو درست کنم. به این معنی که عکس حاصل کنار هم گذاشتن رنگ غالب هر فریم فیلم رو به دست بیارم.
اول از همه با کمک ffmpeg فیلم رو به تعدادی عکس تبدیل میکنیم:
ffmpeg -i Interstellar\ \(2014\).mp4 -r 1/5 image/$filename%03d.bmp
معنی سویچ -r
که اختصار rateـه اینه که از هر ثانیه از فیلم، چندتا عکس میخوام استخراج کنم. مثلن اینجا از فیلم interstellar میخوام از هر ۵ ثانیهش یه عکس به من بده. مدت زمانی که طول میکشه به طول فیلم و تعداد فریمها و الگوریتم فشردهسازیش بستگی داره ( مثلن برای اینتراستلار حدود نیم ساعت طول کشید)
بعد از اون، عکسهایی که تولید کردیم رو به imagemagick میدیم تا ازشون برامون یه عکس به ارتفاع یک پیکسل بسازه: رنگ غالب هر فریم رو برداره و اونها رو کنار هم بذاره.
convert image/*.bmp -scale 1x1\! +append dominant.png
حالا ارتفاع عکسمون رو ۶۰۰ برابر میکنیم.
convert dominant.png -geometry x600! dominant2.png
خروجی این فرآیند برای اینتراستلار اینشکلیه:
و برای اولین قسمت سریال Black Books:
لالالند:
این نوشته رو با عکسهای جدید که درست میکنم آپدیت میکنم 🙂