--- layout: home hero: name: "Adaptive Video Converter" text: "Конвертер видео в адаптивные форматы" tagline: DASH и HLS с GPU-ускорением (NVENC) и генерацией превью actions: - theme: brand text: Быстрый старт link: /guide/getting-started - theme: alt text: Возможности link: /FEATURES - theme: alt text: API Reference link: /api/overview features: - icon: ⚡ title: GPU-ускорение details: Использование NVIDIA NVENC для быстрого кодирования H.264 и AV1 с фоллбеком на CPU - icon: 🎯 title: DASH + HLS details: Поддержка обоих форматов адаптивного стриминга для максимальной совместимости - icon: 📊 title: Адаптивный битрейт (ABR) details: Автоматическое создание множественных профилей качества от 360p до 4K - icon: 🎬 title: Dual Codec details: Одновременная генерация H.264 (совместимость) и AV1 (эффективность) - icon: 🖼️ title: Превью-спрайты details: Автоматическая генерация thumbnail спрайтов с VTT для seek preview - icon: 📸 title: Постер details: Извлечение постера из видео в заданном таймкоде - icon: ⏱️ title: Прогресс в реальном времени details: Детальное отображение прогресса конвертации с процентами и ETA - icon: 🔧 title: CLI + API details: Удобный CLI для терминала и программный API для интеграции - icon: 🚀 title: Параллельное кодирование details: Одновременное кодирование нескольких профилей для максимальной скорости --- ## Быстрая установка ::: code-group ```bash [npm] npm install -g @grom13/adaptive-video-converter ``` ```bash [npx (без установки)] npx @grom13/adaptive-video-converter video.mp4 ``` ::: ## Использование ```bash # Базовая конвертация avc video.mp4 # С параметрами avc video.mp4 ./output -r 720,1080,1440 -c dual -f both # Только HLS для Safari/iOS avc video.mp4 -f hls -c h264 # Высокий FPS для игровых стримов avc video.mp4 -r 720@60,1080@60,1440@120 ``` ## Системные требования - Node.js ≥ 18.0.0 - FFmpeg (с поддержкой NVENC для GPU) - MP4Box (gpac) - Опционально: NVIDIA GPU с NVENC ::: tip Проверьте наличие необходимых инструментов: ```bash ffmpeg -version MP4Box -version ``` ::: ## Результат После конвертации вы получите: ``` video/ ├── manifest.mpd # DASH манифест ├── master.m3u8 # HLS мастер-плейлист ├── 720p-h264/ # Сегменты по профилям ├── 720p-av1/ ├── 1080p-h264/ ├── 1080p-av1/ ├── thumbnails.jpg # Спрайт превью ├── thumbnails.vtt # WebVTT временные метки └── poster.jpg # Постер ``` ## Программное использование ```typescript import { convertToDash } from '@grom13/adaptive-video-converter'; const result = await convertToDash({ inputPath: './video.mp4', outputDir: './output', codecType: 'dual', format: 'both', onProgress: (progress) => { console.log(`${progress.percent}% - ${progress.stage}`); } }); console.log('Готово:', result.manifestPath); ``` ---