我想创建一个将音频转换为视频的软件。
我为此使用PROCESSING(JAVA)和JAVE。
我的问题是“ it.sauronsoftware.jave.InputFormatException
”,此代码在Windows
上有效,但在OSX
中不起作用。
我认为这可能是许可问题。
String pathVideo="/Users/nouv/Desktop/video1";
String pathAudioTmp="/Users/nouv/Desktop/son";
void setup() {
size(200, 200);
try {
File source = new File(pathVideo);
File target = new File(pathAudioOutput);
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();
encoder.encode(source, target, attrs);
}
catch (Exception e)
{
e.printStackTrace();
println(e);
}
最佳答案
在这种情况下,您需要阅读文档!
it.sauronsoftware.jave.InputFormatException
源文件不能是
解码。它发生在源文件容器,视频流
解码器不支持音频格式或音频流格式。
您可以检查受支持的容器和插入的解码器调用
编码器方法
如here中所引用。
在这种情况下,此错误导致表单未安装任何解码器。
JAVE使用ffmpeg,并包括Windows和Linux的二进制文件。使用OSX,您需要安装ffmpeg,并指向JAVE。
Using an alternative ffmpeg executable