diff --git a/docs/superpowers/specs/2026-06-29-special-folder-video-media-design.md b/docs/superpowers/specs/2026-06-29-special-folder-video-media-design.md new file mode 100644 index 0000000..c0dc35c --- /dev/null +++ b/docs/superpowers/specs/2026-06-29-special-folder-video-media-design.md @@ -0,0 +1,235 @@ +# 设计:特殊文件夹视频媒体(上传后服务器压缩) + +> 在特殊文件夹共享照片墙(`#<文件夹名>`)里支持视频作为墙上媒体元素。 +> 视频上传后先显示处理中占位卡,服务器用 `ffmpeg` 压缩为低带宽 MP4,完成后在墙上播放。 +> 本设计只开放给特殊文件夹;个人 `#photo` 暂不开放视频入口。 + +前置阅读: +- [photo-wall.md](../../photo-wall.md) +- [2026-06-24-special-folders-design.md](2026-06-24-special-folders-design.md) +- [2026-06-24-photo-wall-server-storage-design.md](2026-06-24-photo-wall-server-storage-design.md) + +## 1. 目标与范围 + +目标: +- 特殊文件夹支持图片和视频混合展示。 +- 视频像照片一样可以上传、拖拽、缩放、置顶/置底、删除。 +- 视频上传后不阻塞页面等待转码;墙上立即出现“AI 正在压缩视频...”风格的处理中卡片。 +- 服务器将常见视频格式统一压缩为适合 3M 带宽播放的 MP4。 +- 不提供视频下载入口,不添加下载按钮。 + +非目标: +- 个人 `#photo` 视频上传。 +- 多清晰度转码、自适应码率、HLS/DASH。 +- 视频封面生成、时间轴截图、在线播放统计。 +- 大视频断点续传。 + +## 2. 总体架构 + +前端把 `PhotoWallPage` 从“照片元素”扩展为“媒体元素”,新增 `video` 类型。特殊文件夹使用新的媒体 API 加载图片和视频;图片仍按现有视觉展示,视频按状态渲染为处理中卡片、失败卡片或 `