動画共有サービス
・フロントエンド:https://github.com/UnABC/playbacQ-UI
- Framework: Angular 19+
- UI Library: Angular Material
- Video Player: Plyr / HLS.js
- Reactive Programming: RxJS
- 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内部では次の処理を行います。
- MySQL、Redis、MinIO、バックエンドコンテナを起動
BUILD_LOCAL_DEV=ONとUSE_LOCAL_WORKER=ONでCMake configurebuildが未作成なら通常ビルド、作成済みならインクリメンタルビルド./build/playbacqを起動- バックエンドの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/playbacqVSCodeの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