راهنمای فنی

راهنمای کامل پخش زنده

از نصب نرم‌افزار (OBS یا اپ موبایل) تا پخش مسابقه در سایت — مراحل زیر برای استریمرها و تیم فنی هیأت فوتبال استان تهران تهیه شده است.

نمای کلی — چطور کار می‌کند؟

سیگنال ویدیو از دوربین لپ‌تاپ/PC با OBS Studio یا از دوربین گوشی با اپ موبایل (Moblin/Vivid) به سرور RTMP ارسال می‌شود. سرور (MediaMTX) آن را به فرمت HLS تبدیل می‌کند و بازدیدکنندگان از صفحه «پخش زنده» سایت تماشا می‌کنند. پس از پایان مسابقه، با زدن «پایان + آرشیو»، ویدیو به آرشیو سایت اضافه می‌شود.

  1. ۱
    ادمین رویداد زنده و دوربین‌ها را در پنل مدیریت می‌سازد.
  2. ۲
    استریمر با Moblin/Vivid یا OBS پخش را شروع می‌کند.
  3. ۳
    با رسیدن سیگنال، سایت خودکار LIVE می‌شود — نیازی به دکمه «شروع پخش» نیست.
  4. ۴
    بینندگان از صفحه پخش زنده تماشا می‌کنند.
  5. ۵
    پس از مسابقه «پایان پخش + آرشیو» — ویدیو در بخش ویدیوها ذخیره می‌شود.
تأخیر: پخش HLS معمولاً ۳۰ تا ۶۰ ثانیه از زنده عقب‌تر است. این برای پخش وب استاندارد است.

نرم‌افزارهای مورد نیاز — دانلود

لینک‌های زیر به سایت رسمی هر نرم‌افزار می‌روند. برای پخش از لپ‌تاپ OBS و برای پخش میدانی از گوشی Larix (یا Streamlabs) کافی است؛ MediaMTX و FFmpeg روی سرور/رایانه فنی راه‌اندازی می‌شوند.

OBS Studio

استریمر

نرم‌افزار اصلی پخش زنده از دوربین یا منبع ویدیو به سرور RTMP (ویندوز/لپ‌تاپ).

رایگان و متن‌باز — نسخه ویندوز ۶۴ بیتی را انتخاب کنید.

دانلود OBS Studio

Moblin

استریمر

اپ رایگان iOS برای پخش RTMP — بدون واترمارک (پیشنهادی برای آیفون).

از پنل استریمر «باز کردن Moblin» را بزنید — تنظیمات خودکار وارد می‌شود.

دانلود Moblin (TestFlight)

Vivid

استریمر

اپ رایگان اندروید (فورک Moblin) — بدون واترمارک (پیشنهادی برای اندروید).

فقط app-release.apk از GitHub — از Play Store دانلود نکنید. از پنل استریمر «باز کردن Vivid» را بزنید.

دانلود Vivid (APK مستقیم)

Larix Broadcaster

استریمر

جایگزین — واترمارک روی تصویر دارد (نسخه رایگان).

فقط در صورت نیاز — نسخه رایگان برند Larix روی ویدیو می‌زند.

دانلود Larix

Streamlabs

استریمر

جایگزین موبایل — پخش از دوربین گوشی با تنظیم سرور سفارشی RTMP.

در تنظیمات، Custom RTMP Server را انتخاب کنید (نه Twitch/YouTube).

دانلود Streamlabs

FFmpeg

ادمین فنی

برای تبدیل پخش زنده به ویدیوی آرشیو پس از پایان مسابقه (سمت سرور).

در ویندوز: winget install Gyan.FFmpeg — یا فایل zip را از gyan.dev بگیرید.

دانلود FFmpeg

MediaMTX

ادمین فنی

سرور RTMP/HLS برای دریافت سیگنال OBS و پخش در سایت (جایگزین Docker).

فایل mediamtx_v*_windows_amd64.zip — mediamtx.exe را در infra/mediamtx/ قرار دهید.

دانلود MediaMTX

PostgreSQL

ادمین فنی

پایگاه داده سامانه — فقط برای راه‌اندازی سرور توسط ادمین فنی.

یا با Scoop: scoop install postgresql

دانلود PostgreSQL

نقش‌ها در سامانه

استریمر

  • نصب Larix (گوشی) یا OBS (لپ‌تاپ)
  • ورود به پنل استریمر با OTP
  • پخش با Moblin یا Vivid
  • پایان پخش از پنل استریمر

ادمین

  • ساخت رویداد زنده و تخصیص استریمر
  • تأیید/مدیریت وضعیت رویداد
  • راه‌اندازی MediaMTX و سرویس‌های سرور

بیننده

  • تماشا از سایت — بدون نرم‌افزار اضافه
  • /live — لیست پخش‌های فعال

قبل از پخش — چک‌لیست

  1. رویداد ساخته شده باشد: ادمین در پنل مدیریت رویداد زنده ایجاد کرده و شما را به عنوان استریمر اختصاص داده باشد.
  2. MediaMTX روشن باشد (روی سرور):
    cd infra\mediamtx
    .\mediamtx.exe mediamtx.yml
  3. سرویس‌های اصلی در حال اجرا: API، سایت و Worker (دستور bun run dev در ریشه پروژه).
  4. اینترنت آپلود پایدار: حداقل ۵ Mbps برای ۷۲۰p (OBS)؛ برای موبایل حداقل ۳ Mbps — WiFi ورزشگاه ترجیح داده می‌شود.
  5. اپ موبایل: Moblin (iOS) یا Vivid (اندروید) نصب شده باشد.
  6. ورود به پنل استریمر: https://admin.pht.ir/streamer

تنظیم OBS Studio — گام‌به‌گام

  1. OBS را نصب و اجرا کنید. در اولین اجرا «Auto-Configuration Wizard» را با گزینه Optimize for streaming طی کنید.
  2. در بخش Sources منبع تصویر اضافه کنید: Video Capture Device (دوربین)، Window Capture (نرم‌افزار دیگر) یا Media Source.
  3. منوی File → Settings → Stream:
    • Service: Custom...
    • Server: آدرس پایه RTMP — معمولاً:
    rtmp://SERVER_IP:1935/live

    Stream Key: بخش بعدی آدرس کامل از پنل — مثلاً {eventId}/cam1

  4. آدرس دقیق را از پنل استریمر کپی کنید. نمونه:
    rtmp://localhost:1935/live/abc123-event-id/cam1

    در OBS می‌توانید Server و Stream Key را جدا وارد کنید، یا کل URL را در Server بگذارید و Stream Key خالی بگذارید (بسته به نسخه OBS).

  5. Settings → Output → Streaming: Encoder و Bitrate را طبق جدول پایین تنظیم کنید.
  6. دکمه Start Streaming — اگر OBS سبز «Live» شد، سیگنال به سرور رسیده است.
آدرس RTMP را با کسی به جز تیم فنی به اشتراک نگذارید — هر کسی با این آدرس می‌تواند روی پخش شما overwrite کند.

پخش از موبایل — Moblin / Vivid

در پنل استریمر دکمه Moblin (iOS) یا Vivid (اندروید) را بزنید — رایگان و بدون واترمارک.

  1. iOS: Moblin را نصب کنید — «باز کردن Moblin» را بزنید.
  2. اندروید: Vivid را نصب کنید — «باز کردن Vivid» یا کپی آدرس RTMP.
  3. گوشی را افقی نگه دارید و Start/Go Live بزنید — سایت خودکار LIVE می‌شود.

اتصال RTMP

Server (RTMP URL)rtmp://SERVER:1935/live
Stream Key{eventId}/cam1
نمونه کاملrtmp://SERVER:1935/live/abc123/cam1

Video

Resolution۱۲۸۰×۷۲۰ (۷۲۰p) — برای اینترنت موبایل
FPS۲۵ یا ۳۰
OrientationLandscape (افقی) — برای فوتبال
Bitrate۱۵۰۰–۲۵۰۰ Kbps

شبکه و باتری

اینترنتWiFi یا 4G/5G با آپلود پایدار
حداقل آپلود۳ Mbps برای ۷۲۰p
باتریگوشی را به شارژر وصل کنید
نکته: برای پخش میدانی WiFi محل ورزشگاه ترجیح داده می‌شود. اگر فقط اینترنت موبایل دارید، Bitrate را کمتر بگذارید و گوشی را به شارژر وصل کنید.

شروع و پایان پخش

  1. در Larix یا OBS پخش را شروع کنید — سایت خودکار LIVE می‌شود (بدون دکمه اضافه).
  2. وضعیت را در پنل استریمر ببینید یا صفحه pht.ir/live را باز کنید.
  3. پس از مسابقه: در Larix/OBS پخش را متوقف کنید و در پنل «پایان پخش + آرشیو» را بزنید.

پخش چند دوربین (حداکثر ۳)

هر رویداد می‌تواند تا سه دوربین داشته باشد: cam1، cam2، cam3. بیننده در صفحه پخش زنده بین دوربین‌ها جابه‌جا می‌شود.

  • برای هر دوربین یک آدرس RTMP جدا در پنل نمایش داده می‌شود.
  • دو راه: دو نمونه OBS روی دو PC، یک PC با دو Profile، یا یک گوشی + یک لپ‌تاپ با اپ Larix/OBS.
  • هر دستگاه فقط به یک Stream Key متصل شود.

تنظیمات پیشنهادی OBS

Output (Streaming)

Encoderx264 (software) یا NVENC (کارت NVIDIA)
Rate ControlCBR
Bitrate۲۵۰۰–۴۵۰۰ Kbps (بسته به اینترنت آپلود)
Keyframe Interval۲ ثانیه
Presetveryfast یا faster

Video

Base / Output Resolution۱۹۲۰×۱۰۸۰ یا ۱۲۸۰×۷۲۰
FPS۲۵ یا ۳۰

Audio

Sample Rate۴۸ kHz
Bitrate۱۶۰ Kbps

عیب‌یابی

در OBS خطای «Failed to connect» می‌گیرم
آدرس RTMP را از پنل استریمر کپی کنید؛ MediaMTX باید روشن باشد؛ فایروال ویندوز پورت ۱۹۳۵ را مسدود نکرده باشد.
پخش در سایت با تأخیر زیاد است
HLS معمولاً ۳۰ تا ۶۰ ثانیه تأخیر دارد — این طبیعی است. برای تأخیر کمتر در آینده WebRTC/CDN فعال می‌شود.
تصویر در سایت نیست ولی Larix/OBS متصل است
چند ثانیه صبر کنید تا سیگنال تشخیص داده شود. MediaMTX باید روشن باشد. اگر بیش از ۱۰ ثانیه طول کشید، پنل استریمر را رفرش کنید.
چند دوربین همزمان
هر دوربین یک آدرس RTMP جدا دارد (cam1، cam2، cam3). برای هر کamera یک نمونه OBS یا Scene جدا با URL متفاوت راه بیندازید.
پس از پایان، ویدیو در آرشیو نیست
دکمه «پایان + آرشیو» را بزنید؛ FFmpeg و Worker باید روی سرور در حال اجرا باشند.
اپ موبایل به RTMP وصل نمی‌شود
Server و Stream Key را جدا وارد کنید (نه کل URL در یک فیلد). آدرس را از پنل استریمر کپی کنید. اینترنت موبایل باید آپلود کافی داشته باشد؛ WiFi ترجیح داده می‌شود.
تصویر موبایل عمودی است
قفل چرخش گوشی را باز کنید و گوشی را افقی (Landscape) نگه دارید. در Larix از Settings → Video → Orientation استفاده کنید.
پخش موبایل قطع و وصل می‌شود
Bitrate را کم کنید (مثلاً ۱۵۰۰ Kbps). به WiFi نزدیک‌تر شوید یا آنتن‌دهی بهتر پیدا کنید. باتری و دمای گوشی را چک کنید.

پنل مدیریت: https://admin.pht.ir · پخش زنده: /live

راهنمای پخش زنده | فوتبال تهران