ویدیو برای وب: حجم، سرعت و تصمیمی که قبل از آن می گیرید
ویدیو سنگین ترین چیزی است که روی یک صفحه گذاشته می شود، پس اولین تصمیم فشرده سازی نیست، این است که آیا این صفحه اصلا به ویدیو نیاز دارد. اگر دارد، چهار اهرم واقعی وجود دارد: فشرده سازی درست، انتخاب رزولوشن به اندازه قاب نمایش، پوستر به جای پیش بارگذاری فایل، و میزبانی فایل جایی غیر از همان سروری که HTML را می دهد.
- درس ۷ از ۱۰
- میانی
- رایگان، بدون ثبت نام
چهار اهرمی که ویدیو را از مسیر بارگذاری بیرون می برند
نمره کارایی لایت هاوس از ۰ تا ۱۰۰ است و باند سبزش از ۹۰ شروع می شود.
- کدگذاری درستهیچ صفتی روی تگ، فایل بد کدگذاری شده را جبران نمی کند.
- رزولوشن به اندازه قابفایل ۱۰۸۰ پیکسلی برای قابی که روی موبایل ۳۶۰ پیکسل است، بایت دور ریختن است.
- پوستر به جای پیش بارگذاریپوستر خودش نامزد LCP است، پس باید فشرده باشد.
- میزبانی جدا از HTMLویدیوی بلند روی هاست اشتراکی، همان جایی است که تصمیم می شکند.
نمره لایت هاوس آزمایشگاهی است و رفتار کاربر در آن نیست. صفحه ای که ویدیویش هیچ وقت کلیک نمی شود، نمره خوبی می گیرد و تجربه کلیک کننده را نمی گوید.
آخرین بررسی: فکت ها و نام ابزارهای این درس در همین تاریخ با منابعشان بازبینی شده اند.
آیا این صفحه اصلا به ویدیو نیاز دارد؟
موضع ما این است: بیشتر صفحه های کسب و کار نباید ویدیوی خودکار داشته باشند، و خیلی هایشان اصلا نباید ویدیو داشته باشند.
این حرف از یک آژانسی می آید که خودش ویدیو می سازد و می فروشد، و همین است که آن را قابل اعتماد می کند. صفحه ای که ویدیوی پس زمینه دارد، پیش از آنکه بازدیدکننده یک کلمه بخواند، مگابایت ها داده گرفته و پردازنده اش را روی رمزگشایی ویدیو گذاشته. اگر آن ویدیو چیزی می گوید که متن و تصویر نمی گویند، این هزینه درست است. اگر فقط فضاسازی است، نیست.
سه سوال، به همین ترتیب، تصمیم را می گیرند. اول، این ویدیو چه چیزی نشان می دهد که یک تصویر ثابت و دو جمله نشان نمی دهند؛ اگر جواب «حرکت» است، مثل یک دمو یا یک فرایند، ویدیو درست است. دوم، بازدیدکننده آن را می خواهد یا ما می خواهیم؛ کسی که آمده قیمت ببیند، ویدیوی معرفی شرکت را نمی خواهد. سوم، اگر پخش نشود چه چیزی از دست می رود؛ اگر جواب هیچ است، ویدیو تزیین است.
روی همین سایت، جواب همین سه سوال ما را به جایی رساند که در قالب سایت حتی یک تگ ویدیو وجود ندارد و شکل ها همه با HTML و CSS کشیده می شوند. ما ویدیو می فروشیم و ویدیوی خودمان جای دیگری است، نه در مسیر بارگذاری صفحه های فروش.

