راهنمای فنی
راهنمای کامل پخش زنده
از نصب نرمافزار (OBS یا اپ موبایل) تا پخش مسابقه در سایت — مراحل زیر برای استریمرها و تیم فنی هیأت فوتبال استان تهران تهیه شده است.
نمای کلی — چطور کار میکند؟
سیگنال ویدیو از دوربین لپتاپ/PC با OBS Studio یا از دوربین گوشی با اپ موبایل (Moblin/Vivid) به سرور RTMP ارسال میشود. سرور (MediaMTX) آن را به فرمت HLS تبدیل میکند و بازدیدکنندگان از صفحه «پخش زنده» سایت تماشا میکنند. پس از پایان مسابقه، با زدن «پایان + آرشیو»، ویدیو به آرشیو سایت اضافه میشود.
- ۱ادمین رویداد زنده و دوربینها را در پنل مدیریت میسازد.
- ۲استریمر با Moblin/Vivid یا OBS پخش را شروع میکند.
- ۳با رسیدن سیگنال، سایت خودکار LIVE میشود — نیازی به دکمه «شروع پخش» نیست.
- ۴بینندگان از صفحه پخش زنده تماشا میکنند.
- ۵پس از مسابقه «پایان پخش + آرشیو» — ویدیو در بخش ویدیوها ذخیره میشود.
نرمافزارهای مورد نیاز — دانلود
لینکهای زیر به سایت رسمی هر نرمافزار میروند. برای پخش از لپتاپ 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 — لیست پخشهای فعال
قبل از پخش — چکلیست
- رویداد ساخته شده باشد: ادمین در پنل مدیریت رویداد زنده ایجاد کرده و شما را به عنوان استریمر اختصاص داده باشد.
- MediaMTX روشن باشد (روی سرور):
cd infra\mediamtx .\mediamtx.exe mediamtx.yml
- سرویسهای اصلی در حال اجرا: API، سایت و Worker (دستور
bun run devدر ریشه پروژه). - اینترنت آپلود پایدار: حداقل ۵ Mbps برای ۷۲۰p (OBS)؛ برای موبایل حداقل ۳ Mbps — WiFi ورزشگاه ترجیح داده میشود.
- اپ موبایل: Moblin (iOS) یا Vivid (اندروید) نصب شده باشد.
- ورود به پنل استریمر: https://admin.pht.ir/streamer
تنظیم OBS Studio — گامبهگام
- OBS را نصب و اجرا کنید. در اولین اجرا «Auto-Configuration Wizard» را با گزینه Optimize for streaming طی کنید.
- در بخش Sources منبع تصویر اضافه کنید: Video Capture Device (دوربین)، Window Capture (نرمافزار دیگر) یا Media Source.
- منوی File → Settings → Stream:
- Service: Custom...
- Server: آدرس پایه RTMP — معمولاً:
rtmp://SERVER_IP:1935/live
Stream Key: بخش بعدی آدرس کامل از پنل — مثلاً
{eventId}/cam1 - آدرس دقیق را از پنل استریمر کپی کنید. نمونه:
rtmp://localhost:1935/live/abc123-event-id/cam1
در OBS میتوانید Server و Stream Key را جدا وارد کنید، یا کل URL را در Server بگذارید و Stream Key خالی بگذارید (بسته به نسخه OBS).
- Settings → Output → Streaming: Encoder و Bitrate را طبق جدول پایین تنظیم کنید.
- دکمه Start Streaming — اگر OBS سبز «Live» شد، سیگنال به سرور رسیده است.
پخش از موبایل — Moblin / Vivid
در پنل استریمر دکمه Moblin (iOS) یا Vivid (اندروید) را بزنید — رایگان و بدون واترمارک.
- iOS: Moblin را نصب کنید — «باز کردن Moblin» را بزنید.
- اندروید: Vivid را نصب کنید — «باز کردن Vivid» یا کپی آدرس RTMP.
- گوشی را افقی نگه دارید و 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 | ۲۵ یا ۳۰ |
| Orientation | Landscape (افقی) — برای فوتبال |
| Bitrate | ۱۵۰۰–۲۵۰۰ Kbps |
شبکه و باتری
| اینترنت | WiFi یا 4G/5G با آپلود پایدار |
|---|---|
| حداقل آپلود | ۳ Mbps برای ۷۲۰p |
| باتری | گوشی را به شارژر وصل کنید |
شروع و پایان پخش
- در Larix یا OBS پخش را شروع کنید — سایت خودکار LIVE میشود (بدون دکمه اضافه).
- وضعیت را در پنل استریمر ببینید یا صفحه pht.ir/live را باز کنید.
- پس از مسابقه: در Larix/OBS پخش را متوقف کنید و در پنل «پایان پخش + آرشیو» را بزنید.
پخش چند دوربین (حداکثر ۳)
هر رویداد میتواند تا سه دوربین داشته باشد: cam1، cam2، cam3. بیننده در صفحه پخش زنده بین دوربینها جابهجا میشود.
- برای هر دوربین یک آدرس RTMP جدا در پنل نمایش داده میشود.
- دو راه: دو نمونه OBS روی دو PC، یک PC با دو Profile، یا یک گوشی + یک لپتاپ با اپ Larix/OBS.
- هر دستگاه فقط به یک Stream Key متصل شود.
تنظیمات پیشنهادی OBS
Output (Streaming)
| Encoder | x264 (software) یا NVENC (کارت NVIDIA) |
|---|---|
| Rate Control | CBR |
| Bitrate | ۲۵۰۰–۴۵۰۰ Kbps (بسته به اینترنت آپلود) |
| Keyframe Interval | ۲ ثانیه |
| Preset | veryfast یا 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 نزدیکتر شوید یا آنتندهی بهتر پیدا کنید. باتری و دمای گوشی را چک کنید.