Skip to content

Repository files navigation

🎥 Генерация виральных клипов Rutube


Важное

  • Не рекомендуется тестирование в браузере Safari
  • Будьте терпеливы, клипы прогружаются некоторое время
  • Ссылка на решение
  • Ссылка для быстрого тестирования
  • Функционал включает в себя:
    • выделение ключевых моментов
    • ранжирование ключевых моментов
    • возможность редактирования видео

📌 Этот проект представляет собой web-сервис для автоматической обработки видео. Он позволяет загружать длинные видео и генерировать из них набор коротких вертикальных клипов, содержащих ключевые моменты. Эти клипы предназначены для использования в промо-материалах, на платформах с короткими видео и в социальных сетях с целью максимального привлечения внимания зрителя. Основная задача сервиса — создать такие фрагменты видео, которые будут стимулировать аудиторию к просмотру полного оригинального видео.


📂 Структура проекта для back-end

├── /data/                 # Данные проекта
│   ├── text.txt           # Текстовый файл с данными
│   ├── vidio.json         # JSON-файл с информацией о видео
│   └── vidio_tt.json      # JSON-файл с дополнительной информацией о видео
├── /endpoints/            # Эндпоинты API
│   ├── get_subtitles.py   # Эндпоинт для получения субтитров
│   ├── upload_file.py     # Эндпоинт для загрузки файлов
│   └── work_with_vidio.py # Скрипт для работы с видеофайлами
├── /services/             # Сервисные модули
│   ├── chunks.py          # Модуль для работы с фрагментами видео
│   ├── find_best.py       # Модуль для нахождения лучших моментов
│   └── transcribe.py      # Модуль для транскрипции видео
├── Dockerfile             # Конфигурация Docker для запуска проекта
├── build.sh               # Скрипт для сборки проекта
├── edit_video.py          # Скрипт для редактирования видео
├── main.py                # Основной файл запуска приложения
├── requirements.txt       # Файл с зависимостями проекта
├── test.py                # Тестовый файл
├── test_01.py             # Дополнительный тестовый файл
└── whisper_responses.json # JSON-файл с ответами от системы Whisper

📂 Структура проекта для front-end

├── /public/                     # Публичные файлы проекта
│   ├── favicon.ico              # Иконка сайта
│   ├── index.html               # Основной HTML-файл
│   ├── logo192.png              # Логотип (192x192)
│   ├── logo512.png              # Логотип (512x512)
│   ├── manifest.json            # Манифест приложения для PWA
│   └── robots.txt               # Файл для управления доступом к сайту для поисковых систем
├── /src/                        # Исходные файлы приложения
│   ├── /pages/                  # Компоненты страниц
│   │   ├── EditPage.css         # Стили для страницы редактирования
│   │   ├── EditPage.js          # Страница редактирования
│   │   ├── ProcessingPage.js    # Страница обработки данных
│   │   ├── SRTStringEditor.jsx  # Компонент для редактирования SRT строк
│   │   ├── UploadPage.js        # Страница загрузки файлов
│   │   └── VideoPreviewPage.js  # Страница предпросмотра видео
│   ├── App.css                  # Стили для компонента App
│   ├── App.js                   # Основной компонент приложения
│   ├── index.css                # Основные стили
│   └── index.js                 # Точка входа в приложение
├── .env                         # Переменные окружения
├── .gitignore                   # Игнорируемые файлы и папки для Git
├── README.md                    # Документация проекта
├── package-lock.json            # Lock-файл для зависимостей
├── package.json                 # Конфигурация проекта и зависимости

🛠️ Используемые технологии

  • Язык программирования: Python 3.10+
  • Фреймворк: Flask
  • Дополнительные библиотеки:
    • MoviePy — работа с видео
    • Librosa — обработка аудио
    • Torch — модели машинного обучения
    • Pandas — работа с табличными данными
    • OpenCV — обработка изображений и видео
    • MTcnn — детекция лиц
    • BeautifulSoup — парсинг HTML и XML
    • Pydub — обработка аудио
    • DeepFace — распознавание лиц
    • TensorFlow — создание и обучение моделей машинного обучения
    • Protobuf — сериализация данных
    • HTTPX — HTTP-клиент для асинхронных запросов
    • Uvicorn — сервер для запуска FastAPI
    • Pysrt — работа с субтитрами в формате .srt
    • Requests — библиотека для HTTP-запросов

📦 Установка и запуск

Требования

  • Python 3.10+
  • Не желательно использовать Safari для тестирования

Установка

  1. Клонируйте репозиторий:

    git clone https://github.com/hackaton-labelAI/video-highlight-server.git
  2. Установите зависимости:

    pip install -r requirements.txt
  3. Запуск проекта:

    python main.py
  4. Откройте ваш браузер и перейдите по адресу:

    http://127.0.0.1:8000
  5. Для работы с API используйте Postman или другой инструмент для тестирования запросов, избегая Safari.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages