一键将竖屏视频批量转换为符合抖音千川/快手等广告平台要求的竖屏格式
当前版本:v1.5.0
| 参数 | 要求 |
|---|---|
| 宽高比 | 9:16(竖版) |
| 分辨率 | 720×1280 ~ 1440×2560 |
| 视频码率 | ≥ 516 kbps |
| 文件大小 | ≤ 1000 MB |
- 📁 批量处理 - 支持批量转换多个视频文件
- 🔍 智能检测 - 自动检测视频是否符合平台规范
- ⚡ 极速处理 - 符合规范的视频直接复制,无需转码
- ✂️ 智能裁剪 - 不符合规范时自动裁剪并转码,保持最佳画质
- 🔇 无音频识别 - 自动识别无音频视频并添加标识
- 📂 目录保持 - 支持子文件夹递归处理,保持原目录结构
- 🎁 开箱即用 - 无需安装 FFmpeg,下载即可使用
- 🧭 清晰日志 - 转换时输出当前文件、原因和耗时,方便定位异常素材
前往 Releases 下载对应系统的最新版本:
- Windows:
qianchuan_processor_vX.X.X.exe - macOS Apple Silicon(M 芯片):
qianchuan_processor_vX.X.X_macos_arm64.tar.gz
- Windows:双击运行
qianchuan_processor_vX.X.X.exe - macOS:解压
.tar.gz后运行其中的可执行文件
程序启动后会弹出文件夹选择对话框。
- 选择输入文件夹 - 选择包含待转换视频的文件夹
- 选择输出文件夹 - 选择处理后视频的保存位置
程序会自动处理所有视频,并在完成后显示处理结果
程序支持处理子文件夹中的视频,会保持原目录结构输出:
输入文件夹 (input)
├── 视频1.mp4 → 输出: output/视频1.mp4
├── 子文件夹A/
│ ├── 视频2.mp4 → 输出: output/子文件夹A/视频2.mp4
│ └── 子子文件夹/
│ └── 视频3.mp4 → 输出: output/子文件夹A/子子文件夹/视频3.mp4
└── 空文件夹/ ← 无视频,不创建输出目录
- 无音频的视频会在文件名后添加
_【无音频】标识 - 符合规范的视频会直接复制,处理速度极快
- 不符合规范的视频会自动裁剪为 1080×1920 并转码
- 大于 1000 MB 的视频会进入转码流程,尽量压缩到平台友好的体积
- 输出文件夹不能与输入文件夹相同,避免覆盖原始素材
- 如果视频数量较多,处理时间可能会较长,请耐心等待
本项目使用 Python 和 PyInstaller 构建。开发环境建议使用 uv:
uv sync本地 Windows 构建示例:
uv run pyinstaller --onefile --name qianchuan_processor_v1.5.0 --icon assets/app.ico --add-data "ffmpeg;ffmpeg" --hidden-import=ffmpeg --hidden-import=tkinter --optimize 2 --exclude-module=pip --exclude-module=setuptools --exclude-module=distutils main.py图标源文件在 assets/app-icon.svg,平台图标为 assets/app.ico 和 assets/app.icns。如需重新生成图标:
uv run python tools/create_icons.py- 🎨 新增应用图标,Windows 和 macOS 构建产物会带有清晰的品牌标识
- 📏 补齐 1000 MB 文件大小检查,README 与实际处理逻辑保持一致
- 🔊 转码时显式复制音频轨道,避免无意重编码
- 🧾 优化命令行启动文案和转换原因提示
- 🧹 优化
.gitignore和项目元数据,减少本地构建产物误提交
- 🛡️ 新增 ffprobe/ffmpeg 超时保护,避免单个异常视频卡住整批处理
- ⏳ 转码中每 30 秒输出处理状态,方便定位当前卡在哪个文件
- 📂 子文件夹处理改为完整递归,保持原目录结构
- 🍎 GitHub Actions 新增 macOS Apple Silicon(M 芯片)构建产物
- 🐛 修复 Windows 控制台编码导致的崩溃问题
- 🐛 修复无音频文件名标识重复问题
- ✨ 新增支持两层子文件夹递归处理
- 📂 保持原目录结构输出
- 🚫 空文件夹不创建
- 🐛 修复视频信息解析失败问题,提高JSON解析健壮性
- ✨ 新增无音频视频自动识别功能
- 🔍 无音频视频自动添加标识
如遇到问题,请发送邮件至:lucas6.zju@vip.163.com