Создание функционала для потоковой загрузки видео: drf-chunked-upload

Проект: Социальная сеть
Технологии: Django, Django REST Framework, drf-chunked-upload
Функциональность: Потоковая загрузка видео для пользовательских и групповых постов

Описание
Необходимо разработать функционал для потоковой загрузки видео на платформу социальной сети. Загрузка должна поддерживать функции продолжения передачи при обрыве соединения и эффективной обработки больших файлов. Видео может быть прикреплено как к личным постам пользователей, так и к группам.

Цели и задачи
Инициализация загрузки
Создать эндпоинты для начала загрузки видеофайла.
Метод: POST
Параметры: размер файла, тип, идентификатор пользователя или группы.
Загрузка чанков видео
Реализовать механизм загрузки кусочков (чанков) видеофайла.
Метод: PATCH
Параметры: идентификатор загрузки, номер чанка, сам чанк.
Завершение загрузки
Создать возможность завершения загрузки после отправки всех частей.
Метод: POST
Параметры: идентификатор загрузки.

Обработка ошибок и валидация
Разработать систему обработки ошибок (например, потеря чанка, неправильный порядок).
Убедиться в корректности загрузки: контрольные суммы, количество частей и др.

Тестирование
Подготовить тесты для проверки функциональности загрузки:
- корректная загрузка и завершение;
- обработка ошибок и восстановление загрузки.

Требования:
- использовать drf-chunked-upload как библиотеку для загрузки;
- потоковая загрузка должна поддерживать файлы размером до 100 Mb;
- обеспечить хорошую масштабируемость решения для дальнейшего роста пользовательской базы.

Читайте на 123ru.net