gpt4 book ai didi

java - JAVE (Java Audio Video Encoder) 库异常仅在 Linux (CentOS 7)

转载 作者:太空宇宙 更新时间:2023-11-04 12:18:29 27 4
gpt4 key购买 nike

我正在使用 JAVE (Java Audio Video Encoder) 库,开发的应用程序是在 Windows 上。在 Windows 上,.mp3 文件的转换工作正常,但当我在 linux (CentOS 7) 上部署时,抛出异常

据我所知,JAVE 还对 ffmpeg 可执行文件进行了包装。

这是我的代码:

try {
File source = new File(sourceFile);
File target = new File(targetFile);

final AudioAttributes audio = new AudioAttributes();
audio.setCodec("libmp3lame");
audio.setBitRate(88000);
audio.setChannels(2);
audio.setSamplingRate(44100);

EncodingAttributes attrs = new EncodingAttributes();
attrs.setFormat("mp3");
attrs.setAudioAttributes(audio);

Encoder encoder = new Encoder();
encoder.encode(source, target, attrs);
} catch (EncoderException ex) {
throw ex;
}

异常(exception):

...

Caused by: it.sauronsoftware.jave.EncoderException: Error while opening codec for output stream #0.0 - maybe incorrect parameters such as bit_rate, rate, width or height
at it.sauronsoftware.jave.Encoder.encode(Encoder.java:926)
at it.sauronsoftware.jave.Encoder.encode(Encoder.java:713)
at com.hft2.ejb.util.Mp3JaveEncoder.encode(Mp3JaveEncoder.java:36)
... 206 more

更新

这是官方页面:http://www.sauronsoftware.it/projects/jave/

完整异常日志:https://jpst.it/1678l

有人知道吗?

最佳答案

我已将 audioAttributes 对象的 bitRate 值从 88000 更改为 96000 >采样率记录在下一页:https://micropyramid.com/blog/understanding-audio-quality-bit-rate-sample-rate/

使用值:96000 作为比特率解决了我在 linux 环境中的问题。非常有趣的是,在 Windows 上可以很好地处理 88000 的值。

做了一些测试,结果如下:

Linux supported bitRate values: 128000, 96000, 64000, 56000, 32000;
Linux not supported bitRate values: 88000, 24000, 16000;

感谢支持!

关于java - JAVE (Java Audio Video Encoder) 库异常仅在 Linux (CentOS 7),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46728238/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com