Skip to content

tiancj0109/VideoToAudio

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 

Repository files navigation

视频提取音频工具 Pro

基于 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 编码会导致中文注释编译失败。

三、打包 Fat Jar(关键步骤)

1. 创建 build 目录并准备文件

mkdir build
copy VideoToAudioConverter.class build\
cd build

2. 解压 FlatLaf 到 build 目录

jar xf ..\flatlaf-3.5.2.jar

这会把 FlatLaf 的所有 class 文件解压到当前目录,和你的 class 文件放在一起。

3. 创建 MANIFEST.MF

echo Main-Class: VideoToAudioConverter > MANIFEST.MF
echo. >> MANIFEST.MF

4. 打包为 fat jar

jar cfm ..\VideoToAudioConverter.jar MANIFEST.MF .
cd ..

这会把 build 目录下的所有文件(你的 class + FlatLaf 的 class)打包成一个完整的 jar。

四、Launch4j 打包为 EXE

安装 Launch4j

双击运行 launch4j-3.50-win32.exe,按提示完成安装。

打开 Launch4j GUI

进入安装目录(如 C:\Program Files (x86)\Launch4j),运行 launch4jw.exe

面板1:Basic(基本设置)

字段 填写内容 说明
Output file 视频提取音频工具.exe 点击右侧图标选择保存路径
Jar VideoToAudioConverter.jar 选择上一步生成的 fat jar
Icon (可选)选 .ico 文件 自定义程序图标

面板2:Header(运行类型 - 必配置)

  • Header type:单选选择 GUI
    • GUI:纯窗口程序,不弹出黑色 CMD 控制台(推荐)
    • Console:附带黑框控制台,方便排查报错
  • Custom header 所有复选框全部不勾选

面板3:JRE(运行环境 - 脱离本机 Java 必备)

字段 填写内容 说明
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,下次一键复用。

生成 EXE

点击 Build wrapper 按钮(或按 F5),看到 Successfully created 即完成。

五、生成精简 JRE(可选)

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 开源协议,本项目仅限个人学习使用

About

视频转音频小工具

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages