Elinweb Lightweight Player for Aparat

Plugin Banner

Elinweb Lightweight Player for Aparat

by Iman Shadmehri

Download
Description

الین‌وب: آپارات بهینه شده کمک می‌کند ویدئوهای آپارات را بدون بارگذاری زودهنگام پلیر در سایتت نمایش بدهی. ابتدا فقط پوستر و یک آیکون پخش دایره‌ای نمایش داده می‌شود؛ دریافت و پخش ویدئو با کلیک کاربر شروع می‌شود.

لینک ویدئو را در بلوک گوتنبرگ یا ویجت المنتور وارد کن؛ افزونه پوستر را آماده می‌کند و در رسانه‌های وردپرس ذخیره می‌کند. شورت‌کد و توابع PHP هم در دسترس‌اند.

لینک باید به یکی از این دو شکل باشد:

  • https://www.aparat.com/embed/ytf50k5 — قالب جدیدتر و پیشنهادی
  • https://www.aparat.com/v/ytf50k5

به‌جای ytf50k5 شناسهٔ ویدئوی خودت را قرار بده.

امکانات افزونه

  • پلیر سبک مرورگر با پخش از اولین کلیک؛ بدون بارگذاری iframe و اسکریپت پلیر آپارات در حالت پیش‌فرض.
  • دریافت و ذخیرهٔ پوستر در رسانه‌های وردپرس و تبدیل به WebP، در صورت پشتیبانی سرور.
  • بلوک گوتنبرگ، ویجت المنتور، شورت‌کد و امکان نمایش با کد PHP.
  • تنظیم پوستر دلخواه، نسبت تصویر، زمان شروع و پخش اولیهٔ بی‌صدا.
  • اولویت بارگذاری پوستر برای ویدئوهای بالای صفحه.
  • امکان انتخاب پلیر رسمی آپارات، با بارگذاری بعد از کلیک.
  • استثناهای لازم برای Delay JavaScript در WP Rocket و Perfmatters.
  • رابط فارسی و کنترل‌های قابل استفاده با کیبورد.

جدید در نسخهٔ ۲.۱.۰: فصل‌بندی ویدئو

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

در فیلد «فصل‌های ویدئو» در گوتنبرگ یا المنتور، هر فصل را در یک خط وارد کن:

00:05 > سلام و احوال‌پرسی
00:40 > نصب برنامه
01:20 > تنظیمات اولیه

زمان را می‌توانی به ثانیه، دقیقه:ثانیه یا ساعت:دقیقه:ثانیه بنویسی. اعداد فارسی و عربی هم پشتیبانی می‌شوند. فصل‌ها بر اساس زمان مرتب می‌شوند و تا ۱۰۰ فصل قابل نمایش است. فیلد المنتور از Dynamic Tags هم پشتیبانی می‌کند.

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

جدید در نسخهٔ ۲.۱.۰: استفاده در قالب و کد PHP

برای نمایش ویدئو در قالب یا صفحاتی که با کد ساخته شده‌اند، نیازی به شورت‌کد یا صفحه‌ساز نیست:

do_action('lwpa_display', 'https://www.aparat.com/embed/ytf50k5');

تابع lwpa_display() خروجی را چاپ می‌کند و lwpa_render() رشتهٔ HTML را برمی‌گرداند. فیلترهای lwpa_render_args و lwpa_render_html هم برای تغییر تنظیمات و خروجی در دسترس‌اند. قالب باید wp_head() و wp_footer() را اجرا کند.

نمونه‌های کامل در فایل docs/developer-guide-fa.md و گیت‌هاب افزونه قرار دارند.

آماده‌سازی پوستر هنگام ویرایش، ذخیره یا در پس‌زمینه انجام می‌شود؛ رندر عمومی صفحه برای دریافت اطلاعات ویدئو منتظر پاسخ آپارات نمی‌ماند. پخش ویدئو به دسترسی سرور و مرورگر به API و CDN آپارات وابسته است.

این افزونه مستقل است و وابستگی رسمی به آپارات یا المنتور ندارد.
نویسنده: Iman Shadmehri — الین‌وب

External services

افزونه از سرویس آپارات برای دریافت اطلاعات عمومی، پوستر و فایل ویدئو استفاده می‌کند.

هنگام ویرایش، ذخیره، آماده‌سازی پوستر در پس‌زمینه یا درخواست پخش، سرور شناسهٔ ویدئو را به https://www.aparat.com/etc/api/video/videohash/{identifier} می‌فرستد. آپارات IP سرور و اطلاعات معمول درخواست HTTP را دریافت می‌کند. پوستر از میزبان‌های معتبر آپارات دانلود و در سایت ذخیره می‌شود.

بعد از کلیک روی پخش، مرورگر بازدیدکننده فایل ویدئو را از CDN آپارات دریافت می‌کند؛ این سرویس IP بازدیدکننده و اطلاعات معمول درخواست مرورگر را می‌بیند. آدرس فایل ویدئو فقط برای مدت کوتاهی در سرور کش می‌شود و در HTML مقاله ذخیره نمی‌شود. در حالت پلیر رسمی، iframe آپارات بعد از کلیک بارگذاری می‌شود و درخواست‌ها، کوکی‌ها و آمار آن تحت کنترل آپارات است.

