Files
2025-12-03 22:46:15 +03:00

4.1 KiB
Raw Permalink Blame History

layout, hero, features
layout hero features
home
name text tagline actions
Adaptive Video Converter Конвертер видео в адаптивные форматы DASH и HLS с GPU-ускорением (NVENC) и генерацией превью
theme text link
brand Быстрый старт /guide/getting-started
theme text link
alt Возможности /FEATURES
theme text link
alt API Reference /api/overview
icon title details
GPU-ускорение Использование NVIDIA NVENC для быстрого кодирования H.264 и AV1 с фоллбеком на CPU
icon title details
🎯 DASH + HLS Поддержка обоих форматов адаптивного стриминга для максимальной совместимости
icon title details
📊 Адаптивный битрейт (ABR) Автоматическое создание множественных профилей качества от 360p до 4K
icon title details
🎬 Dual Codec Одновременная генерация H.264 (совместимость) и AV1 (эффективность)
icon title details
🖼️ Превью-спрайты Автоматическая генерация thumbnail спрайтов с VTT для seek preview
icon title details
📸 Постер Извлечение постера из видео в заданном таймкоде
icon title details
⏱️ Прогресс в реальном времени Детальное отображение прогресса конвертации с процентами и ETA
icon title details
🔧 CLI + API Удобный CLI для терминала и программный API для интеграции
icon title details
🚀 Параллельное кодирование Одновременное кодирование нескольких профилей для максимальной скорости

Быстрая установка

::: code-group

npm install -g @grom13/adaptive-video-converter
npx @grom13/adaptive-video-converter video.mp4

:::

Использование

# Базовая конвертация
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 Проверьте наличие необходимых инструментов:

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                # Постер

Программное использование

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);