{"repo":"bitoceango/civideo","free":true,"listed":false,"github":"https://github.com/bitoceango/civideo","clone":"git clone https://github.com/bitoceango/civideo.git","description":"家长可控的自建儿童视频流媒体播放器：无广告、无推荐流、封闭内容花园 · Self-hosted, ad-free kids video streaming player with parental controls — Cloudflare Workers + R2 and native SwiftUI (iOS / iPadOS / macOS)","language":"JavaScript","stars":60,"topics":["ad-free","avplayer","children","cloudflare","cloudflare-r2","cloudflare-workers","education","family","ios","ipados"],"license":"MIT","category":"mobile-apps","readme_excerpt":"child-video — 自建儿童视频流媒体 + 听书 一套 家庭自用 的私有儿童视频流媒体：家长把视频上传到 Cloudflare R2，孩子在原生 App（ iPhone / iPad / Mac / Windows / Android ）里 看视频 + 听书 。家长可在桌面端（Windows/macOS）开发者模式里 自助上传本地视频或从网址（YouTube/Bilibili）下载入库 。 English — child-video is a self-hosted, ad-free kids' video + audiobook streaming player with parental controls. Parents upload to their own Cloudflare R2 ; kids watch in a closed player — no recommendations, ads, comments, or external links. Native apps for iOS / iPadOS / macOS (SwiftUI) and Windows / Android (Tauri); serverless backend on Cloudflare Workers + R2 + D1 . Runs at roughly $0 on the free tier. 为什么自己建 ：商业视频平台充斥推荐流、广告和不适合孩子的内容，孩子很容易被无关视频吸引、无法专注。这个项目是一个 封闭内容花园 ——孩子端没有外部搜索、没有外部入口、没有推荐算法、没有弹幕/社交， 只能看到家长放进去的内容 。 月成本只有 R2 存储费（起步在免费额度内 = $0，约 500GB ≈ $7/月），出口流量永久免费， 无任何年费 （孩子端用 SideStore 免费侧载，不交 Apple Developer $99/年）。 架构一览 两套前端代码 ：Apple 端 SwiftUI（ app/ ）；Windows + Android 共用一套 Web UI（ windows/src ，Tauri v2 分别出安装包/APK）。功能\"三端同时实现\"为硬性规则（见 CLAUDE.md ）。 - 存储 ：R2 按字节计费 + 出口免费（明确否决按时长计费的 Cloudflare Stream）。 - 不转码 ：互联网视频多为 H.264/AAC， cpv 用 ffprobe 探测，只在必要时重封装/转码。 - 播放 ：MP4 渐进式 + HTTP Range，系统 AVPlayer 原生支持，零第三方播放内核。 - 边缘缓存 ：Worker 用免费 Cache API（按 R2 etag 作键，覆盖视频自动失效），降起播延迟。 - 封闭花园 ：孩子端无外部内容入口；家长 PIN + 每日时长上限 + 允许时段 + 护眼提醒。 完整设计见 docs/architecture.md 。 下载 App 预编译安装包见 Releases （你需先自部署后端，首次启动填自己的 Worker 地址 + 激活密钥）： 平台 产物 安装 --- --- --- Windows childvideo-windows-x64-setup.exe 双击装。未签名 → SmartScreen 点「更多信息 → 仍要运行」 macOS 儿童视频 aarch64.dmg 拖入 Applications。未签名/未公证 → 右键「打开」或 xattr -dr com.","default_branch":null,"files":null,"tree":[],"storefront":"/r/bitoceango","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/bitoceango/civideo/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}