ام‌سی سعید
ام‌سی سعید
خواندن ۵ دقیقه·۳ سال پیش

اسنپ‌شات و ثبت فریم در VLC

مقدمه

VLC¹، از بهترین پخش‌کننده‌های فایل‌های صوتی و تصویری، رایگانه، کم‌وبیش همهٔ فرمت‌ها رو می‌خونه، و قابلیت‌ها و امکانات کاربردی گسترده‌ای داره. بیشترین استفاده‌ش برای من، جدا از پخش، امکان ثبت اسنپ‌شات در ویدئوهاست. اینجا پیرامون همین موضوع صحبت خواهیم کرد.


اسکرین‌شات؟ نه دقیقاً.

‏VLC، درواقع، اسکرین‌شات نمی‌گیره بلکه فریم موردنظر از ویدئو رو ذخیره می‌کنه. فرض کنید نمایشگر شما Full HD یا ۱۹۲۰ در ۱۰۸۰ پیکسله، و شما دارید یک فیلم 4K UHD می‌بینید—تصویری دو برابر بزرگ‌تر، معادل ۳۸۴۰ در ۲۱۶۰ پیکسل. اگه از صفحه‌نمایش اسکرین‌شات بگیرید، انگار از اونچه می‌بینید عکس گرفته‌اید، و این عکس بزرگ‌تر از ابعاد صفحه‌نمایش شما نخواهد بود. اسکرین‌شات شما با ابعاد ۱۹۲۰ در ۱۰۸۰ پیکسل ذخیره می‌شه، نه بیشتر، و چنین تصویری همچنین از کیفیت عالی برخوردار نیست چون کوچک² شده. به این ترتیب، اگه یک ویدئوی 720p رو روی یک نمایشگر 1080p پخش کنید و ازش اسکرین‌شات بگیرید، کیفیتش رو ازدست خواهد داد.

با VLC، شما می‌تونید اون فریم خاص رو از درون ویدئو بیرون بکشید. این موضوع برای من جذابه چون کیفیت برام خیلی مهمه.


آزمایش میدانی

بتمن در The Dark Knight
بتمن در The Dark Knight

نزدیک به دو سال پیش بود که The Dark Knight رو با کیفیت 4K دانلود کردم. باوجودی‌که صفحه‌نمایشم به 4K نمی‌رسید، کیفیت و شارپ‌بودن تصویر قابل‌لمس بود. دنبال راهی بودم تا ببینم چطور می‌شه فریم‌های یک ویدئو رو استخراج کرد بلکه بتونم طعم کیفیت واقعی فیلم بچشم. با کمی جستجو متوجه شدم VLC این امکان رو داره. با میان‌بر Shift + S، راحت و بدون دردسر، می‌تونید اسنپ‌شات‌های موردنظرتون رو ذخیره کنید. امتحانش کنید.

روش جایگزین: انتخاب گزینهٔ Take Snapshot از منوی Video در بالای نرم‌افزار

محل ذخیرهٔ فایل اسنپ‌شات بسته به سیستم عامل دستگاه شما متفاوت خواهد بود.

  • Windows XP: %HOMEPATH%\My Pictures
  • Windows Vista, 7, 8, 10, and higher: %HOMEPATH%\Pictures
  • Linux/Unix: ~/Pictures
  • macOS: Desktop

بعید می‌دونم شمایی که درحال مطالعهٔ این مطلب هستید از ویندوز اکس‌پی استفاده می‌کنید، اما مستندات VLC بسیار جامع و دقیقه، و حتی این سیستم عامل رو هم ازقلم ننداخته. اگه دوست دارید بیشتر بدونید، مدخل مستندات Snapshot اطلاعات فوق‌العاده جالب و مفیدی به شما خواهد داد.


تنظیمات پیش‌فرض

تنظیم کلید میان‌بر ثبت اسنپ‌شات
تنظیم کلید میان‌بر ثبت اسنپ‌شات

با میان‌بر Ctrl + P یا از منوی Tools → Preferences می‌تونید وارد تنظیمات نرم‌افزار بشید. توجه کنید که پنجره‌ای که در ابتدا باز می‌شه—و در تصویر بالا شاهدش هستید—شامل تنظیمات ساده و ابتداییه. برای مشاهدهٔ تنظیمات پیشرفته، از گوشهٔ سمت چپ پنجره، جایی که Show settings رو می‌بینید، گزینهٔ All رو انتخاب کنید.

تنظیمات پیش‌فرض اسنپ‌شات
تنظیمات پیش‌فرض اسنپ‌شات

اسنپ‌شات‌ها به‌طورپیش‌فرض با فرمت PNG و پیشوند -vlcsnap ذخیره می‌شن. فرمت رو می‌تونید به JPG یا TIFF تغییر بدید. فایل‌ها همچنین با یک برچسب زمان³ نامگذاری می‌شن، اما این برچسب زمان نه زمان اون فریم در ویدئو بلکه ساعت و تاریخ دستگاه شماست. به مثال زیر توجه کنید.

2022-04-29-05h17m42s427
کلاژ بهترین فریم‌های The Batman
کلاژ بهترین فریم‌های The Batman

