功能增强: 为素材列表的MaterialCard添加了更多详细的统计信息, 让用户能够更全面地了解每个素材的详细情况。 新增信息展示: 1. 基本信息: - 文件大小(格式化显示,如 MB/GB) - 创建时间(本地化日期格式) 2. 视频元数据(蓝色主题): - 视频时长(mm:ss格式) - 分辨率(宽高) - 比特率(自动单位转换) - 帧率(fps) - 编解码器 - 音频信息(如果有) 3. 音频元数据(绿色主题): - 音频时长 - 比特率 - 采样率 - 音频编解码器 4. 图片元数据(紫色主题): - 图片分辨率 - 图片格式 - DPI信息(如果有) 5. 处理统计信息(灰色主题): - 场景检测结果(场景数量) - 切分片段数量 - 处理状态 技术实现: 1. 辅助函数: - formatTime: 时间格式化(秒转mm:ss) - formatFileSize: 文件大小格式化 - formatBitrate: 比特率格式化 - formatResolution: 分辨率格式化 - formatDate: 日期本地化格式化 2. 响应式布局: - 使用Grid布局优化信息展示 - 不同类型元数据使用不同颜色主题 - 图标+文字的直观展示方式 3. 条件渲染: - 根据素材类型显示对应的元数据 - 智能检测元数据存在性 - 优雅处理缺失信息 用户体验提升: 一目了然的素材详细信息 颜色编码的信息分类 直观的图标标识 格式化的数据展示 响应式的布局设计 现在用户可以在素材列表中快速了解每个文件的详细技术参数和处理状态! |
||
|---|---|---|
| .github/workflows | ||
| apps/desktop | ||
| .gitignore | ||
| 0.1.1.md | ||
| Cargo.lock | ||
| Cargo.toml | ||
| LICENSE | ||
| README.md | ||
| package.json | ||
| pnpm-lock.yaml | ||
| pnpm-workspace.yaml | ||
| tsconfig.json | ||
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
📦 发布
手动发布
- 构建应用:
pnpm tauri:build - 安装包位置:
target/release/bundle/- Windows:
.msi和.exe安装包 - macOS:
.dmg和.app包 - Linux:
.deb,.rpm和.AppImage
- Windows:
自动发布 (GitHub Actions)
-
创建新的 Git 标签:
git tag v0.1.0 git push origin v0.1.0 -
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 fmt和cargo clippy - TypeScript: 使用 ESLint + Prettier
- Python: 使用 Black + isort + flake8
🤝 贡献
欢迎提交 Issue 和 Pull Request!
📄 许可证
MIT License - 详见 LICENSE 文件
👨💻 作者
imeepos - GitHub