Skip to content

Mike25app/MOVtoMP4

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MOV → MP4 Конвертер (Vercel Version)

Веб-застосунок для конвертації MOV файлів в MP4 безпосередньо в браузері за допомогою FFmpeg.wasm.

Особливості

Браузерна конвертація - всі файли обробляються локально, не відправляються на сервер ✅ Множинна конвертація - обробка декількох файлів одночасно ✅ Висока якість - CRF 23, H.264 кодек ✅ Безпека - файли не залишають твій комп'ютер ✅ Безкоштовно - деплой на Vercel Hobby Plan

Швидкий деплой на Vercel

Варіант 1: Через Vercel CLI (рекомендовано)

# 1. Встанови Vercel CLI (якщо немає)
npm install -g vercel

# 2. Перейди в папку проекту
cd vercel

# 3. Деплой
vercel --prod

Vercel попросить:

  • Login (якщо ще не залогінений)
  • Підтвердити папку проекту
  • Дати назву проекту (або залишити автоматичну)

Варіант 2: Через GitHub + Vercel Dashboard

  1. Створи новий репозиторій на GitHub

  2. Завантаж файли з папки vercel/:

    • index.html
    • style.css
    • app.js
    • vercel.json
    • README.md
  3. Підключи репозиторій до Vercel:

    • Йди на https://vercel.com/new
    • Вибери свій репозиторій
    • Залиш налаштування за замовчуванням
    • Deploy!

Технічні деталі

Чому працює на Vercel?

  • FFmpeg.wasm працює в браузері (WebAssembly)
  • vercel.json додає необхідні COOP/COEP заголовки для SharedArrayBuffer
  • Немає серверної обробки - тільки статичні файли

Налаштування якості

В app.js можна змінити параметри конвертації:

await ffmpeg.exec([
    '-i', inputName,
    '-c:v', 'libx264',      // Відео кодек
    '-preset', 'fast',      // Швидкість (ultrafast...veryslow)
    '-crf', '23',           // Якість 0-51 (18=висока, 23=стандарт, 28=низька)
    '-c:a', 'aac',          // Аудіо кодек
    '-b:a', '128k',         // Бітрейт аудіо
    outputName
]);

Обмеження

  • Розмір файлу: залежить від RAM браузера (зазвичай до 2GB)
  • Швидкість: повільніше ніж серверна конвертація (працює в браузері)
  • Підтримка браузерів: Chrome 92+, Edge 92+, Safari 15.2+

Структура проекту

vercel/
├── index.html      # Головна сторінка
├── style.css       # Стилі
├── app.js          # Логіка FFmpeg.wasm
├── vercel.json     # Конфігурація Vercel (COOP/COEP)
└── README.md       # Цей файл

Локальне тестування

Для локального тестування потрібен сервер з COOP/COEP заголовками:

# Встанови serve з підтримкою заголовків
npm install -g serve

# Запусти (але serve не додає COOP/COEP, тому може не працювати локально)
serve

# Краще тестувати одразу на Vercel
vercel dev

Або використай vercel dev для локального запуску з Vercel середовищем.

Деплой оновлень

cd vercel
vercel --prod

Troubleshooting

SharedArrayBuffer is not defined

Перевір що vercel.json присутній і має правильні заголовки.

FFmpeg не завантажується

Перевір консоль браузера (F12). Можливо проблема з CORS або заголовками.

Повільна конвертація

Це нормально - FFmpeg.wasm працює в браузері і повільніший за нативний FFmpeg. Для великих файлів може знадобитись до 1-2 хвилин на відео.

Порівняння якості

Поточні налаштування (CRF 23):

  • Оригінал MOV (HEVC): ~37MB, 17.7 Mbps
  • Конвертований MP4 (H.264): ~12MB, 5.5 Mbps
  • Візуальна якість: відмінна, без помітних втрат

Ліцензія

MIT

Підтримка

Якщо є питання або проблеми - створи Issue на GitHub.

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors