我正在尝试将视频转换为音频。这就是为什么,我使用以下代码:
File source = new File("E:\\Shunno - Khachar Bhitor Ochin Pakhi.mp4");
File target = new File("E:\\output.mp3");
AudioAttributes audio = new AudioAttributes();
audio.setCodec("libmp3lame");
audio.setBitRate(new Integer(128000));
audio.setChannels(new Integer(2));
audio.setSamplingRate(new Integer(44100));
EncodingAttributes attrs = new EncodingAttributes();
attrs.setFormat("mp3");
attrs.setAudioAttributes(audio);
Encoder encoder = new Encoder();
try
{
encoder.encode(source, target, attrs);
}
catch (IllegalArgumentException | EncoderException e)
{
}
但是我收到以下错误:
Sep 26, 2016 11:28:29 AM it.sauronsoftware.jave.DefaultFFMPEGLocator copyFile
SEVERE: Could not get native library for ffmpeg-amd64.exe
Exception in thread "main" java.lang.RuntimeException: Cannot retrieve native file ffmpeg-amd64.exe
at it.sauronsoftware.jave.DefaultFFMPEGLocator.copyFile(DefaultFFMPEGLocator.java:139)
at it.sauronsoftware.jave.DefaultFFMPEGLocator.<init>(DefaultFFMPEGLocator.java:80)
at it.sauronsoftware.jave.Encoder.<init>(Encoder.java:105)
at Convert.main(Convert.java:29)
如何解决此错误?请帮我 。
答案 0 :(得分:2)
错误很明显:找不到ffmpeg。
因为您对ffmpeg的一些Windows路径here is the windows binary进行了硬编码。我建议下载x64静态版本。因为这只是一个你需要关心的文件。
如果您需要其他平台,请查看download site。
在二进制文件ffmpeg.exe
所在的子目录ffmpeg-amd64.exe
中的zip文件中。现在您需要将其重命名为C:\windows\system32
,因为库需要该名称。现在您需要将文件复制到路径变量的目录中,例如head
。我建议不要使用该目录,但这是最简单的方法。最好把它放在其他地方并修改你的路径变量。如果你想要如何实现这一点,那么只有google它们有几十个解释。