Elinweb Lightweight Player for Aparat

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 نیاز نیست. افزونه اطلاعات ورود وردپرس یا محتوای خصوصی مقاله‌ها را ارسال نمی‌کند و ابزار جمع‌آوری آمار اختصاصی ندارد.

Screenshots

Blocks

This plugin provides 1 block.

  • Elinweb Lightweight Player for Aparat Local poster; the Aparat video player loads only after a click.

Installation

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

FAQ

نحوهٔ استفاده از شورت‌کد چیست؟

[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 آپارات دریافت می‌شود.

Reviews

There are no reviews for this plugin.

Contributors & Developers

“Elinweb Lightweight Player for Aparat” is open source software. The following people have contributed to this plugin.

Contributors

Changelog

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 معتبر آپارات.
  • تکمیل توضیحات پخش عمومی و پاک‌سازی بستهٔ انتشار.