You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
synctv/README.zh-CN.md

3.7 KiB

SyncTV

SyncTV

English · 官方网站

Rust Tokio Axum gRPC PostgreSQL Redis Docker Helm Kubernetes OpenAPI Astro Starlight License

SyncTV 是使用 Rust 实现的实时同步观影平台,支持媒体 Provider 集成、直播、HTTP/gRPC API以及面向 Kubernetes 的横向扩展部署。

SyncTV 房间同步播放

核心能力

  • 房间内同步播放,实时同步播放状态。
  • 媒体 Provider 支持 Bilibili、Twitch、YouTube、抖音、TikTok、虎牙、斗鱼、AcFun、CCTV、Alist、Cloudreve、Emby/Jellyfin、FNOS、QNAP、Synology、Nextcloud、Seafile、TrueNAS、直链和直播来源。
  • 支持 RTMP 推/拉流、HLS 和 HTTP-FLV 直播。
  • 提供 HTTP REST、公开 gRPC、WebSocket、management gRPC、metrics、RTMP 和 STUN 等运行时入口。
  • PostgreSQL 持久化业务数据,可选 Redis 作为共享状态、缓存、限流和集群协调层。
  • 提供 Docker Compose 和 Helm 部署模板。
  • 内置 management CLI可选 OpenAPI/Swagger UI。
  • 使用 Astro Starlight 构建中英文文档站。

讨论与贡献者

加入 SyncTV Telegram 讨论组,与用户和贡献者交流部署、运维、媒体 Provider、客户端开发和产品路线。

SyncTV 贡献者

快速开始

开发环境需要完整源码仓库:

# 启动 PostgreSQL 和 Redis然后用开发配置在本机运行 SyncTV。
make dev-serve

# 使用同一套开发配置在后台启动 SyncTV。
make dev-start
make dev-stop

# 同时启动媒体、认证和对象存储等可选依赖。
make dev-stack

# 通过 Makefile dev 启动路径执行真实 CLI/curl provider smoke 测试。
make dev-smoke

生产 Compose 使用自动生成的 PostgreSQL、Redis 和应用 secret

# 需要 Docker Compose 和 openssl。
make compose-init

# 启动前编辑 .env.synctv 中的 SYNCTV_BOOTSTRAP_ROOT_PASSWORD。
make compose-up

校验配置:

cargo +nightly run -p synctv --bin synctv -- config validate

可选 migration 预检。服务启动阶段也会自动执行 embedded SQLx migrations

cargo +nightly run -p synctv --bin synctv -- db migrate

本地启动:

cargo +nightly run -p synctv --bin synctv -- serve

文档

完整文档见 docs.syncs.tv

SyncTV App Releases 下载原生客户端,或通过支持的应用商店安装。

License

MIT。见 LICENSE