backend

package module
v0.0.0-...-9e7246e Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 20, 2026 License: Apache-2.0 Imports: 0 Imported by: 0

README

APIサーバー

APIサーバーはEchoとgqlgenで認証済みユーザーの動画メタデータを提供し、POST /api/videos/uploadでmultipartのfileとJSON配列文字列のtagsを受け付けます。タグはPostgreSQLへ保存する前にMEDIA_ENCRYPTION_KEYでAES-GCM暗号化します。動画のHLS(fMP4)成果物も同じ鍵から生成したオブジェクト単位DEKで暗号化して保存します。

再生時は/api/videos/:id/hls/manifest.m3u8と各init.mp4segment_*.m4sを認証済みのHTTPリクエストへだけ返します。Rangeを受け取った場合は必要な暗号化チャンクだけをS3から取得し、API内で復号して返すため、端末へ鍵を渡さず複数デバイスで再生できます。レスポンスはAccept-RangesContent-Rangeを付け、シーク時の再取得量を抑えます。

staging objectの一時保存だけはSTAGING_ENCRYPTION_KEYで暗号化し、エンコーダーが入力を取得して削除します。MEDIA_ENCRYPTION_KEYSTAGING_ENCRYPTION_KEYは分離し、どちらも平文や鍵をRabbitMQへ送信しません。DBアクセスはBob v0.50.0を使用し、sqlcは使用しません。

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
cmd
api command
internal

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL