2013-02-14 2 views
1

Я хочу создать программное обеспечение, которое конвертирует видео в аудио. Для этого я использую ОБРАБОТКУ (JAVA) и JAVE. Моя проблема в "it.sauronsoftware.jave.InputFormatException", этот код работает на Windows, но не в OSX.Разрешение ошибки на MAC OSX на JAVE

Я думаю, что это, вероятно, проблема разрешения.

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); 
    } 
+1

Вы, скорее всего, нужны собственные библиотеки для этой платформы тоже. –

ответ

0

В этом случае вам необходимо ознакомиться с документацией!

it.sauronsoftware.jave.InputFormatException

Исходный файл не может быть декодированию. Это происходит, когда декодер исходного файла, формат видеопотока или формат аудиопотока не поддерживаются декодером. Вы можете проверить для поддерживаемых контейнеров и подключенных декодеров призывающих методы кодировщика

Как цитирует here.

Эта форма результатов ошибки не имеет установленного декодера, в данном случае.

JAVE использует ffmpeg и включает в себя двоичные файлы для Windows и Linux. С OSX вам нужно установить ffmpeg и указать JAVE.

Using an alternative ffmpeg executable

+0

В окнах с одним и тем же видео работает. Если я изменяю pathVideo, с отсутствием пути, у меня такая же ошибка. Поэтому, по моему мнению, это проблема разрешения. – warn974

+0

JAVE поставляется с включенным двоичным файлом ffmpeg для Windows, но не для OSX. Чтобы использовать его в OSX, вам необходимо предоставить двоичный файл ffmpeg для платформы. –

+0

Прочтите ссылку «Использование альтернативной исполняемой программы ffmpeg», которую я предоставил. JAVE нарушает Java-запись, когда-либо выполняемую в любом месте, вызывая системный код, который должен быть предоставлен для каждой платформы отдельно. –

Смежные вопросы