В этом руководстве мы разберем процесс установки и работы с Real-ESRGAN для улучшения качества видео и FFmpeg для обработки медиафайлов.
1. Установка необходимых инструментов
1.1 Установка Python
Убедитесь, что у вас установлен Python 3.9+. Проверить версию можно командой:
python --version
Если Python не установлен, скачайте и установите его с официального сайта.
1.2 Установка FFmpeg
FFmpeg нужен для обработки видео. Скачайте готовую сборку с https://ffmpeg.org/download.html и добавьте её в переменную окружения PATH.
Проверьте установку командой:
ffmpeg -version
1.3 Установка CUDA (если есть видеокарта NVIDIA)
Если у вас есть NVIDIA GPU, установите CUDA и cuDNN для ускорения обработки. Проверьте, установлена ли CUDA:
nvcc --version
Если CUDA не установлена, скачайте её с сайта NVIDIA и установите.
1.4 Установка PyTorch с поддержкой CUDA
Установите PyTorch с нужной версией CUDA:
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
Проверьте, доступен ли GPU для PyTorch:
python -c "import torch; print(torch.cuda.is_available())"
Должно вывести True, если CUDA работает.
1.5 Установка Real-ESRGAN
Скачиваем и устанавливаем Real-ESRGAN:
git clone https://github.com/xinntao/Real-ESRGAN.git cd Real-ESRGAN pip install -r requirements.txt
2. Подготовка видео к обработке
Перед улучшением качества видео, разобьем его на кадры:
ffmpeg -i input.mp4 -q:v 1 frames/frame_%04d.png
3. Улучшение изображения с помощью Real-ESRGAN
Запускаем Real-ESRGAN для увеличения качества кадров:
python inference_realesrgan.py --input "frames" --output "frames_upscaled" --model_name RealESRGAN_x4plus --outscale 4 --tile 128 -g 0
4. Сборка видео обратно
После обработки собираем видео обратно:
ffmpeg -framerate 30 -i "frames_upscaled/frame_%04d_out.png" -c:v libx264 -crf 18 -preset slow output.mp4
Чтобы вернуть звук из оригинального видео:
ffmpeg -i output.mp4 -i input.mp4 -c:v copy -c:a aac -strict experimental final_output.mp4
5. Конвертация для веб
5.1 Оптимизация в WebM (VP9)
ffmpeg -i final_output.mp4 -c:v libvpx-vp9 -b:v 0 -crf 30 -c:a libopus -b:a 96k final_output.webm
5.2 Оптимизация в MP4 (H.264)
ffmpeg -i final_output.mp4 -c:v libx264 -crf 26 -preset fast -c:a aac -b:a 128k final_output_web.mp4
Теперь у вас есть улучшенное видео в подходящем формате!
Результат по кадровой обработки. Кадр до:
Кадр после обработки: