Files
akmon/MULTIMEDIA_SYSTEM_EXTENSION.md
2026-01-20 08:04:15 +08:00

223 lines
5.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 多媒体内容管理系统扩展说明
## 新增功能概述
在原有视频系统基础上,现已扩展支持音频和图片内容,形成完整的多媒体内容管理系统。
## 内容类型支持
### 1. 视频 (video)
- ✅ 视频播放和控制
- ✅ 弹幕系统
- ✅ 播放记录追踪
- ✅ 多画质支持
### 2. 音频 (audio) 🆕
- ✅ 音频播放和控制
- ✅ 弹幕系统(支持音频弹幕)
- ✅ 播放记录追踪
- ✅ 音质和编码信息
- ✅ 音频封面图
### 3. 图片 (image) 🆕
- ✅ 图片展示和缩放
- ✅ 智能标签系统
- ✅ 浏览记录追踪
- ✅ 多格式支持
- ✅ 无障碍访问支持
### 4. 文章 (article)
- ✅ 原有文章功能保持不变
## 新增数据库表结构
### 图片标签表 (ak_image_tags)
```sql
-- 用于图片分类和搜索
CREATE TABLE ak_image_tags (
content_id UUID, -- 关联图片内容
tag_name VARCHAR(50), -- 标签名称
tag_type VARCHAR(20), -- 标签来源user/auto/ai
confidence DECIMAL(3,2), -- AI标签置信度
created_at TIMESTAMPTZ
);
```
### 图片浏览记录表 (ak_image_view_records)
```sql
-- 图片浏览行为记录
CREATE TABLE ak_image_view_records (
content_id UUID, -- 关联图片内容
user_id UUID, -- 用户ID
view_duration INTEGER, -- 浏览时长
zoom_level DECIMAL(4,2), -- 缩放级别
device_type VARCHAR(20), -- 设备类型
created_at TIMESTAMPTZ
);
```
## 扩展字段说明
### ak_contents 表新增字段
#### 音频相关
- `audio_url` - 音频文件URL
- `audio_duration` - 音频时长(秒)
- `audio_size` - 文件大小(字节)
- `audio_format` - 音频格式mp3, wav, flac等
- `audio_bitrate` - 比特率kbps
- `audio_sample_rate` - 采样率Hz
- `audio_cover` - 音频封面图
#### 图片相关
- `image_url` - 图片文件URL
- `image_width` - 图片宽度
- `image_height` - 图片高度
- `image_size` - 文件大小(字节)
- `image_format` - 图片格式jpg, png, webp等
- `image_quality` - 图片质量original, compressed, thumbnail
- `image_alt_text` - Alt文本无障碍访问
#### 通用字段
- `media_metadata` - JSONB格式的额外元数据
## 查询视图更新
### 1. 通用多媒体视图
```sql
-- 查询所有类型内容
SELECT * FROM vw_media_content_detail;
-- 查询特定类型内容
SELECT * FROM vw_video_content_detail; -- 视频
SELECT * FROM vw_audio_content_detail; -- 音频
SELECT * FROM vw_image_content_detail; -- 图片(包含标签)
```
### 2. 新增专用视图
```sql
-- 热门图片标签
SELECT * FROM vw_popular_image_tags;
-- 用户多媒体消费统计
SELECT * FROM vw_user_media_stats;
```
## 使用示例
### 音频内容插入
```sql
INSERT INTO ak_contents (
title, content_type, audio_url, audio_duration,
audio_format, audio_bitrate, audio_cover
) VALUES (
'示例音频', 'audio', 'https://example.com/audio.mp3',
180, 'mp3', 320, 'https://example.com/cover.jpg'
);
```
### 图片内容插入
```sql
INSERT INTO ak_contents (
title, content_type, image_url, image_width,
image_height, image_format, image_alt_text
) VALUES (
'示例图片', 'image', 'https://example.com/image.jpg',
1920, 1080, 'jpg', '美丽的风景照片'
);
```
### 添加图片标签
```sql
INSERT INTO ak_image_tags (content_id, tag_name, tag_type)
VALUES
('image-uuid', '风景', 'user'),
('image-uuid', '自然', 'ai');
```
## 前端集成建议
### 1. 音频播放器页面
```typescript
// 参考video-player.uvue创建audio-player.uvue
// 支持音频弹幕、播放控制、音质选择等功能
```
### 2. 图片查看器页面
```typescript
// 创建image-viewer.uvue
// 支持缩放、标签展示、浏览记录等功能
```
### 3. 统一媒体播放器
```typescript
// 创建media-player.uvue
// 根据content_type自动选择合适的播放器组件
```
## 多语言支持
需要在现有i18n文件中添加
```typescript
// 音频相关
"audio": {
"play": "播放",
"pause": "暂停",
"quality": "音质",
"bitrate": "比特率"
}
// 图片相关
"image": {
"zoom": "缩放",
"tags": "标签",
"addTag": "添加标签",
"download": "下载"
}
```
## 性能优化建议
### 1. 图片懒加载
- 实现图片懒加载和预加载
- 根据设备和网络条件选择合适的图片质量
### 2. 音频预加载
- 实现音频预加载机制
- 支持音频格式自适应
### 3. 缓存策略
- 多媒体文件CDN缓存
- 标签和元数据本地缓存
## 扩展功能建议
### 1. AI功能
- 图片自动标签识别
- 音频内容转录和搜索
- 智能推荐系统
### 2. 社交功能
- 图片/音频评论
- 多媒体内容分享
- 用户创建的播放列表
### 3. 管理功能
- 批量上传和处理
- 内容审核系统
- 存储空间管理
## 总结
通过这次扩展,系统现在支持:
- ✅ 4种内容类型文章、视频、音频、图片
- ✅ 统一的用户交互系统(点赞、收藏、分享)
- ✅ 完整的评论系统
- ✅ 弹幕系统(视频+音频)
- ✅ 智能标签系统(图片)
- ✅ 详细的用户行为追踪
- ✅ 灵活的权限控制
这为构建一个全功能的多媒体内容平台奠定了坚实的基础。