视频混剪
Go to file
imeepos 0898b4b9e2 feat: 为MaterialSegmentView添加视频片段缩略图显示功能
缩略图显示功能:
- 使用视频首帧生成缩略图:取片段开始时间作为缩略图时间戳
- 智能缓存机制:避免重复生成相同片段的缩略图
- 异步加载:缩略图生成不阻塞界面渲染
- 优雅降级:生成失败时显示默认视频图标

 ThumbnailDisplay组件:
- 独立的缩略图显示组件,职责单一
- 加载状态指示:显示旋转动画表示正在生成缩略图
- 错误处理:图片加载失败时自动回退到默认图标
- 响应式设计:160x120像素缩略图,适配卡片布局

 技术实现:
- 利用现有generate_video_thumbnail命令生成缩略图
- Map缓存机制:segmentId -> thumbnailUrl映射
- file://协议:本地文件访问支持
- useEffect钩子:组件挂载时自动加载缩略图

 用户体验优化:
- 视觉丰富:片段卡片显示实际视频内容预览
- 快速识别:用户可以通过缩略图快速识别视频内容
- 性能优化:缓存机制避免重复生成
- 加载反馈:清楚的加载状态提示

 功能特点:
- 首帧缩略图:使用片段开始时间的首帧作为预览
- 自动生成:无需手动操作,自动为每个片段生成缩略图
- 内存缓存:同一会话中避免重复生成
- 错误恢复:生成失败时显示默认图标,不影响其他功能

现在MaterialSegmentView提供了更加直观的视觉体验:
1. 每个片段卡片显示实际的视频首帧缩略图
2. 用户可以快速预览视频内容
3. 加载过程有清楚的视觉反馈
4. 生成失败时有优雅的降级处理
2025-07-15 22:01:41 +08:00
.github/workflows Initial commit: MixVideo Desktop v0.1.0 2025-07-13 17:57:52 +08:00
apps/desktop feat: 为MaterialSegmentView添加视频片段缩略图显示功能 2025-07-15 22:01:41 +08:00
docs docs: 添加项目一键AI分类功能开发文档 2025-07-14 18:29:28 +08:00
.gitignore Initial commit: MixVideo Desktop v0.1.0 2025-07-13 17:57:52 +08:00
Cargo.lock feat: 完善模板导入功能 2025-07-14 21:34:07 +08:00
Cargo.toml Initial commit: MixVideo Desktop v0.1.0 2025-07-13 17:57:52 +08:00
HOTFIX_TEST_GUIDE.md hotfix: 修复 Windows 上 FFmpeg/FFprobe 命令行闪现问题 2025-07-13 23:06:22 +08:00
LICENSE add LICENSE. 2025-07-13 09:59:41 +00:00
OPTIMIZATION_PLAN.md feat: 优化模特管理界面UI/UX设计 2025-07-14 10:45:08 +08:00
README.md Initial commit: MixVideo Desktop v0.1.0 2025-07-13 17:57:52 +08:00
RELEASE-v0.1.9.md docs: 添加 v0.1.9 发布说明 2025-07-14 18:41:56 +08:00
RELEASE_NOTES_0.1.6.md chore: 发布 v0.1.6 版本 2025-07-14 10:50:17 +08:00
RELEASE_NOTES_v0.1.2.md hotfix: 修复 Windows 上 FFmpeg/FFprobe 命令行闪现问题 2025-07-13 23:06:22 +08:00
RELEASE_NOTES_v0.1.5.md docs: add release notes for v0.1.5 2025-07-14 00:34:07 +08:00
SELECT_COMPONENT_OPTIMIZATION.md feat: 优化模特管理界面UI/UX设计 2025-07-14 10:45:08 +08:00
UI_SIZE_OPTIMIZATION_SUMMARY.md feat: 优化模特管理界面UI/UX设计 2025-07-14 10:45:08 +08:00
UI_UX_OPTIMIZATION_SUMMARY.md feat: 优化模特管理界面UI/UX设计 2025-07-14 10:45:08 +08:00
package.json feat: 添加项目详情/素材管理的MaterialSegment聚合视图功能 2025-07-15 16:49:08 +08:00
pnpm-lock.yaml feat: 添加项目详情/素材管理的MaterialSegment聚合视图功能 2025-07-15 16:49:08 +08:00
pnpm-workspace.yaml Initial commit: MixVideo Desktop v0.1.0 2025-07-13 17:57:52 +08:00
tsconfig.json Initial commit: MixVideo Desktop v0.1.0 2025-07-13 17:57:52 +08:00

README.md

MixVideo

🎬 MixVideo - 基于 Tauri 构建的跨平台多媒体处理桌面应用

特性

  • 🚀 跨平台: 支持 Windows、macOS、Linux
  • 高性能: 基于 Rust + Tauri 2.0 构建
  • 🎨 现代界面: React + TypeScript + Vite
  • 🔧 可扩展: 支持多语言微服务架构
  • 📦 多包管理: PNPM Workspace + Cargo Workspace

🏗️ 项目结构

mixvideo/
├── apps/
│   └── desktop/           # Tauri 桌面应用
├── packages/
│   ├── services/          # 微服务 (Python, Rust)
│   └── shared/            # 共享代码和协议
├── tools/                 # 开发工具
└── docs/                  # 文档

🚀 快速开始

环境要求

  • Node.js 18+
  • Rust 1.70+
  • PNPM 8+

安装依赖

pnpm install

开发模式

# 启动桌面应用开发模式
pnpm tauri:dev

# 或者直接在 apps/desktop 目录下
cd apps/desktop
pnpm dev

构建应用

# 构建生产版本
pnpm tauri:build

# 或者在 apps/desktop 目录下
cd apps/desktop
pnpm tauri build

📦 发布

手动发布

  1. 构建应用: pnpm tauri:build
  2. 安装包位置: target/release/bundle/
    • Windows: .msi.exe 安装包
    • macOS: .dmg.app
    • Linux: .deb, .rpm.AppImage

自动发布 (GitHub Actions)

  1. 创建新的 Git 标签:

    git tag v0.1.0
    git push origin v0.1.0
    
  2. GitHub Actions 将自动构建并创建 Release

🛠️ 技术栈

桌面应用

  • 前端: React 18 + TypeScript + Vite
  • 后端: Rust + Tauri 2.0
  • 状态管理: 待定
  • UI 组件: 待定

微服务 (计划中)

  • Python 服务: FastAPI + gRPC
  • Rust 服务: Tonic + gRPC
  • 通信协议: Protocol Buffers

📝 开发指南

推荐 IDE

  • VS Code + 扩展:
    • Tauri
    • rust-analyzer
    • ES7+ React/Redux/React-Native snippets

代码规范

  • Rust: 使用 cargo fmtcargo clippy
  • TypeScript: 使用 ESLint + Prettier
  • Python: 使用 Black + isort + flake8

🤝 贡献

欢迎提交 Issue 和 Pull Request

📄 许可证

MIT License - 详见 LICENSE 文件

👨‍💻 作者

imeepos - GitHub