Skip to content

Latest commit

 

History

165 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Playbacq

動画共有サービス

・フロントエンド:https://github.com/UnABC/playbacQ-UI

技術スタック

Frontend

  • Framework: Angular 19+
  • UI Library: Angular Material
  • Video Player: Plyr / HLS.js
  • Reactive Programming: RxJS

Backend

  • Language: C++23
  • Framework: Drogon (C++ Web Framework)
  • Storage: MinIO (S3 Compatible Object Storage)
  • Database: MySQL / Redis (View Count Caching & Job Queue)
  • Others: AWS SDK for C++ (S3 Plugin)

環境構築

docker compose up -d

.env.env.exampleを参考に設定

実行

mkdir build
cd build
cmake ..
make
./playbacq

または

VSCodeでCMake Toolsを使用してビルド+実行。

ローカル

make local-dev

次のコマンドで、ローカル環境のビルドから起動までまとめて実行可能です。

make local-dev

内部では次の処理を行います。

  1. MySQL、Redis、MinIO、バックエンドコンテナを起動
  2. BUILD_LOCAL_DEV=ONUSE_LOCAL_WORKER=ONでCMake configure
  3. buildが未作成なら通常ビルド、作成済みならインクリメンタルビルド
  4. ./build/playbacqを起動
  5. バックエンドの8080番ポートが利用可能になるまで待機

エンコードにはCPUを使用します。GPUを使用する場合は補助コマンドを利用する。

手動

開発用コンテナを起動して手動でビルド・実行することもできます。

docker compose up -d
docker compose exec backend bash

コンテナ内で実行

cmake -S . -B build -DBUILD_LOCAL_DEV=ON -DUSE_LOCAL_WORKER=ON
cmake --build build -j$(nproc)
./build/playbacq

VSCode CMake Tools

VSCodeのCmake Toolsでもビルド・実行可能です。

CMake Toolsには次を設定します。

{
  "cmake.buildDirectory": "${workspaceFolder}/build",
  "cmake.configureSettings": {
    "CMAKE_BUILD_TYPE": "Debug",
    "BUILD_LOCAL_DEV": "ON",
    "USE_LOCAL_WORKER": "ON"
  },
  "cmake.buildBeforeRun": true,
  "cmake.debugConfig": {
    "cwd": "${workspaceFolder}"
  }
}

ビルドターゲットはall、実行・デバッグ対象はplaybacqを選択します。 CMake Toolsから実行する場合はmake local-devを実行せずdocker compose up -dを実行。

補助コマンド

サービスの稼働状況、ローカルCPU/GPUモード、エンコーダー設定を表示します。

make local-dev-status

バックエンドのログを表示します。

make local-dev-logs

開発用コンテナのシェルを開きます。

make local-dev-shell

ローカル環境を停止します。

make local-dev-down

ローカルでもNVIDIA GPUを使用してエンコードする場合は、次のコマンドを使用します。

make local-dev-gpu

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages