我想创建一个将音频转换为视频的软件。
我为此使用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

10-08 16:08