# Примеры Практические примеры для различных сценариев использования. ## Базовые сценарии ### Быстрая конвертация с настройками по умолчанию ```bash avc video.mp4 ``` **Результат:** - Папка `video/` в текущей директории - DASH + HLS манифесты - H.264 + AV1 кодеки - Автоматические профили качества - Постер с 1-й секунды - Thumbnail спрайты --- ### Указание выходной директории ```bash avc video.mp4 ./public/videos ``` **Структура:** ``` public/ └── videos/ └── video/ ├── manifest.mpd ├── master.m3u8 ├── 720p-h264/ └── ... ``` --- ## Выбор разрешений ### Стандартные веб-разрешения ```bash avc video.mp4 -r 720,1080 ``` **Для кого:** Большинство веб-сайтов **Профили:** 720p, 1080p на 30fps --- ### Полный спектр качества ```bash avc video.mp4 -r 360,480,720,1080,1440,2160 ``` **Для кого:** Стриминговые платформы типа YouTube/Netflix **Покрытие:** От мобильных до 4K мониторов --- ### Высокий FPS для игр ```bash avc gameplay.mp4 -r 720@60,1080@60,1440@120 ``` **Для кого:** Игровой контент, стримы **Особенность:** Плавное воспроизведение 60/120 FPS --- ### Только мобильные разрешения ```bash avc video.mp4 -r 360,480,720 ``` **Для кого:** Мобильные приложения **Преимущество:** Экономия трафика --- ## Выбор кодеков ### Только H.264 (максимальная совместимость) ```bash avc video.mp4 -c h264 ``` **Когда использовать:** - Старые браузеры и устройства - Гарантированное воспроизведение - Safari/iOS (обязательно для HLS) --- ### Только AV1 (максимальное сжатие) ```bash avc video.mp4 -c av1 ``` **Когда использовать:** - Современные браузеры (Chrome 90+, Firefox 90+) - Экономия полосы пропускания - Ограниченное хранилище **Экономия:** ~40-50% по сравнению с H.264 --- ### Dual codec (лучшая стратегия) ```bash avc video.mp4 -c dual ``` **Преимущества:** - Современные браузеры используют AV1 - Старые устройства переключаются на H.264 - Автоматический выбор плеером --- ## Выбор форматов ### Только DASH ```bash avc video.mp4 -f dash ``` **Для кого:** - Веб-плееры: dash.js, Shaka Player, Video.js - Android устройства - Современные smart TV --- ### Только HLS ```bash avc video.mp4 -f hls -c h264 ``` **Для кого:** - Apple устройства (iPhone, iPad, Mac) - Safari браузер - Нативная поддержка в iOS **Важно:** HLS лучше работает с H.264 --- ### Оба формата (рекомендуется) ```bash avc video.mp4 -f both -c dual ``` **Преимущество:** 100% совместимость со всеми устройствами --- ## Настройка качества ### Высокое качество (архивное) ```bash avc video.mp4 -r 1080,1440,2160 \ -c dual \ --h264-cq 18 \ --av1-cq 25 ``` **Для кого:** Архивы, профессиональные видео **Размер:** Большой (~80-90% от исходника) --- ### Сбалансированное качество ```bash avc video.mp4 -r 720,1080 \ -c dual \ --h264-cq 28 \ --av1-cq 35 ``` **Для кого:** Обычные веб-сайты **Размер:** Средний (~40-50% от исходника) --- ### Экономия места ```bash avc video.mp4 -r 480,720 \ -c av1 \ --av1-cq 40 ``` **Для кого:** Мобильные приложения, ограниченное хранилище **Размер:** Малый (~20-30% от исходника) --- ## Постеры ### Постер с определенной секунды ```bash # Интересный момент на 30-й секунде avc video.mp4 -p 30 ``` --- ### Постер из середины видео Сначала узнайте длительность: ```bash 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. Корпоративный сайт **Требования:** - Несколько разрешений - Широкая совместимость - Хорошее качество ```bash avc presentation.mp4 ./public/videos \ -r 720,1080 \ -c dual \ -f both \ -p 5 ``` --- ### 2. Образовательная платформа **Требования:** - Экономия трафика для студентов - Разные устройства - Много видео ```bash avc lecture.mp4 ./courses/math-101 \ -r 360,480,720 \ -c av1 \ -f dash \ --av1-cq 38 ``` --- ### 3. Стриминговый сервис **Требования:** - Полный спектр качества - 4K контент - Высокое качество ```bash 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 - Геймплейные видео - Плавность ```bash avc gameplay.mp4 ./streams \ -r 720@60,1080@60,1440@120 \ -c dual \ -f dash ``` --- ### 5. Мобильное приложение **Требования:** - Минимальный трафик - Быстрая загрузка - Малые разрешения ```bash avc video.mp4 ./app/assets \ -r 360,480 \ -c av1 \ -f dash \ --av1-cq 42 ``` --- ### 6. Apple-only приложение **Требования:** - iOS/macOS приложение - HLS формат - Надежность ```bash avc video.mp4 ./ios-app/videos \ -r 480,720,1080 \ -c h264 \ -f hls \ -p 00:00:03 ``` --- ## Пакетная обработка ### Bash script для множества файлов ```bash #!/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!" ``` --- ### С сохранением структуры папок ```bash #!/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 ``` --- ## Оптимизация производительности ### Быстрая конвертация (минимум профилей) ```bash avc video.mp4 -r 720 -c h264 -f dash ``` **Время:** ~30% от полной конвертации --- ### Использование только GPU ```bash # Убедитесь что NVENC доступен avc video.mp4 -c dual # Автоматически использует NVENC ``` **Скорость:** В 5-10 раз быстрее CPU --- ## Проверка результата После конвертации проверьте результат: ```bash # Список созданных файлов ls -lh video/ # Проверка DASH манифеста cat video/manifest.mpd # Проверка HLS манифеста cat video/master.m3u8 # Размер всех файлов du -sh video/ ``` --- ## Следующие шаги - [Опции и ключи](/cli/options) — Полный справочник параметров - [API Библиотеки](/api/) — Использование в коде