به حساب آپارات یا کلید API نیاز نیست. افزونه اطلاعات ورود وردپرس یا محتوای خصوصی مقاله‌ها را ارسال نمی‌کند و ابزار جمع‌آوری آمار اختصاصی ندارد.

  1. افزونه را از مخزن وردپرس نصب کن یا فایل ZIP را از «افزونه‌ها افزودن افزونه بارگذاری افزونه» نصب و فعال کن.
  2. بلوک گوتنبرگ یا ویجت المنتور «آپارات بهینه شده» را اضافه کن و لینک ویدئو را وارد کن.
  3. در صورت نیاز، پوستر، زمان شروع و فصل‌های ویدئو را تنظیم کن و صفحه را ذخیره کن.
  4. برای آماده‌سازی پوستر در پس‌زمینه، WP-Cron باید کار کند. بعد از به‌روزرسانی، کش صفحه و CDN را پاک کن.
  1. بلوک گوتنبرگ با لینک آپارات، پوستر آماده‌شده و آیکون پخش دایره‌ای.

    بلوک گوتنبرگ با لینک آپارات، پوستر آماده‌شده و آیکون پخش دایره‌ای.

  2. ویجت المنتور و تنظیمات لینک، عنوان، پوستر، نسبت تصویر و اولویت بارگذاری.

    ویجت المنتور و تنظیمات لینک، عنوان، پوستر، نسبت تصویر و اولویت بارگذاری.

  3. تنظیمات پخش در المنتور؛ انتخاب پلیر، زمان شروع، پخش بی‌صدا و ویدئوهای پیشنهادی.

    تنظیمات پخش در المنتور؛ انتخاب پلیر، زمان شروع، پخش بی‌صدا و ویدئوهای پیشنهادی.

  4. فصل‌بندی ویدئو؛ فهرست بخش‌ها زیر ویدئو برای پخش از زمان انتخاب‌شده.

    فصل‌بندی ویدئو؛ فهرست بخش‌ها زیر ویدئو برای پخش از زمان انتخاب‌شده.

چطور از شورت‌کد استفاده کنم؟

[lwpa_aparat url=”https://www.aparat.com/embed/ytf50k5″ start_time=”65″ muted=”true”]

برای فصل‌بندی، پارامتر chapters هم قابل استفاده است؛ نمونهٔ چندخطی در راهنمای توسعه‌دهندگان آمده است.

پخش ویدئو فقط یک کلیک می‌خواهد؟

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

چه مسیرهایی را از کش خارج کنم؟

اگر برای درخواست‌های AJAX یا REST کش جداگانه داری، اکشن lwpa_aparat_stream در /wp-admin/admin-ajax.php و مسیر /wp-json/lightweight-player/v1/stream/* را از کش خارج کن. پاسخ‌های پخش هدر Cache-Control: no-store دارند و فایل ویدئو مستقیم از CDN آپارات دریافت می‌شود.

2.1.0

  • افزودن فصل‌بندی ویدئو در بلوک گوتنبرگ، ویجت المنتور، شورت‌کد و PHP.
  • افزودن فهرست قابل استفاده با کیبورد؛ انتخاب فصل، ویدئو را از زمان همان بخش پخش می‌کند.
  • پشتیبانی از زمان به ثانیه، دقیقه:ثانیه و ساعت:دقیقه:ثانیه، اعداد فارسی و عربی، مرتب‌سازی و حذف زمان‌های تکراری.
  • پشتیبانی از Dynamic Tags برای فیلد فصل‌های ویدئو در المنتور.
  • تغییر زمان پخش بدون ساخت دوبارهٔ پلیر فعال؛ حفظ فصل انتخابی هنگام بارگذاری، مسیر جایگزین و تلاش مجدد.
  • افزودن تابع lwpa_display() و اکشن lwpa_display برای استفاده در قالب و صفحات تولیدشده با کد.
  • افزودن فیلترهای lwpa_render_args و lwpa_render_html برای تغییر تنظیمات و خروجی مشترک.
  • افزودن راهنمای فارسی توسعه‌دهندگان، توضیحات فارسی مخزن و اسکرین‌شات فصل‌بندی ویدئو.

2.0.5

  • انتخاب نام و شناسهٔ مستقل برای مخزن، با حفظ سازگاری بلوک‌ها، ویجت‌ها و شورت‌کدهای ذخیره‌شده.
  • بارگذاری CSS کوچک پلیر از طریق API استایل وردپرس، بدون درخواست فایل CSS جداگانه.

2.0.4

  • اصلاح لینک‌های افزونه و نویسنده برای ثبت در مخزن وردپرس.

2.0.3

  • رفع مشکلات سازگاری پوستر و ترجمهٔ فارسی با وردپرس ۶.۳.
  • بررسی سازگاری با نسخه‌های قدیمی‌تر وردپرس و PHP، با المنتور و بدون آن.

2.0.2

  • ساده‌سازی راهنما و توضیح لینک‌های /embed/ و /v/ و پشتیبانی از گوتنبرگ و المنتور.
  • بهبود اعتبارسنجی تنظیمات پخش و محدودکردن انتقال درخواست به CDN معتبر آپارات.
  • تکمیل توضیحات پخش عمومی و پاک‌سازی بستهٔ انتشار.
Back to top