2017-10-13 50 views
0

J'utilise JAVE (Java Audio Video Encoder) bibliothèque et l'application développée est sur Windows. Sous Windows, la conversion d'un fichier .mp3 fonctionne correctement, mais lorsque je l'ai déployé sous Linux (CentOS 7), une exception est générée.Exception de bibliothèque JAVE (Java Audio Video Encoder) seulement sur Linux (CentOS 7)

Si je comprends bien JAVE a également un wrapper autour d'un exécutable ffmpeg.

Voici mon code:

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 

Mise à jour

Voici la page officielle: http://www.sauronsoftware.it/projects/jave/

journal d'exception complète: https://jpst.it/1678l

Est-ce que quelqu'un a une idée?

+0

Quelle exception obtenez-vous? Logcat ne montre que les émissions causées par – Lokesh

+0

Est-il possible que votre système ne définisse pas ce codec? –

+0

@ M.Prokhorov Je ne sais pas. ** JAVE ** est un wrapper sur 'ffmpeg'; mais devrais-je définir sur le serveur Linux qui a utilisé le codec ('libmp3lame')? –

Répondre

0

J'ai changé la valeur bitRate de l'objet audioAttributes88000-96000 basé sur taux d'échantillonnage documentés sur la page suivante: https://micropyramid.com/blog/understanding-audio-quality-bit-rate-sample-rate/

Utilisation de la valeur: 96000 que le débit binaire résolu mon problème sur linux environnement. Très intéressant que sur les fenêtres a bien fonctionné avec la valeur de 88000.

fait quelques tests et voici le résultat:

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

Merci pour votre soutien!