سوکت برای اپلود فایل های حجیم طراحی نشده ، بنابراین فایل ها باید به قسمت های کم حجم تری تقسیم شده و اپلود بشن.
در این کد از ورژن جدید نود جی اس بصورت "type": "module" استفاده شده
مراحل طراحی شده در این کد
1-اپلود فایل در هاست اصلی
2- دیتای مورد نیاز (حجم / زمان ویدیو و غیره) استخراج می شوند
3-فایل به سرور FTP منتقل میشود
3-1-لینک دانلود از FTP نیز ایجاد می شود
4-یک نسخه کم حجم تر از فایل ایجاد می شود(اگر امکان کم حجم سازی میسر باشد ، برای فرمت های زیپ امکان کم حجم سازی مجدد وجود ندارد)
4-1- اطلاعات نسخه کم حجم نیز واکشی میشود
5-فایل کم حجم نیز به سرور FTP منتقل می شود
5-1- لینک دانلود از FTP نیز ایجاد می شود.
6-در نهایت هر دو فایل (اصلی و کم حجم شده) از روی هاست اصلی حذف میشوند.
کتابخانه های استفاده شده
basic-ftp 5.0.5
dotenv 16.5.0
express 4.21.2
ffprobe-client 1.1.6
file-type 21.0.0
fluent-ffmpeg 2.1.3
socket.io ^4.8.1
‼️دقت کنید تا ورژن سرور و کلاینت سوکت یکی باشد
‼️اگر نمیخواید اطلاعات فایل واکشی بشه و فشرده سازی انجام بشه میتونید
از لایبراری fluent-ffmpeg - ffprobe-client صرف نظر کنید (برای نوع های مدیا لازم هستن)