基于 Java Swing + FlatLaf + FFmpeg 的图形化视频转音频工具,支持自定义裁剪时间,导出 MP3。
- 图形化界面,FlatLaf 现代化 UI(圆角、轻量主题)
- 支持主流视频格式(MP4、MOV、AVI、MKV 等)
- 自定义起止时间,只提取片段音频
- 实时进度条 + 运行日志输出
- 异常弹窗提示:无音频流、FFmpeg 报错等
- 可打包为独立 EXE,脱离 Java 环境运行
| 依赖 | 说明 |
|---|---|
| JDK 8+ | 编译运行 Java 程序 |
| FFmpeg | 音视频转码核心,需加入系统 PATH |
| FlatLaf 3.5.2 | UI 美化库,编译时作为 classpath 依赖 |
VideoToAudio/
├─ VideoToAudioConverter.java # 主程序源码
└─ launch4j-3.50-win32.exe # Launch4j 安装程序
curl -L -o flatlaf-3.5.2.jar "https://repo1.maven.org/maven2/com/formdev/flatlaf/3.5.2/flatlaf-3.5.2.jar"javac -encoding UTF-8 -cp "flatlaf-3.5.2.jar" VideoToAudioConverter.java必须加
-encoding UTF-8,否则 Windows 默认 GBK 编码会导致中文注释编译失败。
mkdir build
copy VideoToAudioConverter.class build\
cd buildjar xf ..\flatlaf-3.5.2.jar这会把 FlatLaf 的所有 class 文件解压到当前目录,和你的 class 文件放在一起。
echo Main-Class: VideoToAudioConverter > MANIFEST.MF
echo. >> MANIFEST.MFjar cfm ..\VideoToAudioConverter.jar MANIFEST.MF .
cd ..这会把 build 目录下的所有文件(你的 class + FlatLaf 的 class)打包成一个完整的 jar。
双击运行 launch4j-3.50-win32.exe,按提示完成安装。
进入安装目录(如 C:\Program Files (x86)\Launch4j),运行 launch4jw.exe。
| 字段 | 填写内容 | 说明 |
|---|---|---|
| Output file | 视频提取音频工具.exe |
点击右侧图标选择保存路径 |
| Jar | VideoToAudioConverter.jar |
选择上一步生成的 fat jar |
| Icon | (可选)选 .ico 文件 |
自定义程序图标 |
- Header type:单选选择
GUIGUI:纯窗口程序,不弹出黑色 CMD 控制台(推荐)Console:附带黑框控制台,方便排查报错
Custom header所有复选框全部不勾选
| 字段 | 填写内容 | 说明 |
|---|---|---|
| JRE paths | jre |
相对路径,指向 jlink 生成的 jre 文件夹 |
| Min JRE version | 1.8.0 |
最低 Java 版本 |
| Initial heap size | 64 |
初始堆内存(MB) |
| Max heap size | 256 |
最大堆内存(MB) |
点击左上角 File → Save configuration,保存为 打包配置.xml,下次一键复用。
点击 Build wrapper 按钮(或按 F5),看到 Successfully created 即完成。
jlink --module-path "$env:JAVA_HOME\jmods" --add-modules java.base,java.desktop --output jre生成的
jre文件夹必须和 exe 放在同一目录,否则 exe 双击闪退。
发给他人时,以下文件必须完整:
VideoToAudio/
├─ 视频提取音频工具.exe # 主程序
├─ jre/ # Java 运行环境
└─ ffmpeg.exe # 转码工具
| 问题 | 原因 & 解决 |
|---|---|
| 编译提示 GBK 不可映射字符 | 加 -encoding UTF-8 参数 |
| 提示找不到 FlatLaf 类 | jar 打包时漏了 FlatLaf 的 class 文件 |
| EXE 双击闪退 | 缺少 jre 文件夹,或 JRE paths 配置错误 |
| 能打开界面但点转换无反应 | 同目录缺少 ffmpeg.exe |
| 弹窗提示"无音频轨道" | 源视频本身没有声音,换个有声音的视频测试 |
打包配置.xml仅为配置存档,不是运行必需文件- 本机有 Java 环境时,可不放
jre文件夹直接运行 exe - FFmpeg 遵循 LGPL 开源协议,本项目仅限个人学习使用