این ویدیو چه چیزی نشان می دهد که یک تصویر ثابت و دو جمله نشان نمی دهند؟
ویدیو درست است
- دموی محصول یا یک فرایند مرحله به مرحله
- چیزی که خودش تغییر می کند و عکس نمی گیردش
- شهادت مشتری، جایی که لحن بخشی از پیام است
- پوستر بگذارید، preload را none کنید، پخش با کلیک
ویدیو را بردارید
- ویدیوی پس زمینه هیرو که کسی تماشایش نمی کند
- فیلم معرفی شرکت روی صفحه قیمت
- انیمیشن کوتاه تکرار شونده: به جایش ویدیوی بی صدا با loop
- هر ویدیویی که اگر پخش نشود چیزی از دست نمی رود
ویدیو دقیقا کجای سرعت صفحه را می زند؟
در دو نقطه، و فقط یکی از آنها همانی است که همه فکر می کنند.
نقطه اول حجم است و آشناست: بایت هایی که دانلود می شوند با بقیه منابع صفحه بر سر همان پهنای باند رقابت می کنند، و روی موبایل با اینترنت متوسط این رقابت را ویدیو می برد چون بزرگ تر است. نقطه دوم کمتر شناخته شده و مهم تر است: خود ویدیو می تواند عنصر LCP صفحه باشد. مستند web.dev می گوید عنصر video نامزد LCP است و برای آن، هرکدام زودتر باشد حساب می شود: زمان بارگذاری تصویر پوستر یا زمان نمایش اولین فریم.
یعنی اگر بزرگ ترین چیز بالای صفحه شما یک ویدیوست، معیاری که گوگل به عنوان تجربه صفحه اندازه می گیرد به آن گره خورده است. آستانه ای که web.dev برای LCP خوب می گوید ۲.۵ ثانیه یا کمتر است، در صدک ۷۵ ام بارگذاری ها، و بالای ۴ ثانیه ضعیف شمرده می شود.
نتیجه عملی دو خطی است. اگر ویدیو خودکار پخش نمی شود، حتما پوستر بگذارید، چون آن وقت به جای دانلود ویدیو، فقط یک تصویر بهینه شده روی مسیر LCP می نشیند. و اگر همان پوستر بزرگ ترین عنصر صفحه است، web.dev پیشنهاد می کند با fetchpriority="high" اولویتش را بالا ببرید.
یک تله که زیاد دیده می شود: پوستر بی کیفیت یا پوستری که خودش چند صد کیلوبایت است. پوستر یک تصویر معمولی است و همان قواعد بهینه سازی تصویر را دارد؛ اگر آن را فشرده نکنید، فقط جای مشکل را عوض کرده اید.
کدام تنظیم های تگ ویدیو واقعا اثر دارند؟
چهارتا، و بیشترین اثر مال همان یکی است که کمتر از همه تنظیم می شود: preload.
| مقدار preload | مرورگر چه می کند | کجا درست است |
|---|---|---|
none | هیچ چیزی از ویدیو پیش دانلود نمی شود | ویدیویی که کاربر باید روی آن کلیک کند |
metadata | فقط اطلاعات فایل مثل طول گرفته می شود | پیش فرض توصیه شده در مستند MDN |
auto | کل فایل می تواند دانلود شود، حتی اگر پخش نشود | تقریبا هیچ جا در یک صفحه فروش |
فصل ویدیوی web.dev برای پخشی که کاربر شروعش می کند، صریحا preload="none" را می گوید. همین یک صفت، سنگین ترین دانلود صفحه را از مسیر بارگذاری بیرون می برد.
پوستر دومی است. MDN می گوید اگر poster ندهید، تا آماده شدن اولین فریم هیچ چیز نشان داده نمی شود و بعد همان فریم اول به عنوان پوستر می نشیند؛ یعنی بدون پوستر یا یک مستطیل خالی دارید یا مجبورید فایل را زودتر بگیرید.
پخش خودکار سومی است و بیشتر یک تصمیم است تا یک تنظیم. web.dev می نویسد autoplay فقط وقتی باید استفاده شود که لازم باشد و از یک نیاز قابل پیش بینی کاربر بیاید. MDN هم یادآوری می کند که مرورگرهای امروزی پخش خودکار ویدیوی صدادار را می بندند، پس ویدیوی خودکاری که صدا دارد در عمل پخش نمی شود.
و جایگزینی گیف چهارمی است، که تنها جایی است که پخش خودکار تقریبا همیشه درست است. اگر یک انیمیشن کوتاه تکرار شونده می خواهید، به جای GIF یک ویدیوی بی صدا با autoplay و muted و loop بگذارید. web.dev برای همین حالت پیشنهاد می کند نوار صدا را با پرچم -an در ffmpeg کاملا حذف کنید، چون حذف نوار صدا حجم فایل را کم می کند.
یک نکته که در فهرست ها نمی آید: این چهار تنظیم روی فایلی که بد کدگذاری شده کار نمی کنند. رزولوشن را به اندازه ای برسانید که واقعا نمایش داده می شود؛ فرستادن یک فایل ۱۰۸۰ پیکسلی برای قابی که روی موبایل ۳۶۰ پیکسل عرض دارد، هیچ کدام از این صفت ها جبرانش نمی کند.
فایل را کجا میزبانی کنیم: سرور خودمان یا یک پلتفرم؟
هر دو انتخاب معتبرند و برای دو موقعیت متفاوت اند؛ چیزی که آنها را جدا می کند کنترل در برابر بار است.
وقتی فایل را خودتان می دهید، همه چیز دست شماست: نه پخش کننده کس دیگری، نه اسکریپت اضافه، نه لوگو و پیشنهاد ویدیوی بعدی، و هیچ داده ای از بازدیدکننده جای دیگری نمی رود. هزینه اش هم روشن است: پهنای باند و ترافیک همان سروری را می خورد که HTML سایت را می دهد، و ویدیوی بلند روی هاست اشتراکی همان جایی است که این تصمیم می شکند.
وقتی از یک پلتفرم استفاده می کنید، بارش را آنها می برند و پخش تطبیقی و نسخه های مختلف کیفیت را هم مجانی می گیرید. در عوض یک مبدا سوم به صفحه اضافه می شود با اسکریپت خودش، ظاهر پخش کننده دست شما نیست، و هرچه در آن پخش کننده اتفاق می افتد قواعد آن سرویس را دارد.
قاعده ای که ما استفاده می کنیم ساده است: هر چیز کوتاه تر از حدود ده ثانیه که تزیینی یا نمایشی است، فایل خودمان با پخش خودکار بی صدا؛ هر چیزی که بلند است و کسی می نشیند تماشا کند، پلتفرم با یک تصویر پوستر و بارگذاری تنبل، تا اسکریپت پخش کننده فقط بعد از کلیک بیاید.
و یک تله فنی که هر دو حالت را می زند: قرار دادن ویدیو داخل صفحه ای که خودش کش صفحه دارد. فایل ویدیو از کش HTML نمی آید و مسیر خودش را دارد، پس نمره سرعتی که با ابزار می گیرید ممکن است ویدیو را کامل نشان ندهد. برای همین بعد از هر تغییر، صفحه را یک بار با شبکه محدود شده در ابزار توسعه دهنده مرورگر باز کنید و ببینید چه چیزی واقعا دانلود می شود.
فایل خودتان یا پلتفرم: کنترل در برابر بار
فایل روی سرور خودتان
- هیچ اسکریپت و مبدا سومی به صفحه اضافه نمی شود
- ظاهر پخش کننده و رفتار بعد از پایان، دست شماست
- پهنای باند از همان سروری می رود که HTML را می دهد
- مناسب کلیپ کوتاه، بی صدا و تکرار شونده
میزبانی روی یک پلتفرم
- پخش تطبیقی و چند نسخه کیفیت، بدون کار اضافه
- بار پهنای باند از سرور شما برداشته می شود
- اسکریپت پخش کننده را با بارگذاری تنبل عقب بیندازید
- مناسب ویدیوی بلند که کسی می نشیند تماشا کند
هیچ کدام بهتر از دیگری نیست و انتخاب را طول ویدیو و ظرفیت هاست تعیین می کند، نه سلیقه.
نمره ۹۰ یعنی چه و چه چیزی را نمی گوید؟
نمره کارایی لایت هاوس بین ۰ تا ۱۰۰ است و مستند خود کروم باندهایش را این طور می گوید: ۰ تا ۴۹ ضعیف، ۵۰ تا ۸۹ نیازمند بهبود، و ۹۰ تا ۱۰۰ خوب. عددی که ما هدف می گیریم همان مرز پایینی باند سبز است، یعنی ۹۰.
حالا چیزی که این نمره نمی گوید، و مهم تر از خود نمره است. لایت هاوس یک آزمایش آزمایشگاهی است: یک بار، روی یک دستگاه شبیه سازی شده، با یک شبکه شبیه سازی شده. کاربران واقعی شما روی گوشی های متفاوت و شبکه های متفاوت اند و آن چیزی است که در داده میدانی دیده می شود، نه در این نمره.
برای ویدیو این تفاوت بزرگ تر از حد معمول است، چون رفتار کاربر بخشی از معادله است. یک صفحه با ویدیوی preload="none" در آزمایشگاه عالی نمره می گیرد، چون هیچ کس کلیک نمی کند. تجربه واقعی کسی که کلیک می کند در آن نمره اصلا نیست.
پس نمره را به عنوان زنگ خطر بخوانید و نه هدف. اگر زیر ۹۰ است، چیزی روی مسیر بارگذاری هست که باید دیده شود. اگر بالای ۹۰ است، فقط یعنی مسیر بارگذاری تمیز است؛ اینکه ویدیو بعد از کلیک چقدر طول می کشد تا شروع شود را باید جدا اندازه بگیرید. اگر می خواهید بدانید کل این ماجرا در یک پروژه سرعت کجا می نشیند، افزایش سرعت سایت فرایندش را توضیح می دهد.
مسیر سریع با هوش مصنوعی
مسیر سریع اینجا این نیست که از یک مدل بپرسید چطور ویدیو را سبک کنم. این است که اول فهرست واقعی ویدیوهای صفحه را با ffprobe در بیاورید، و بعد همان فهرست را با بودجه صفحه به مدل بدهید تا برای هر فایل یک تصمیم مشخص و یک دستور آماده برگرداند. تفاوتش با پرسیدن مستقیم این است که مدل دیگر حدس نمی زند: عددها جلوی چشمش است.
- فهرست بگیرید. برای هر فایل ویدیوی صفحه، رزولوشن، طول، نرخ بیت و حجم را با ffprobe در یک خط بخوانید. همین جدول معمولا خودش نصف تصمیم را می گیرد.
- عرض واقعی نمایش را اندازه بگیرید. در ابزار توسعه دهنده مرورگر، عرض قاب ویدیو را روی موبایل و دسکتاپ ببینید. این عدد است که رزولوشن هدف را تعیین می کند و نه اینکه فایل اصلی چقدر بوده.
- جدول و بودجه را با دستور زیر به یک مدل بدهید. خروجی برای هر فایل یک ردیف است: بماند یا برود، رزولوشن هدف، و اینکه صدا لازم است یا نه.
- دستورهای کدگذاری را اجرا کنید، پوستر را از خود فایل خروجی بگیرید، و تگ را با پوستر و preload درست بنویسید. بعد صفحه را با شبکه محدود شده باز کنید و ببینید چه چیزی واقعا دانلود می شود.
نسخه آماده کپی
# هر چهار دستور روی همین سرور با ffmpeg 6.1.1 اجرا و خروجی شان بررسی شد.
# ۱. فهرست: رزولوشن، طول، نرخ بیت و حجم هر فایل
for f in *.mp4 *.mov; do
echo "== $f"
ffprobe -v error -show_entries stream=width,height,codec_name \
-show_entries format=duration,bit_rate,size -of default=nw=1 "$f"
done
# ۲. نسخه وب. عدد بعد از scale ارتفاع هدف است؛ 2- یعنی عرض خودش
# حساب شود تا زوج بماند. crf بالاتر یعنی فایل کوچک تر و کیفیت کمتر.
ffmpeg -i source.mov -vf "scale=-2:720" -c:v libx264 -crf 26 -preset slow \
-profile:v high -pix_fmt yuv420p -c:a aac -b:a 128k \
-movflags +faststart web.mp4
# ۳. جایگزین گیف: بی صدا و سبک تر
ffmpeg -i source.mov -an -vf "scale=-2:720" -c:v libx264 -crf 28 \
-preset slow -pix_fmt yuv420p -movflags +faststart loop.mp4
# ۴. پوستر، از خود فایل خروجی و نه از فایل اصلی
ffmpeg -ss 2 -i web.mp4 -frames:v 1 -q:v 3 poster.jpg
# ۵. دستور تصمیم، برای یک مدل قوی
نقش: مهندس کارایی وب. جدول زیر فهرست ویدیوهای یک صفحه است.
هدف صفحه: {مثلا صفحه فرود فروش، LCP زیر ۲.۵ ثانیه}
عرض واقعی قاب ویدیو: {مثلا موبایل ۳۶۰ پیکسل، دسکتاپ ۷۲۰ پیکسل}
هر ویدیو چه کاری می کند: {یک خط برای هر فایل}
جدول ffprobe:
{خروجی مرحله ۱ را اینجا بگذارید}
برای هر فایل یک ردیف بده با این ستون ها:
۱. نام فایل
۲. بماند / حذف شود / تبدیل به تصویر ثابت شود، و در یک جمله چرا
۳. رزولوشن هدف، بر پایه عرض واقعی قاب و نه بر پایه فایل اصلی
۴. صدا لازم است؟ اگر نه بنویس -an
۵. پخش خودکار مجاز است؟ فقط اگر بی صدا و تکرار شونده و کوتاه باشد
۶. مقدار preload و اینکه پوستر لازم است یا نه
قواعد:
- هیچ حجم یا نرخ بیتی که در جدول نیست ننویس و هیچ عددی حدس نزن.
- صرفه جویی را به درصد وعده نده. اگر عددی می دهی، بگو از کدام سطر
جدول در آمده.
- اگر یک فایل با هدف صفحه اصلا جور نیست، ستون دو را حذف بگذار و
دنبال تنظیم نگرد.
- در پایان، فایل هایی را که بیشترین بایت را روی مسیر بارگذاری
می گذارند به ترتیب فهرست کن.
قبل از اعتماد به خروجی: دو چیز را باید خودتان ببینید. اول کیفیت: عدد crf یک تنظیم است و نه یک تضمین، و روی فوتیجی که گرین یا گرادیان زیاد دارد همان عدد نتیجه بدتری می دهد. فایل خروجی را تمام قد روی همان صفحه ای که قرار است نمایش داده شود ببینید، نه در پیش نمایش کوچک. دوم صدا: پرچم -an صدا را کامل حذف می کند و برگشت پذیر نیست؛ اگر بعدا معلوم شود آن کلیپ باید گویندگی داشته باشد، باید از فایل اصلی دوباره بگیرید. و مثل همیشه، هر عددی که مدل درباره صرفه جویی گفته را با اندازه گیری خودتان چک کنید، چون تنها عددی که ارزش دارد همان است که روی فایل واقعی شما در آمده.
هوش مصنوعی در این کار
در بهینه سازی ویدیو، هوش مصنوعی کار عجیبی نمی کند و همین خوب است. کاری که واقعا انجام می دهد ترجمه است: از خروجی ابزارها به تصمیم، و از تصمیم به دستور. خود فشرده سازی را ffmpeg انجام می دهد که رایگان و قطعی است، و هیچ مدلی جایش را نمی گیرد. موضع ما این است: مدل را برای مرحله تصمیم بیاورید و نه برای مرحله اجرا، چون در مرحله اجرا ابزار درست از قبل وجود دارد.
ابزارهایی که واقعا کمک می کنند
- Gemini برای پاس اول روی خروجی ffprobe و گزارش سرعت به صرفه است، چون کار مکانیکی و قابل بازبینی است: مرتب کردن جدول و پیدا کردن سنگین ترین فایل ها. ایران در فهرست کشورهای پشتیبانی شده گوگل نیست؛ راه پرداخت در صفحه خرید هوش مصنوعی همین سایت آمده.
- Claude برای مرحله تصمیم بهتر جواب می دهد، جایی که باید بگوید یک فایل اصلا نباید روی صفحه باشد. کمتر پیشنهاد تنظیم می دهد وقتی جواب درست حذف است. ایران در فهرست کشورهای پشتیبانی شده انتروپیک نیست.
- ffmpeg هوش مصنوعی نیست و عمدا در این فهرست است: کاری که همه دنبالش هستند را همین انجام می دهد، رایگان و لوکال و بدون آپلود. مدل فقط دستورش را می نویسد. مستند web.dev هم برای حذف نوار صدا مستقیم به همین ابزار ارجاع می دهد.
کجا نتیجه معکوس می دهد
ریسک اصلی این موضوع، عددهایی است که مدل ها با اطمینان کامل درباره کاهش حجم می گویند. «این تنظیم حدود چهل درصد حجم را کم می کند» جمله ای است که شبیه جواب است و از هیچ اندازه گیری روی فایل شما نیامده؛ کاهش واقعی به محتوای همان ویدیو بستگی دارد، و صحنه پر جزئیات و صحنه ساکن با یک تنظیم نتیجه های خیلی متفاوتی می دهند. برای همین در دستور بالا صریحا خواسته شده که هیچ عددی بدون منبع در جدول نوشته نشود. ریسک دوم، دستورهای ffmpeg است که مدل می سازد و بی صدا کار اشتباه می کنند: پرچمی که در آن ترتیب اثر ندارد، فیلتری که با کدک انتخاب شده جور نیست، یا پرچمی که فایل را دوباره کدگذاری می کند در حالی که فقط قرار بود کپی شود. اینها خطا نمی دهند، فقط نتیجه ای می دهند که شبیه درست است. همیشه حجم و ابعاد فایل خروجی را با ffprobe نگاه کنید. و ریسک سومی که به حریم خصوصی برمی گردد: آپلود فوتیج مشتری در یک سرویس فشرده سازی آنلاین، همان تصمیمی است که در درس تدوین گفته شد و اینجا هم برقرار است، در حالی که ffmpeg هیچ آپلودی لازم ندارد.
منبع ها: web.dev: video performance Chrome for Developers: Lighthouse performance scoring Anthropic: is my data used for model training
حد این توصیه
این درس درباره ویدیوی کوتاه روی صفحه های معمولی است: دمو، تیزر، شهادت مشتری، انیمیشن تکرار شونده. اگر کار شما پخش ویدیوی بلند، دوره آموزشی ویدیویی یا محتوای پولی است، مسئله دیگری است و جواب هایش هم دیگرند: پخش تطبیقی، بسته بندی چند نرخ بیتی و کنترل دسترسی، که هیچ کدام در این صفحه پوشش داده نشده اند. یک محدودیت دیگر هم صادقانه است: هیچ کدام از کارهای اینجا ویدیویی را که کسی نمی خواهد ببیند نجات نمی دهد. یک فایل بهینه شده که هیچ کس پخشش نمی کند، همچنان یک تصمیم اشتباه است که فقط سبک تر شده.
از تجربه خود ما
یک تنظیم که تقریبا هیچ راهنمایی جدی نمی گیردش و بزرگ ترین تفاوت را در شروع پخش می سازد: -movflags +faststart. یک فایل MP4 از چند بلوک ساخته شده و بلوک moov نقشه فایل است؛ اگر آخر فایل باشد، مرورگر باید بیشتر فایل را بگیرد تا بفهمد چطور پخشش کند. روی همین سرور با ffmpeg 6.1.1 دو خروجی گرفتیم و ترتیب بلوک ها را خواندیم: بدون آن پرچم ترتیب ftyp، free، mdat، moov در آمد و با آن پرچم ftyp، moov، free، mdat. یعنی نقشه از ته فایل به اولش آمد. این چیزی است که خودتان هم می توانید در سی ثانیه روی فایل خودتان امتحان کنید، و همان جاست که معلوم می شود چرا ویدیویی که بعد از کلیک دیر شروع می شود، لزوما سنگین نیست.
سوال هایی که واقعا پرسیده می شوند
برای وب MP4 بهتر است یا WebM؟
اگر فقط یک فایل می سازید، MP4 با H.264 گزینه ای است که در بیشترین جاها بدون دردسر پخش می شود. اگر می خواهید هم سبک تر باشد و هم سازگاری را از دست ندهید، می شود دو منبع داخل یک تگ ویدیو گذاشت و مرورگر اولین چیزی را که می شناسد بردارد. تفاوت این دو در جزئیات کدک است و درس فرمت و کدک ویدیو همان جاست.
ویدیوی پس زمینه در هیرو سایت اشکالی دارد؟
اشکالش این است که سنگین ترین چیز صفحه را دقیقا روی جایی می گذارد که LCP اندازه گرفته می شود، و در ازایش معمولا هیچ اطلاعاتی نمی دهد. اگر باز هم لازمش دارید، حداقل بی صدا و کوتاه و تکرار شونده باشد، نوار صدا حذف شده باشد، و یک پوستر بهینه شده داشته باشد تا اگر پخش نشد صفحه خالی نماند. ولی جواب صادقانه در بیشتر موارد این است که یک تصویر خوب همان کار را با کسری از هزینه می کند.
ویدیو را چطور تنبل بارگذاری کنیم؟
برای فایل خودتان، همان preload="none" بیشتر کار را می کند: مرورگر تا وقتی کسی پخش را شروع نکند چیزی از ویدیو نمی گیرد. برای ویدیوی روی یک پلتفرم، مسئله فایل نیست بلکه اسکریپت پخش کننده است؛ راه معمول این است که به جای درج مستقیم پخش کننده، یک تصویر پوستر بگذارید و پخش کننده را فقط بعد از کلیک روی همان تصویر بارگذاری کنید.