Files
adaptive-video-converter/docs/cli/examples.md
2025-12-03 22:46:15 +03:00

8.6 KiB
Raw Blame History

Примеры

Практические примеры для различных сценариев использования.

Базовые сценарии

Быстрая конвертация с настройками по умолчанию

avc video.mp4

Результат:

  • Папка video/ в текущей директории
  • DASH + HLS манифесты
  • H.264 + AV1 кодеки
  • Автоматические профили качества
  • Постер с 1-й секунды
  • Thumbnail спрайты

Указание выходной директории

avc video.mp4 ./public/videos

Структура:

public/
└── videos/
    └── video/
        ├── manifest.mpd
        ├── master.m3u8
        ├── 720p-h264/
        └── ...

Выбор разрешений

Стандартные веб-разрешения

avc video.mp4 -r 720,1080

Для кого: Большинство веб-сайтов

Профили: 720p, 1080p на 30fps


Полный спектр качества

avc video.mp4 -r 360,480,720,1080,1440,2160

Для кого: Стриминговые платформы типа YouTube/Netflix

Покрытие: От мобильных до 4K мониторов


Высокий FPS для игр

avc gameplay.mp4 -r 720@60,1080@60,1440@120

Для кого: Игровой контент, стримы

Особенность: Плавное воспроизведение 60/120 FPS


Только мобильные разрешения

avc video.mp4 -r 360,480,720

Для кого: Мобильные приложения

Преимущество: Экономия трафика


Выбор кодеков

Только H.264 (максимальная совместимость)

avc video.mp4 -c h264

Когда использовать:

  • Старые браузеры и устройства
  • Гарантированное воспроизведение
  • Safari/iOS (обязательно для HLS)

Только AV1 (максимальное сжатие)

avc video.mp4 -c av1

Когда использовать:

  • Современные браузеры (Chrome 90+, Firefox 90+)
  • Экономия полосы пропускания
  • Ограниченное хранилище

Экономия: ~40-50% по сравнению с H.264


Dual codec (лучшая стратегия)

avc video.mp4 -c dual

Преимущества:

  • Современные браузеры используют AV1
  • Старые устройства переключаются на H.264
  • Автоматический выбор плеером

Выбор форматов

Только DASH

avc video.mp4 -f dash

Для кого:

  • Веб-плееры: dash.js, Shaka Player, Video.js
  • Android устройства
  • Современные smart TV

Только HLS

avc video.mp4 -f hls -c h264

Для кого:

  • Apple устройства (iPhone, iPad, Mac)
  • Safari браузер
  • Нативная поддержка в iOS

Важно: HLS лучше работает с H.264


Оба формата (рекомендуется)

avc video.mp4 -f both -c dual

Преимущество: 100% совместимость со всеми устройствами


Настройка качества

Высокое качество (архивное)

avc video.mp4 -r 1080,1440,2160 \
  -c dual \
  --h264-cq 18 \
  --av1-cq 25

Для кого: Архивы, профессиональные видео

Размер: Большой (~80-90% от исходника)


Сбалансированное качество

avc video.mp4 -r 720,1080 \
  -c dual \
  --h264-cq 28 \
  --av1-cq 35

Для кого: Обычные веб-сайты

Размер: Средний (~40-50% от исходника)


Экономия места

avc video.mp4 -r 480,720 \
  -c av1 \
  --av1-cq 40

Для кого: Мобильные приложения, ограниченное хранилище

Размер: Малый (~20-30% от исходника)


Постеры

Постер с определенной секунды

# Интересный момент на 30-й секунде
avc video.mp4 -p 30

Постер из середины видео

Сначала узнайте длительность:

ffprobe -v error -show_entries format=duration \
  -of default=noprint_wrappers=1:nokey=1 video.mp4
# Вывод: 300.5 (5 минут)

# Постер из середины (2:30)
avc video.mp4 -p 00:02:30

Реальные сценарии

1. Корпоративный сайт

Требования:

  • Несколько разрешений
  • Широкая совместимость
  • Хорошее качество
avc presentation.mp4 ./public/videos \
  -r 720,1080 \
  -c dual \
  -f both \
  -p 5

2. Образовательная платформа

Требования:

  • Экономия трафика для студентов
  • Разные устройства
  • Много видео
avc lecture.mp4 ./courses/math-101 \
  -r 360,480,720 \
  -c av1 \
  -f dash \
  --av1-cq 38

3. Стриминговый сервис

Требования:

  • Полный спектр качества
  • 4K контент
  • Высокое качество
avc movie.mp4 ./cdn/movies/avatar \
  -r 360,720,1080,1440,2160 \
  -c dual \
  -f both \
  --h264-cq 23 \
  --av1-cq 30 \
  -p 00:00:10

4. Игровой портал

Требования:

  • Высокий FPS
  • Геймплейные видео
  • Плавность
avc gameplay.mp4 ./streams \
  -r 720@60,1080@60,1440@120 \
  -c dual \
  -f dash

5. Мобильное приложение

Требования:

  • Минимальный трафик
  • Быстрая загрузка
  • Малые разрешения
avc video.mp4 ./app/assets \
  -r 360,480 \
  -c av1 \
  -f dash \
  --av1-cq 42

6. Apple-only приложение

Требования:

  • iOS/macOS приложение
  • HLS формат
  • Надежность
avc video.mp4 ./ios-app/videos \
  -r 480,720,1080 \
  -c h264 \
  -f hls \
  -p 00:00:03

Пакетная обработка

Bash script для множества файлов

#!/bin/bash

# Конвертация всех MP4 файлов в папке
for video in *.mp4; do
  echo "Converting: $video"
  avc "$video" ./output \
    -r 720,1080 \
    -c dual \
    -f both
done

echo "All videos converted!"

С сохранением структуры папок

#!/bin/bash

# Найти все MP4 и конвертировать
find ./source -name "*.mp4" -type f | while read video; do
  # Получить путь относительно source
  rel_path="${video#./source/}"
  dir_name=$(dirname "$rel_path")

  # Создать выходную директорию
  mkdir -p "./output/$dir_name"

  # Конвертировать
  avc "$video" "./output/$dir_name" \
    -r 720,1080 \
    -c dual \
    -f both
done

Оптимизация производительности

Быстрая конвертация (минимум профилей)

avc video.mp4 -r 720 -c h264 -f dash

Время: ~30% от полной конвертации


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

# Убедитесь что NVENC доступен
avc video.mp4 -c dual  # Автоматически использует NVENC

Скорость: В 5-10 раз быстрее CPU


Проверка результата

После конвертации проверьте результат:

# Список созданных файлов
ls -lh video/

# Проверка DASH манифеста
cat video/manifest.mpd

# Проверка HLS манифеста
cat video/master.m3u8

# Размер всех файлов
du -sh video/

Следующие шаги