تبدیل ویدیو به GIF: حجم، نرخ فریم و نکات حلقه
برای ساخت گیف از ویدیو، لحظهای به طول دو تا شش ثانیه انتخاب کنید، عرض آن را به 320–640 px برسانید، نرخ فریم را به 10–15 fps کاهش دهید و بگذارید مبدل از همان کلیپ یک پالت 256 رنگی بسازد. همین چهار انتخاب تعیین میکند که حاصل کار یک حلقهٔ واضح 2 MB باشد یا فایلی 30 MB که هیچ پیامرسانی آن را نمیپذیرد.
فایل GIF در واقع چه چیزی را ذخیره میکند
GIF از وب هم قدیمیتر است. شرکت CompuServe نسخهٔ اول، یعنی GIF87a، را در سال 1987 منتشر کرد تا تصاویر ثابت روی اتصالهای دایالآپ ارسال شوند. نسخهٔ 1989 با نام GIF89a دو قابلیتی را اضافه کرد که انیمیشن را ممکن ساخت: مقدار تأخیر برای هر فریم و یک رنگ شفاف. تکرار حلقهای بعدتر، در 1995، آمد؛ زمانی که Netscape Navigator 2.0 شروع به خواندن یک افزونهٔ کوچک کرد که تعداد تکرار را مشخص میکند. هر GIF متحرک امروز هم هنوز یک فایل GIF89a با همین بلوک است و برای همین تقریباً در هر مرورگر و برنامهٔ ایمیلی پخش میشود.
GIF در درون خود مجموعهای از تصاویر اندیسدار است. هر فریم به جدول رنگی حداکثر 256 ورودی اشاره میکند، پس یک فریم فقط 256 رنگ مختلف نشان میدهد، حتی اگر ویدیوی اصلی میلیونها رنگ داشته باشد. پیکسلها سپس با LZW فشرده میشوند؛ روشی بدون افت و مبتنی بر دیکشنری که روی نواحی تخت تکرنگ خوب و روی نویز، دانهدانهبودن و گرادیانهای عکسگونه بد عمل میکند. خود LZW چیزی را دور نمیریزد؛ افت کیفیت زودتر رخ میدهد، آنجا که میلیونها رنگ در یک پالت جا داده میشوند.
دو چیز دیگر هم هست که GIF نمیتواند داشته باشد. هیچ ترک صوتی ندارد، پس صدای ویدیو بهسادگی حذف میشود. زمانبندیاش هم درشت است: تأخیرها بر حسب صدم ثانیه ذخیره میشوند و بیشتر مرورگرها تأخیر 0 یا 1 صدم را 10 صدم در نظر میگیرند؛ بنابراین GIF ساختهشده با 50 fps یا بیشتر کندتر پخش میشود، نه روانتر. در عمل بازهٔ مفید 10 تا 25 fps است.
- GIF89a انیمیشن را اضافه کرد
- 1989
- حداکثر رنگ در هر فریم
- 256
- کوچکترین گام تأخیر
- 1/100 s
- ترک صوتی
- 0
چرا حجم گیفها بالا میرود و به چه ترتیبی آن را کم کنیم
کدکهای ویدیویی امروزی مثل H.264 فقط هرچند وقت یک بار تصویر کامل را ذخیره میکنند و بیشتر فریمها را بهصورت تغییرات کوچک نسبت به فریم قبل توصیف میکنند. GIF میتواند کمی از این کار را با بهروزرسانی فقط یک مستطیل از فریم قبلی انجام دهد، اما چیزی شبیه پیشبینی حرکت ندارد. به محض اینکه دوربین حرکت کند تقریباً همهٔ پیکسلها عوض میشوند و هر فریم تقریباً کامل ذخیره میشود. برای همین یک کلیپ 2 MB گوشی میتواند به GIF حدود 15 MB تبدیل شود، در حالی که ضبط صفحهای که فقط موس روی پنجرهای ثابت حرکت میکند بسیار کوچک میماند.
حجم GIF تقریباً برابر است با عرض ضرب در ارتفاع ضرب در تعداد فریمها، با تخفیفی بابت بخشهایی که بین فریمها ثابت میمانند. به همین دلیل رتبهبندی اهرمها آسان است. مدت، فریمها را یکبهیک کم میکند: چهار ثانیه به جای هشت ثانیه، حجم را نصف میکند. عرض، پیکسلها را بهصورت مجذوری کم میکند: رفتن از 640 px به 320 px یکچهارم پیکسلهای هر فریم را باقی میگذارد. نرخ فریم هم دوباره خطی فریمها را کم میکند و 12 fps برای حرکات دست و چهرهها بهطرز شگفتآوری خوب جواب میدهد. کم کردن رنگها کمتر از انتظار مؤثر است، معمولاً 10 تا 30 درصد، چون LZW بیشتر به الگوهای تکراری اهمیت میدهد تا به اندازهٔ پالت.
دیترینگ همان بدهبستانی است که بیشتر مردم را گیج میکند. این روش نقطههایی از رنگهای نزدیک پالت را پخش میکند تا سایهروشنهایی را که پالت ندارد شبیهسازی کند؛ نوارنوار شدن آسمان و پوست را پنهان میکند، اما نویز ریزی اضافه میکند که LZW بد فشردهاش میکند. برای ضبط صفحه، کارتون و دموی رابط کاربری که رنگ تخت همان واقعیت است آن را خاموش کنید و برای فیلم واقعی روشن بگذارید. برش آخرین اهرم است: حذف حاشیهٔ ثابت یا نوار سیاه بالا و پایین، بدون دست زدن به سوژه پیکسلها را کم میکند.
- اولکلیپ را کوتاه کنیدهر ثانیهای که حذف شود فریمهایش هم میرود؛ 2–6 ثانیه برای بیشتر واکنشها کافی است.
- دومعرض را کم کنیدنصف عرض یکچهارم پیکسلها را باقی میگذارد؛ 320–480 px برای پنجرهٔ چت مناسب است.
- سومنرخ فریم را پایین بیاورید10–15 fps حرکت را خوانا نگه میدارد؛ 8 fps برای ضبطهای کند صفحه مناسب است.
- چهارمرنگها و دیترینگ را کم کنید64–128 رنگ بدون دیترینگ برای گرافیک؛ 256 رنگ با دیترینگ برای فیلم.
انتخاب نقطهٔ شروع و پایان کلیپ
بیشتر GIFهایی که به اشتراک گذاشته میشوند یک لحظهٔ واحدند: یک واکنش، یک گل، کلیک روی یک دکمه و صفحهای که بعد از آن میآید. ویدیو را یک بار با کرونومتر ذهنی ببینید و ثانیهای را که لحظه شروع میشود و ثانیهای را که کاملاً به نتیجه رسیده یادداشت کنید، سپس چند فریم از هر طرف اضافه کنید تا حلقه بریدهبریده حس نشود. اگر منبع طولانی است، ابتدا بازه را با برش ویدیو جدا کنید و روی فایل کوتاه کار کنید. در مبدل هم نوشتن زمانها در شروع از و پایان در بهصورت ثانیه یا دقیقه:ثانیه همین کار را بدون مرحلهٔ جدا انجام میدهد.
به این هم فکر کنید که GIF از کجا شروع به پخش میشود. بسیاری از برنامههای چت و ایمیل هنگام بارگذاری فایل فریم اول را نشان میدهند و Outlook برای ویندوز از 2007 تا 2016 فقط فریم اول را نشان میدهد و هرگز متحرکش نمیکند. از فریمی شروع کنید که بهعنوان تصویر ثابت معنا دارد، نه از تاری وسط یک پن. اگر پیام GIF یک نوشته یا نتیجه است، با افزایش پایان در آن لحظهٔ آخر را نیم ثانیه نگه دارید تا بینندگان پیش از شروع دوبارهٔ حلقه بتوانند آن را بخوانند.
Tipمنبع را با فکر GIF فیلم بگیرید: گوشی را ثابت نگه دارید، کادر را با سوژه پر کنید و زوم نکنید. نمای ثابت با همان تنظیمات میتواند نصف حجم نمای دستی باشد.
محدودیت حجم GIF در Discord، Slack، GIPHY، X و Reddit
مقصد GIF پیش از هر تنظیمی بودجه را تعیین میکند. دیسکورد در 2024 سقف آپلود رایگان را به 10 MB برای هر فایل کاهش داد و این عددی است که بیشتر مردم اول به آن میرسند؛ Nitro Basic آن را به 50 MB و Nitro به 500 MB میرساند. GIPHY آپلود تا 15 ثانیه و 100 MB را میپذیرد. X تا 15 MB GIF میگیرد و هنگام آپلود آن را به ویدیوی حلقهای تبدیل میکند، و Reddit تا 100 MB GIF میپذیرد اما آن را هم بهصورت ویدیو ارائه میدهد. Slack فایل تا 1 GB میگیرد، اما ایموجی سفارشی باید زیر 128 KB بماند، یعنی عرض بسیار کم، حلقهٔ کوتاه و رنگهای کم.
ایمیل استثناست. Gmail برای هر پیام 25 MB پیوست و Outlook.com مقدار 20 MB اجازه میدهد، اما GIFی که درون متن خبرنامه یا امضا قرار میگیرد باید خیلی زیر 1 MB بماند تا پیام روی اینترنت موبایل سریع باز شود. در چت به جای اینکه درست زیر سقف باشید، نصف سقف را هدف بگیرید، چون گیرندگان ممکن است اتصال کندی داشته باشند. اعداد زیر در 2025 معتبر بودند؛ وقتی فایل درست لب مرز است صفحهٔ راهنمای سرویس را بررسی کنید.
| مقصد | محدودیت | اتفاقی که برای GIF میافتد |
|---|---|---|
| دیسکورد، حساب رایگان | 10 MB برای هر فایل | درون پیام پخش میشود و حلقه میزند |
| دیسکورد Nitro Basic / Nitro | 50 MB / 500 MB | درون پیام پخش میشود و حلقه میزند |
| پیام Slack / ایموجی سفارشی | 1 GB / 128 KB | درون پیام متحرک میشود، مگر اینکه بیننده انیمیشن را خاموش کرده باشد |
| آپلود در GIPHY | 15 ثانیه، 100 MB | بهصورت GIF، MP4 و WebP ارائه میشود |
| X (توییتر) | 15 MB | به MP4 حلقهای بدون صدا تبدیل میشود |
| 100 MB | برای پخش به ویدیو تبدیل میشود | |
| درون متن ایمیل | زیر 1 MB توصیه میشود | Outlook 2007–2016 برای ویندوز فقط فریم اول را نشان میدهد |
چه زمانی MP4، WebM، WebP یا APNG از GIF بهتر است
دلیل اینکه X هر GIF آپلودشده را به MP4 تبدیل میکند و از 2014 همین کار را کرده، پهنای باند است. همان پنج ثانیهای که بهصورت GIF 4 MB حجم دارد، با H.264 معمولاً در چند صد کیلوبایت جا میشود، با رنگ کامل به جای 256 طیف و بدون نویز دیترینگ. GIPHY و Tenor هم همین کار را میکنند: دکمهٔ GIF در کیبورد شما معمولاً یک MP4 یا WebP کوچک میآورد. پس پرسش درست این نیست که بهترین GIF را چگونه بسازیم، بلکه این است که اصلاً جایی که در آن پست میگذارید به GIF نیاز دارد یا نه.
وقتی مقصد تصویر نشان میدهد اما ویدیو نه، GIF واقعی نگه دارید: متن ایمیل، README یا issue در GitHub، تیکت Jira، ویکی، انجمن قدیمی، یا اسلایدی که باید در هر نمایشگری کار کند. هرجا ویدیو درون صفحه و بیصدا پخش میشود، که شامل بیشتر شبکههای اجتماعی و برنامههای چت امروزی است، حلقهٔ MP4 یا WebM بهتر به نظر میرسد و سریعتر بارگذاری میشود. در صفحهٔ وبی که خودتان کنترل میکنید، عنصر <video autoplay muted loop playsinline> مثل GIF رفتار میکند و کسری از بایتها را مصرف میکند.
دو فرمت تصویری هم میان اینها قرار دارند. WebP متحرک از گوگل میلیونها رنگ و فشردهسازی با افت را پشتیبانی میکند و از نسخهٔ 14 سافاری در 2020 پخش میشود، پس اکنون در هر مرورگر فعلی کار میکند، هرچند بسیاری از برنامههای خارج از مرورگر هنوز آن را نمیپذیرند. APNG فرمت PNG را با فریم گسترش میدهد، رنگ کامل و شفافیت آلفای واقعی را نگه میدارد و اپل و LINE برای استیکرهای متحرک از آن استفاده میکنند. اگر GIF از قبل وجود دارد و فقط برای سایتی که ویدیو پخش میکند باید کوچکتر شود، تبدیل دوبارهٔ GIF به MP4 معمولاً بزرگترین صرفهجویی تکی است.
GIF
256 رنگ، بدون صدا، فایلهای بزرگ، اما همهجا بهصورت تصویر نمایش داده میشود.
- متن ایمیل، README، تیکت و ویکی
- بدون دکمهٔ پخش حلقه میزند
- بدترین نسبت حجم به کیفیت میان این چهار
MP4 یا WebM
رنگ کامل و فشردهسازی حرکت، اغلب یکدهم حجم.
- میتواند صدا را نگه دارد
- در بیشتر سایتهای اجتماعی بیصدا خودکار پخش میشود
- بیشتر برنامههای ایمیل آن را درون متن نشان نمیدهند
WebP متحرک یا APNG
تصاویر متحرک تمامرنگ؛ APNG شفافیت نرم هم دارد.
- در هر مرورگر فعلی کار میکنند
- پشتیبانی ناپایدار در برنامههای دسکتاپ و ایمیل
- APNG برای استیکر رایج است
شش روش تبدیل ویدیو به GIF
گوشیها بدون نصب برنامهٔ اضافه هم میتوانند این کار را انجام دهند. در iPhone برنامهٔ Shortcuts اکشنی به نام Make GIF دارد که ویدیو یا Live Photo را میپذیرد و Live Photo با افکت Loop یا Bounce راهی سریع برای گرفتن منبع است. برنامهٔ Gallery در گوشیهای سامسونگ هنگام پخش ویدیو دکمهٔ GIF نشان میدهد و بخش قابلمشاهده را بهصورت GIF ضبط میکند. برنامهٔ GIPHY و ابزار وب GIF Maker آن، برش، افزودن عنوان و آپلود را یکجا انجام میدهند، اما نتیجه عمومی است مگر اینکه فقط ذخیرهاش کنید. در Photoshop گزینهٔ File > Import > Video Frames to Layers تا ۵۰۰ فریم را وارد میکند و Export > Save for Web (Legacy) فایل GIF را با کنترل پالت رنگ و دیترینگ ذخیره میکند.
برای کنترل کامل و کارهای دستهای، روش دومرحلهای پالت در ffmpeg تمیزترین نتیجه را میدهد: فیلتر اول کلیپ را بررسی میکند و از رنگهای واقعی آن پالتی ۲۵۶ رنگ میسازد و فیلتر دوم هر فریم را روی آن پالت نگاشت میکند. دستور تکخطی زیر پنج ثانیه را از 0:02 میبرد، عرض را به 480 px میرساند، با 12 fps نمونهبرداری میکند و بینهایت تکرار میکند. در مرورگر، مبدل ویدیو به GIF همین مرحلهٔ پالت را با گزینههای عرض، نرخ فریم، رنگها و دیترینگ انجام میدهد و صفحهٔ تبدیل MP4 به GIF آن را با MP4 از پیش انتخابشده باز میکند. کلیپهای MOV گوشی هم همینطور کار میکنند؛ اگر برنامهای آنها را نپذیرفت، ابتدا تبدیل MOV به MP4 را بخوانید.
iPhone
- 01در Shortcuts این ترتیب را بسازید: Select Photos ← Make GIF ← Save to Photo Album.
- 02آن را اجرا کنید و ویدیو یا Live Photo را انتخاب کنید؛ کلیپهای بلند را ابتدا در Photos کوتاه کنید.
- 03GIF را از آلبوم Animated در Photos به اشتراک بگذارید.
Android
- 01ویدیو را در Gallery سامسونگ باز کنید و هنگام پخش روی GIF بزنید.
- 02دستگیرهها را تا بخش موردنظر بکشید.
- 03روی Save بزنید؛ در گوشیهای دیگر از یک مبدل وب در Chrome استفاده کنید.
رایانه
- 01در Photoshop گزینهٔ File > Import > Video Frames to Layers را انتخاب کنید.
- 02در پنل Timeline تأخیر فریم و تکرار Forever را تنظیم کنید.
- 03با Save for Web (Legacy) و فرمت GIF با 128–256 رنگ خروجی بگیرید.
ffmpeg -ss 2 -t 5 -i video.mp4 -vf "fps=12,scale=480:-1:flags=lanczos,split[a][b];[a]palettegen[p];[b][p]paletteuse" -loop 0 khoruji.gif
حلقههای بینقص و بررسی نهایی کیفیت
GIF بهطور پیشفرض بینهایت تکرار میشود، چون افزونهٔ Netscape با تعداد تکرار صفر نوشته میشود که یعنی بینهایت. اگر تعداد را یک بگذارید، فقط یک بار پخش میشود و روی آخرین فریم میماند؛ این برای GIFی که با یک پیام تمام میشود مناسب است. بخش دشوارتر نامحسوس کردن حلقه است. دنبال بازهای بگردید که فریمهای ابتدا و انتهایش تقریباً یکسان باشند، مثل دست تکاندادنی که به همان موقعیت برمیگردد، یا کلیپ را با بومرنگ یک بار رو به جلو و بار دیگر رو به عقب پخش کنید که پرش را از بین میبرد، البته به قیمت دو برابر شدن تعداد فریمها.
پیش از ارسال، GIF را در یک تب مرورگر با اندازهٔ واقعیاش باز کنید، نه بهصورت پیشنمایش کوچک، و سه حلقهٔ کامل را تماشا کنید. بررسی کنید متن داخل کادر در عرض انتخابی خوانا باشد، چهرهها به لکههای پوسترشده تبدیل نشده باشند و زمانبندی با ویدیو یکی باشد. سپس حجم فایل را با حد جدول بالا مقایسه کنید؛ اگر نزدیک بود، به ترتیب کاهش طول، عرض، نرخ فریم و رنگها برگردید. برای کلیپهای بلندتر یا هر چیزی که صدا دارد، کاهش حجم ویدیو برای Discord و ایمیل راه بهتری است.
نواربندی در آسمان، سایهها و پوست
طیف رنگهای پالت تمام شده است. 256 رنگ را نگه دارید و دیترینگ را روی Sierra یا Floyd–Steinberg بگذارید، یا برای فیلمهای پرگرادیان MP4 بفرستید.
GIF سریعتر یا کندتر از ویدیو پخش میشود
تأخیرها بر حسب صدم ثانیه ذخیره میشوند. 10، 20 و 25 fps دقیق تقسیم میشوند؛ مرورگرها هر مقدار بالای 50 fps را کندتر پخش میکنند.
متن داخل کادر خوانا نیست
عرض را به 640 px برسانید و برای جبران، نرخ فریم را پایین بیاورید، یا پیش از تبدیل، فقط ناحیهٔ دارای متن را برش بزنید.
هنگام شروع دوبارهٔ حلقه پرش دیده میشود
شروع از و پایان در را روی فریمهای همخوان ببرید، یا بومرنگ را روشن کنید و بازه را نصف کنید.
نکات کلیدی
- GIF در هر فریم حداکثر 256 رنگ دارد، صدا ندارد و تأخیر فریمها بر حسب صدم ثانیه است.
- حجم به طول، عرض و نرخ فریم بستگی دارد؛ پیش از دستزدن به رنگها، به همین ترتیب آنها را کم کنید.
- 2–6 ثانیه، عرض 320–640 px و 10–15 fps را هدف بگیرید؛ برای ضبط صفحه دیترینگ را خاموش کنید.
- Discord رایگان 10 MB، X 15 MB، GIPHY 15 ثانیه و 100 MB، و ایموجی Slack حداکثر 128 KB میپذیرد.
- جایی که ویدیو درونصفحه پخش میشود، حلقهٔ MP4 یا WebM از هر GIF کوچکتر است و بهتر دیده میشود.
پرسشهای متداول
بهترین نرخ فریم برای تبدیل ویدیو به GIF چقدر است؟
برای بیشتر کلیپها بین 10 تا 15 fps. فیلمهای سریع ورزشی یا بازی میتوانند 20 fps را توجیه کنند؛ ضبطهای کند صفحه با 8 fps هم خوب به نظر میرسند و حجم بسیار کمتری دارند.
یک GIF چند ثانیه باید باشد؟
دو تا شش ثانیه تقریباً همهٔ واکنشها، آموزشها و لحظههای برجسته را پوشش میدهد. بعد از ده ثانیه GIF بهسرعت سنگین میشود و معمولاً یک MP4 کوتاه فایل بهتری برای اشتراکگذاری است.
آیا GIF بدون افت کیفیت است؟
فشردهسازی LZW داخل GIF بدون افت است، اما تبدیل اینطور نیست، چون میلیونها رنگ ویدیو به پالتی با 256 رنگ در هر فریم کاهش مییابد. نواربندی و دانهدانهشدن از همین کاهش میآید.
چرا X گیف من را به ویدیو تبدیل میکند؟
X از سال 2014 GIFهای بارگذاریشده را به MP4 تکرارشونده تبدیل میکند، چون ویدیو بسیار کوچکتر است و رنگ کامل را حفظ میکند. پست همچنان مثل GIF بیصدا تکرار میشود.
آیا میتوان از ویدیوی YouTube گیف ساخت؟
فقط از فایلی که روی دستگاه خودتان دارید و حق استفاده از آن را دارید. ویدیوی آپلودشدهٔ خودتان را از YouTube Studio دانلود کنید یا از ضبط اصلی استفاده کنید، سپس برش بزنید و تبدیل کنید.
تفاوت GIF و WebP متحرک چیست؟
WebP متحرک از میلیونها رنگ، فشردهسازی با افت و شفافیت نرم پشتیبانی میکند، برای همین معمولاً بسیار کوچکتر است. GIF در جاهای بیشتری کار میکند، از جمله برنامههای ایمیل و برنامههای قدیمیای که WebP را نادیده میگیرند.
ادامه مطالعه
کاهش حجم ویدیو برای Discord و ایمیل (10 و 25 MB)
حد Discord رایگان 10 MB، Gmail 25 MB و Outlook 20 MB است. نقش بیتریت و مدت، تنظیمات مهم و زمان ارسال لینک بهجای فشردهسازی را بیاموزید.
Mina Sato · ۲۵ شهریور ۱۴۰۵ · 11 دقیقه مطالعه
تبدیل MOV به MP4 در آیفون، مک، ویندوز و آنلاین
MOV و MP4 تقریباً یکیاند؛ کدک HEVC ویدیوهای آیفون است که در ویندوز و اندروید اجرا نمیشود. روشهای رایگان تبدیل، حفظ کیفیت و رفع خطاها.
Mina Sato · ۱۳ مهر ۱۴۰۵ · 11 دقیقه مطالعه
سایز پست و استوری اینستاگرام در 2025: همه ابعاد به پیکسل
سایز اینستاگرام 2025: پست 1080 × 1350 (4:5) یا 1080 × 1080، افقی 1080 × 566، استوری و ریلز 1080 × 1920 با حاشیه امن 250 px، پروفایل 320 × 320.
Jonas Weber · ۱۵ مهر ۱۴۰۵ · 11 دقیقه مطالعه