وقتی فریم‌های موردعلاقه‌م از The Batman رو جدا می‌کردم، و ازاونجایی‌که چنین فایل‌هایی رو برای استفاده‌های آتی بایگانی می‌کنم، برام مهم بود که هر فریم و سکانس برچسب زمان داشته باشه—زمان اون فریم در فیلم. به‌طبع، اولین راهی که به ذهنم رسید انجام این کار به‌صورت‌دستی بود. درنهایت، شصت و پنج فریم از این فیلم زیبا جدا کردم، و می‌تونید تصور کنید تغییر نام تک‌تکشون کار زمان‌بر و طاقت‌فرسایی بود، ضمن این که این روش همیشه دقیق‌ترین نیست. در اون زمان راه بهتری دراختیار نداشتم درحالی‌که اگه دست به جستجو می‌شدم، حتماً ابزار درست رو می‌یافتم.

تنظیمات اسنپ‌شات من
تنظیمات اسنپ‌شات من

پیشوند -vlcsnap رو از بالاتر به‌خاطر دارید؟ من از چنین عبارتی به جاش استفاده می‌کنم:

$N (Timestamp $T) #
  • $N = name
  • $T = time code of the video

چیزهای بیشتری هستن که می‌تونید استفاده کنید. فهرست کاملشون رو اینجا ببینید. درضمن، در تصویر بالا توجه کنید که من گزینهٔ use sequential numbers (استفاده از اعداد ترتیبی) رو هم فعال کرده‌م. به این شکل، به جای استفاده از برچسب زمان دستگاه، که پیش‌تر بهش اشاره شد، در انتهای نام هر فایل از شماره‌های متوالی استفاده می‌شه. اگه The Batman رو مثال قرار بدیم، حاصل چنین تنظیماتی این می‌شه:

The Batman (2022).mkv (Timestamp 01_36_37) #00001

به‌طوری‌که The Batman (2022).mkv نام فایل ویدئوست، 37_36_01 زمان ویدئو هنگام ثبت اسنپ‌شات، و 00001# بیانگر اولین مورد ذخیره‌شده.

مرتب‌سازی اسنپ‌شات‌ها براساس ترکیب نام شخصی
مرتب‌سازی اسنپ‌شات‌ها براساس ترکیب نام شخصی

بسیار عالی. حالا با دونستن چنین اطلاعاتی می‌تونید بهترین اسنپ‌شات‌های ممکن رو ثبت کنید.


استخراج فریم‌ها

چی می‌شه اگه بخواید کل فریم‌های یک ویدئو رو استخراج کنید؟ روشش ساده‌تر از اون چیزیه که تصور می‌کنید. مسیر من برای یافتن راه‌حل این کار جالب بود. ابتدا یک اسکریپت پایتون یافتم، که کار باهاش هم جالب بود چون باعث شد کمی با این زبان برنامه‌نویسی سروکله بزنم. قصد داشتم همهٔ فریم‌های تریلر معرفی Alan Wake II رو تک‌به‌تک بررسی کنم تا شاید بتونم به سرنخ جالبی برسم. (اسپویلر: موفق نشدم اما از این کار کلی لذت بردم.) مدتی بعد متوجه شدم VLC این کار رو خیلی آسون‌تر و بهتر انجام می‌ده.

فعال‌کردن فیلتر scene video
فعال‌کردن فیلتر scene video

ابتدا تنظیمات پیشرفته رو باز کرده و از Video → Filters تیک گزینهٔ scene video filter رو بزنید. سپس، روی فلش کنار Filters بزنید تا بتونید فیلترهای مختلف رو ببینید. حالا کمی پایین‌تر بیاید تا scene filter رو پیدا کنید و واردش بشید.

تنظیمات فیلتر scene video جهت استخراج فریم‌های ویدئو
تنظیمات فیلتر scene video جهت استخراج فریم‌های ویدئو

فرمت رو می‌تونید از png به jpg یا tiff تغییر بدید، هرچند PNG ایده‌آله. بعد از استخراج فریم‌ها خواهید دید که حجم مجموع فریم‌ها، بسته به کیفیت ویدئوی شما، چقدر می‌تونه بالا بره. بخش recording ratio مهمه چون تعیین می‌کنه هر چند فریم ذخیره بشه. برای مثال، اگه می‌خواید هر پنجاه فریم یک بار ذخیره بشه، عدد رو ۵۰ قرار بدید. عدد ۱ به معنای ذخیرهٔ تمام فریم‌هاست. درصورت تمایل، می‌تونید مسیر ذخیره رو هم تغییر بدید، برای مثال، Pictures\VLC در ویندوز. گزینهٔ Save رو برای ذخیرهٔ تنظیمات بزنید.

حالا ویدئوی موردنظر رو اجرا کرده و اجازه بدید تا انتها بره. VLC فریم‌هاش رو برای شما در مسیر مشخص‌شده ذخیره خواهد کرد.

نکته: بعد از اتمام کار، به Video → Filters برگشته و تیک scene video filter رو بردارید. درغیراین‌صورت، با پخش هر ویدئو، فریم‌های اون استخراج خواهند شد.


پانوشت‌ها

‏۱. کوتاه‌شدهٔ VideoLAN Client
‏۲. Downscale
‏۳. Timestamp

منابع

‏– How to extract the frames from a video using VLC

vlc
شاید از این پست‌ها خوشتان بیاید