144 lines
4.1 KiB
Markdown
144 lines
4.1 KiB
Markdown
---
|
||
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);
|
||
```
|
||
|
||
---
|
||
|
||
<div style="text-align: center; margin-top: 2rem;">
|
||
<a href="/guide/getting-started" style="font-size: 1.2rem;">
|
||
→ Начать работу с документацией
|
||
</a>
|
||
</div>
|