برای بارگذاری سریع‌تر صفحه، تصاویر متحرک GIF را با ویدیو جایگزین کنید

آیا تا به حال یک GIF متحرک در سرویسی مانند Imgur یا Gfycat دیده اید که آن را در ابزارهای توسعه دهنده خود بررسی کنید تا متوجه شوید که GIF واقعا یک ویدیو است؟ دلیل خوبی برای آن وجود دارد. GIF های متحرک می توانند کاملاً بزرگ باشند.

پانل شبکه DevTools که گیف 13.7 مگابایتی را نشان می دهد.

خوشبختانه، این یکی از آن حوزه‌هایی از عملکرد بارگیری است که در آن می‌توانید کار نسبتا کمی برای دستیابی به دستاوردهای بزرگ انجام دهید! با تبدیل GIF های بزرگ به ویدیو، می توانید در پهنای باند کاربران صرفه جویی زیادی کنید .

ابتدا اندازه گیری کنید

از Lighthouse برای بررسی سایت خود برای GIF هایی که می توانند به ویدیو تبدیل شوند، استفاده کنید. در DevTools، روی تب Audits کلیک کنید و کادر Performance را علامت بزنید. سپس Lighthouse را اجرا کنید و گزارش را بررسی کنید. اگر فایل‌های GIF قابل تبدیل دارید، باید پیشنهادی برای «استفاده از فرمت‌های ویدیویی برای محتوای متحرک» ببینید:

ممیزی فانوس دریایی ناموفق، از فرمت های ویدئویی برای محتوای متحرک استفاده کنید.

ویدیوهای MPEG ایجاد کنید

روش‌های مختلفی برای تبدیل فایل‌های GIF به ویدیو وجود دارد، FFmpeg ابزاری است که در این راهنما استفاده می‌شود. برای استفاده از FFmpeg برای تبدیل GIF، my-animation.gif به یک ویدیو MP4، دستور زیر را در کنسول خود اجرا کنید:

ffmpeg -i my-animation.gif -b:v 0 -crf 25 -f mp4 -vcodec libx264 -pix_fmt yuv420p my-animation.mp4

این به FFmpeg می‌گوید که my-animation.gif به عنوان ورودی که با پرچم -i مشخص می‌شود، بگیرد و آن را به ویدیویی به نام my-animation.mp4 تبدیل کند.

رمزگذار libx264 فقط با فایل‌هایی کار می‌کند که ابعاد یکسانی دارند، مانند 320 پیکسل در 240 پیکسل. اگر GIF ورودی دارای ابعاد عجیب و غریب است، می توانید یک فیلتر برش اضافه کنید تا FFmpeg خطای «ارتفاع/عرض قابل تقسیم بر 2» را ایجاد نکند:

ffmpeg -i my-animation.gif -vf "crop=trunc(iw/2)*2:trunc(ih/2)*2" -b:v 0 -crf 25 -f mp4 -vcodec libx264 -pix_fmt yuv420p my-animation.mp4

ویدیوهای WebM ایجاد کنید

در حالی که MP4 از سال 1999 وجود داشته است، WebM یک فرمت فایل نسبتاً جدید است که ابتدا در سال 2010 منتشر شد. ویدیوهای WebM بسیار کوچکتر از ویدیوهای MP4 هستند، اما همه مرورگرها از WebM پشتیبانی نمی کنند، بنابراین تولید هر دو منطقی است.

برای استفاده از FFmpeg برای تبدیل my-animation.gif به ویدیوی WebM، دستور زیر را در کنسول خود اجرا کنید:

ffmpeg -i my-animation.gif -c vp9 -b:v 0 -crf 41 my-animation.webm

تفاوت را مقایسه کنید

صرفه جویی در هزینه بین یک GIF و یک ویدیو می تواند بسیار قابل توجه باشد.

مقایسه اندازه فایل 3.7 مگابایت برای گیف، 551 کیلوبایت برای mp4 و 341 کیلوبایت برای وب.

در این مثال، GIF اولیه 3.7 مگابایت است، در مقایسه با نسخه MP4 که 551 کیلوبایت است و نسخه WebM که تنها 341 کیلوبایت است!

تصویر GIF را با یک ویدیو جایگزین کنید

گیف های متحرک دارای سه ویژگی کلیدی هستند که یک ویدیو باید آنها را تکرار کند:

  • آنها به طور خودکار بازی می کنند.
  • آنها به طور مداوم حلقه می زنند (معمولا، اما می توان از حلقه زدن جلوگیری کرد).
  • اونا ساکتن

خوشبختانه، می توانید این رفتارها را با استفاده از عنصر <video> بازسازی کنید.

<video autoplay loop muted playsinline></video>

یک عنصر <video> با این ویژگی‌ها به‌طور خودکار پخش می‌شود، بی‌پایان حلقه می‌زند، صدا پخش نمی‌کند، و به صورت درون خطی پخش می‌شود (یعنی نه تمام صفحه)، همه رفتارهای شاخص مورد انتظار از GIF‌های متحرک! 🎉

در نهایت، عنصر <video> به یک یا چند عنصر <source> نیاز دارد که به فایل‌های ویدئویی مختلفی اشاره می‌کنند که مرورگر می‌تواند بسته به پشتیبانی از فرمت مرورگر، از بین آنها انتخاب کند. هم WebM و هم MP4 را ارائه دهید تا اگر مرورگر از WebM پشتیبانی نمی‌کند، بتواند به MP4 برگردد.

<video autoplay loop muted playsinline>
 
<source src="my-animation.webm" type="video/webm">
 
<source src="my-animation.mp4" type="video/mp4">
</video>

اثر روی بزرگترین رنگ محتوایی (LCP)

لازم به ذکر است که در حالی که عناصر <img> کاندید LCP هستند، عناصر <video> بدون تصویر poster کاندید LCP نیستند. راه حل در مورد شبیه سازی GIF های متحرک این است که ویژگی poster به عناصر <video> خود اضافه نکنید ، زیرا آن تصویر بلااستفاده خواهد ماند.

این برای وب سایت شما چه معنایی دارد؟ توصیه این است که از <video> به جای GIF متحرک استفاده کنید، اما با درک این موضوع که چنین رسانه ای کاندید LCP نخواهد بود و به جای آن از بزرگترین کاندید بعدی استفاده خواهد شد. از آنجایی که فایل‌های GIF و <video> معمولاً بزرگ‌تر هستند و دانلود آن‌ها بسیار کندتر است، حرکت به یک نامزد LCP دیگر احتمالاً LCP سایت را بهبود می‌بخشد.