SkyDreamBox:把常用 FFmpeg 工作流放进一个桌面工作台

-|3 分钟|开源软件

处理一段视频,往往不只是转个格式:可能还要剪掉几段、挑选音轨、配上字幕,最后再把一批文件统一输出。FFmpeg 能做这些事,但命令和参数需要自己组织;文件一多,检查轨道和管理输出也容易变得琐碎。

SkyDreamBox(天梦工具箱)是我做的一款本地音视频工作台。它用 Python 和 PySide6 构建桌面界面,由 FFmpeg 和 FFprobe 负责媒体处理与信息探测。我想把常见操作放进一套连贯的流程里:添加文件、检查媒体信息、设置参数、加入队列,然后批量执行。

常用操作集中在一起

视频压制支持 H.264、H.265 和 AV1 软件编码,也会检测 NVIDIA、Intel、AMD 的硬件编码器。分辨率、帧率、码率、质量、速度、像素格式和色彩参数都可以自行设置,也能保存和加载个人方案。编码器由用户选择,程序不会在编码器不可用时悄悄换成另一个。

粗剪页面可以预览和定位片段,添加多个区间并调整顺序。无损剪切速度快,但切点受关键帧限制;需要准确切点时,可以选择重新编码。

字幕处理支持 SRT、ASS 和 SSA,可以保留为可开关字幕轨,也可以烧录到画面。音频转换、按轨道抽取、外部音频组合,以及 MP4、MKV、FLV 之间的无损封装,也都能在工作台里完成。需要更细控制时,还可以使用专业 FFmpeg 命令页面。

批量任务也能逐项检查

使用时,先添加文件,再查看媒体信息并选择轨道;设置好参数后,把任务加入队列统一执行。每个任务会保存入队时的参数,批量处理时,音频和视频轨道也按文件分别选择,避免把一个文件的轨道编号误用到其他文件。

任务按顺序运行。某个任务失败时,队列会显示原因并继续处理后续任务;关闭程序后,队列也会保留,下次启动时暂停等待继续操作。

输出保护也是这个工作流的一部分:新安装默认不会覆盖已有文件。主要功能会先在输出目录的临时位置完成处理,成功后再生成最终文件;失败或取消时会清理本次产生的临时内容。

使用前需要知道

SkyDreamBox 需要 Python 3.10 或更新版本、PySide6 6.6 或更新版本,以及 FFmpeg 和 FFprobe。可以把这两个程序加入 PATH,也可以在 SkyDreamBox 的设置里指定路径。

纯文本
pip install -r requirements.txt
python main.py

有几项媒体处理行为值得留意:无损剪切可能受关键帧位置影响,精确剪切需要重新编码;MP4 对 ASS 字幕样式的保留有限;SkyDreamBox 也不会自动把 HDR 视频转换成 SDR。

如果你经常需要处理个人视频、课程素材或其他音视频文件,希望在图形界面里管理参数和批量任务,同时保留 FFmpeg 的控制能力,可以试试 SkyDreamBox。项目遵循 GNU GPL v3。

项目地址:https://github.com/SkyDream01/SkyDreamBox