مبدل HLS / DASH
ویدیوهاتون رو با FFmpegِ واقعیِ نصبشده روی سیستم خودتون به HLS و DASH تبدیل کنید — همهچیز روی localhost میمونه، هیچ فایلی جایی آپلود نمیشه.
رایگان. بعد از دانلود: npm install && npm start
HLS و DASH یعنی چی؟
HLS (HTTP Live Streaming) و DASH (Dynamic Adaptive Streaming over HTTP) دو استاندارد برای پخش ویدیو با کیفیت تطبیقیان: ویدیو بهجای یک فایل بزرگ، به قطعههای چندثانیهای (segment) در چند کیفیت مختلف بریده میشه و یک فایل مانیفست (m3u8 برای HLS، mpd برای DASH) به پخشکننده میگه هر قطعه کجاست. پخشکننده بسته به سرعت اینترنت کاربر، کیفیت مناسب رو خودش انتخاب و حتی وسط پخش عوض میکنه.
HLS مال اپل است و روی Safari/iOS بهصورت native پخش میشه (جاهای دیگه با کتابخانهای مثل hls.js)؛ DASH یک استاندارد باز (ISO/IEC) و فرمتآگنوستیکه و پایه پخشکنندههایی مثل YouTube است. این ابزار هر دو رو از روی یک ویدیوی ورودی میسازه تا بتونید کنار هم مقایسهشون کنید.
این ابزار چیکار میکند؟
رابط کاربری

صف پردازش و تنظیمات خروجی — همانی که بعد از npm start توی مرورگرتان میبینید.
قبل از اجرا چی لازم دارید
Node.js نسخه ۱۸ یا بالاتر
از nodejs.org نصب کنید. بدون این، حتی npm install هم اجرا نمیشود.
FFmpeg
موتور واقعی انکود. اپ اول توی PATH سیستم دنبالش میگردد، بعد توی پوشه ffmpeg-bin/ کنار پروژه؛ اگر هیچکدام نبود، بالای صفحه یک پیام راهنما نشان داده میشود.
ویندوز
# روش ۱ (سادهترین): از پوشه پروژه اجرا کنید
npm run setup-ffmpeg
# روش ۲: نصب سیستمی با winget
winget install Gyan.FFmpeg
# روش ۳: نصب سیستمی با Chocolatey
choco install ffmpegmacOS
# نصب سیستمی با Homebrew (پیشنهادی)
brew install ffmpegدانلود خودکار برای مک عمداً غیرفعال است: آدرس رسمی evermeet.cx این روزها به دامنهای دیگر ریدایرکت میشود که نمیشد صحتش را از داخل اسکریپت تضمین کرد. Homebrew مسیر امن و استاندارد است.
لینوکس
# روش ۱: از پوشه پروژه اجرا کنید
npm run setup-ffmpeg
# روش ۲: پکیجمنیجر توزیع خودتان
sudo apt install ffmpeg # Debian/Ubuntu
sudo dnf install ffmpeg # Fedora
sudo pacman -S ffmpeg # Archدانلود خودکار برای ویندوز/لینوکس از ساختهای GPL پروژه BtbN/FFmpeg-Builds روی گیتهاب است — همان منبعی که صفحه رسمی دانلود ffmpeg.org هم برای این دو پلتفرم معرفی میکند.
راهاندازی در سه قدم
نصب وابستگیها
توی پوشه پروژه دستور npm install را بزنید.
اجرای سرور
با npm start سرور بالا میآید؛ پورت با متغیر محیطی PORT قابل تغییر است.
باز کردن مرورگر
آدرس http://localhost:3000 را باز کنید و ویدیو را بکشید توی صفحه.
داخل سورس چی هست
بعد از دانلود و اکسترکت، ساختار همین است — دقیقاً همین را npm install و npm start اجرا میکنند.
ساختار پوشه خروجی
برای هر ویدیو، این ساختار زیر output/<نامویدیو>/ ساخته میشود:
hls/
master.m3u8 (فقط در حالت چندکیفیتی)
v0.m3u8, v1.m3u8, ... یا index.m3u8
v0_000.ts, ... یا seg_000.ts, ...
dash/
manifest.mpd
init-stream0.m4s, chunk-stream0-00001.m4s, ...زیر کاپوت
محدودیتها
- سرور فقط برای استفاده شخصی/محلی طراحی شده — بدون احراز هویت، بدون محدودیت نرخ درخواست. آن را روی اینترنت عمومی expose نکنید.
- این یک ابزار آموزشی/دمو است، نه یک پایپلاین ترانسکود در مقیاس تولید.
آمادهاید امتحانش کنید؟
سورس را دانلود کنید، FFmpeg را نصب کنید، و با npm install && npm start در کمتر از یک دقیقه اجرایش کنید.
دانلود سورس (zip)