# 摄影作品一键成片 **Repository Path**: HelloDam/picture-demonstration-video ## Basic Information - **Project Name**: 摄影作品一键成片 - **Description**: 帮助摄影爱好者们快速将自己得意照片制作成美观的演示视频 - **Primary Language**: Unknown - **License**: GPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2026-02-27 - **Last Updated**: 2026-03-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 一键成片 一款基于 Electron 的桌面工具,用于帮助摄影爱好者将拍摄得比较满意的照片快速生成带片头、模板样式、背景音乐的视频作品。 生成的成品可以参考如下:https://www.bilibili.com/video/BV1pyAazWEWe/ 软件可以直接下载: https://pan.baidu.com/s/1YhYVyFrk-iKUYF-aC7yQcQ?pwd=2ij6 提取码: 2ij6 如果觉得网盘下载慢,也可以添加作者微信免费获取软件:a1752663772
【使用流程】 1. 新建任务 2. 导入照片 3. 选择照片模板和字体 4. 设置片头样式 5. 配置背景音乐 6. 预览并导出 ## 功能概览 - 多任务管理:可创建多个任务,分别维护照片、参数和音乐配置 - 照片管理: - 批量导入(JPG/JPEG/PNG/WEBP) - 拖拽排序、右键按序号移动、随机打散 - 每张照片可单独编辑标题 - 模板系统: - 简约模式(无边框无信息) - 边框模式(白色边框) - 标题模式(标题+边框) - 完整模式(标题+边框+EXIF) - 尼康水印-标题版 - 尼康水印-经典 - 字体系统: - 标题字体可选(自动读取 `static/fonts`) - 片头标题字体可单独设置 - 片头系统: - 照片列滚动 - 照片快速切换(高级过渡) - 片头标题与标题转场风格 - 自定义片头文字与行间隔 - AI 自动命名(千问): - 可在界面填写 API Key 与 Prompt - 按照片生成多个候选名,逐张选择应用 - 背景音乐: - 内置音乐 + 本地音乐混用 - 预览与编辑(独立编辑窗口) - 项目能力: - 导出/导入项目文件(`.pdv`) - 缓存清理 - 视频预览与最终导出 ## 技术栈 - Electron 28 - Node.js - FFmpeg(`fluent-ffmpeg` + `ffmpeg-static`) - Sharp(图像处理) - ExifReader(EXIF 读取) - electron-store(本地持久化) ## 环境要求 - Node.js 18+(建议 Node.js 20) - npm 9+ - Windows(主打)/ macOS(配置中包含 dmg 目标) ## 快速开始 ```bash npm install npm start ``` ## AI 自动命名(千问)配置 千问apikey获取方式:https://bailian.console.aliyun.com/cn-beijing/?spm=a2c4g.11186623.0.0.6350707fKNOmAm&tab=model#/api-key ## 打包 ```bash npm run build ``` 安装包在`dist/`下面,运行 一键成片 1.0.0.exe 即可 ## 项目结构 ```text . ├─ main.js # 主进程:IPC、渲染流程、FFmpeg 拼接、缓存、打包相关逻辑 ├─ preload.js # 安全桥接 API(renderer <-> main) ├─ renderer.js # 主界面业务逻辑 ├─ index.html # 主界面 ├─ editor.html # 预览/音频编辑界面 ├─ editor.js # 音频编辑逻辑 ├─ static/ │ ├─ fonts/ # 标题字体资源 │ ├─ logo/ # 品牌 Logo 资源 │ └─ songs/ # 内置音乐资源 └─ dist/ # 打包输出目录 ``` ## 常见问题 ### 1. `npm run build` 看起来卡住 打包阶段在压缩 portable 可执行文件时可能长时间无输出,但不一定是卡死。可检查: - `dist/` 下 `.exe` 文件体积是否持续变化 - 进程中是否仍有 `node`/`electron-builder` 在运行