Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add videoapi grpc server and vidit tool #2

Merged
merged 56 commits into from
May 17, 2024
Merged

add videoapi grpc server and vidit tool #2

merged 56 commits into from
May 17, 2024

Conversation

adwski
Copy link
Owner

@adwski adwski commented Apr 29, 2024

Новые фичи ViDi:

  • Добавлен GRPC сервер в videoapi (userside и serviceside). HTTP сервер оставлен только для userside (чтобы оставить возможность смотреть видео в браузере через /api/watch)
  • Новый подход к загрузке: видео загружается по частям, с проверкой sha256 чексум.
  • Новый подход к обработке: processor работает напрямую с загруженными частями через компонент MediaReader (который абстрагирует несколько частей в виде одного ReadSeekCloser)
  • Важный фикс в сегментировании: размер сегмента теперь автоматически может быть увеличен (относительно сконфигурированного), чтобы сохранить возможность генерации сегментов одинаковой длины, так как в некоторых файлах расстояние между синк сэмплами может быть длиннее сконфигурированной длины сегмента.
  • Добавлены квоты для пользователей (на общий размер и количество видео)
  • Добавлено имя в видео объект
  • Добавлена playback metadata в видео объект и возможность просмотра по прямой ссылке

Новая клиентская утилита vidit

  • Сделана в виде TUI
  • Позволяет получать список видео, ссылки на просмотр, загружать и удалять видео
  • Позволяет смотреть квоты
  • Поддерживает работу с несколькими пользователями
  • Сохраняет своё состояние в домашней директории и может возобновлять прерванную загрузку

Copy link
Collaborator

@s-shpak s-shpak left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Артем, все отлично. Запустил локально, поигрался, круто!

Несколько идей по дальнейшему улучшению:

  • поменять zap на slog
  • выпилить statictest, они устарели, к сожалению
  • из более сложного: добавить полноценный UI + научиться разворачивать приложение в k8s

Но в целом проект супер-крутой. Спасибо тебе, с тобой было очень приятно работать

@adwski adwski merged commit dec19c8 into main May 17, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants