最近负责音频文件处理相关的业务,涉及到 ffmpeg 对一些音频文件格式的校验,记录一下安装过程及踩坑过程。
ffprobe.exe uwiyhluhhjpjjhnohlunhwhmypphihhh.wav
比特率:表示文件的比特率,即每秒传输的比特数。
Duration: 00:00:04.17, start: 0.000000, bitrate: 31 kb/s
Stream #0:0: Audio: mp3, 16000 Hz, mono, fltp, 31 kb/s
ffmpeg.exe -i uwiyhluhhjpjjhnohlunhwhmypphihhh.mp3 -acodec pcm_s16le -ar 44100 1.wav
public static void main(String[] args) {
String inputFilePath = "C:\\Users\\user\\Downloads\\uwiyhluhhjpjjhnohlunhwhmypphihhh.wav";
String outputFilePath = "C:\\Users\\user\\Downloads\\2.wav";
// 构建 FFmpeg 命令
String ffmpegCommand = "C:\\ffmpeg-6.1.1-essentials_build\\bin\\ffmpeg.exe -i " + inputFilePath + " -acodec pcm_s16le -ar 44100 " + outputFilePath;
try {
// 执行 FFmpeg 命令
ProcessBuilder processBuilder = new ProcessBuilder(ffmpegCommand.split(" "));
Process process = processBuilder.start();
// 获取输出信息(可选)
// InputStream inputStream = process.getInputStream();
// BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
// String line;
// while ((line = reader.readLine()) != null) {
// System.out.println(line);
// }
// 等待 FFmpeg 执行完毕
int exitCode = process.waitFor();
if (exitCode == 0) {
System.out.println("转码成功!");
} else {
System.out.println("转码失败。");
}
} catch (IOException | InterruptedException e) {
e.printStackTrace();
}
}