J'entrepose ici mes découvertes linux, bash, python et java que je souhaite partager et mettre de côté...
jeudi 26 juillet 2018
vendredi 20 avril 2018
commande, history
Parfois, on ne sait plus si on a relancé une commande dans le terminal...
Pour avoir un historique daté, voici une petite configuration à ajouter à son .bashrc
Désormais, l'appel à l'historique produit des lignes avec les informations jour/mois heure/minute
Pour avoir un historique daté, voici une petite configuration à ajouter à son .bashrc
Désormais, l'appel à l'historique produit des lignes avec les informations jour/mois heure/minute
vendredi 24 novembre 2017
Java, convertir un fichier alaw en pcm
Dans un billet précédent, je parlais d'un petit player en html5 qui devait jouer des wav. Je convertissais les wav en mp3 pour la compatibilité des navigateurs.
Lors de l'intégration de celui-ci dans l'IHM d'administration du serveur vocal, j'ai eu quelques soucis de conversion...
La conversion en mp3 ne fonctionnait pas car les fichiers en entrée n'étaient pas des vrais "wav"... C'étaient des fichiers A-law !
Pour que la conversion en mp3 avec jump3r fonctionne, le format d'entrée doit être dans mon cas
Avec sox, la conversion est simple :
Mais c'est en java que cette conversion doit être faite car embarquée dans tomcat !
Le code suivant permet de convertir en java un fichier ITU G.711 A-law en Microsoft PCM
Référence: https://stackoverflow.com/a/12862290/3550759
Lors de l'intégration de celui-ci dans l'IHM d'administration du serveur vocal, j'ai eu quelques soucis de conversion...
La conversion en mp3 ne fonctionnait pas car les fichiers en entrée n'étaient pas des vrais "wav"... C'étaient des fichiers A-law !
ACCUEIL_CHOIX_TARIFS.wav: RIFF (little-endian) data, WAVE audio, ITU G.711 A-law, mono 8000 Hz
Pour que la conversion en mp3 avec jump3r fonctionne, le format d'entrée doit être dans mon cas
RIFF (little-endian) data, WAVE audio, Microsoft PCM, 16 bit, mono 8000 Hz
Avec sox, la conversion est simple :
Mais c'est en java que cette conversion doit être faite car embarquée dans tomcat !
Le code suivant permet de convertir en java un fichier ITU G.711 A-law en Microsoft PCM
Référence: https://stackoverflow.com/a/12862290/3550759
mercredi 27 septembre 2017
Java, convertir des wav en mp3
Je maintiens une IHM d'administration dans laquelle un petit player flash permet d'écouter des fichiers wav.
Le passage au player html5 a été laborieux.
Le player devait s'afficher dans une popup (on utilisait auparavant qtip mais le passage à html5 faisait planter le rendu aléatoirement) et un problème d'affichage du temps total du morceau était présent de temps à autre (cf solution dans billet précédent).
Une fois la popup affichée et le problème de temps résolu, je me suis heurté à un autre problème de taille...
En effet, IE11 (un des navigateurs à supporter) ne lit pas les fichiers wav !!!
J'ai donc cherché à convertir les fichiers wav en mp3.
La plupart des solutions sont à base de ffmepg encapsulé (comme JAVE) mais je n'ai pas réussi à les intégrer pour les faire fonctionner dans Tomcat.
Cela était certainement dû au Security Manager...
Puis par chance, j'ai trouvé un convertisseur 100% java : Jump3r
La bibliothèque est disponible sur le repository maven (https://mvnrepository.com/artifact/de.sciss/jump3r/1.0.4) et les sources sur https://github.com/Sciss/jump3r
L'utilisation est simple pour convertir un fichier wav en mp3. Voici ci-dessous un exemple :
Dans celui-ci, la fonction main a été inlinée pour permettre d'attraper/relancer une éventuelle IOException.
Jump3r m'a sauvé la vie : il a permis de modifier la servlet qui délivrait le wav pour lui faire délivrer un mp3 compatible avec tous les players HTML 5 des navigateurs.
Liens utiles
http://textopia.org/androidsoundformats.html
http://dinbror.dk/blog/how-to-preload-entire-html5-video-before-play-solved/
Le passage au player html5 a été laborieux.
Le player devait s'afficher dans une popup (on utilisait auparavant qtip mais le passage à html5 faisait planter le rendu aléatoirement) et un problème d'affichage du temps total du morceau était présent de temps à autre (cf solution dans billet précédent).
Une fois la popup affichée et le problème de temps résolu, je me suis heurté à un autre problème de taille...
En effet, IE11 (un des navigateurs à supporter) ne lit pas les fichiers wav !!!
J'ai donc cherché à convertir les fichiers wav en mp3.
La plupart des solutions sont à base de ffmepg encapsulé (comme JAVE) mais je n'ai pas réussi à les intégrer pour les faire fonctionner dans Tomcat.
Cela était certainement dû au Security Manager...
Puis par chance, j'ai trouvé un convertisseur 100% java : Jump3r
La bibliothèque est disponible sur le repository maven (https://mvnrepository.com/artifact/de.sciss/jump3r/1.0.4) et les sources sur https://github.com/Sciss/jump3r
L'utilisation est simple pour convertir un fichier wav en mp3. Voici ci-dessous un exemple :
Dans celui-ci, la fonction main a été inlinée pour permettre d'attraper/relancer une éventuelle IOException.
Jump3r m'a sauvé la vie : il a permis de modifier la servlet qui délivrait le wav pour lui faire délivrer un mp3 compatible avec tous les players HTML 5 des navigateurs.
Liens utiles
http://textopia.org/androidsoundformats.html
http://dinbror.dk/blog/how-to-preload-entire-html5-video-before-play-solved/
html5, player audio dans une popup
Pour mon projet, je devais afficher un player audio HTML5 dans une popup lors d'un clic sur un span (fichier son)...
Voici ce que cela donne sur un exemple allégé :
avec son code associé :
A noter :
Parfois le temps total du morceau n'était pas affiché par le player. Cela était aléatoire et ce en utilisant le même logiciel (firefox) sous linux ou sous windows (via une machine virtuelle).
Je suspecte que cela était dû au fait que le fichier son était renvoyé par une servlet...
Dans l'exemple ci-dessus, ce n'est pas le cas mais j'ai laissé le patch pour information (la source m'ayant aidé à résoudre ce problème est la suivante : http://dinbror.dk/blog/how-to-preload-entire-html5-video-before-play-solved/)
Voici ce que cela donne sur un exemple allégé :
avec son code associé :
A noter :
Parfois le temps total du morceau n'était pas affiché par le player. Cela était aléatoire et ce en utilisant le même logiciel (firefox) sous linux ou sous windows (via une machine virtuelle).
Je suspecte que cela était dû au fait que le fichier son était renvoyé par une servlet...
Dans l'exemple ci-dessus, ce n'est pas le cas mais j'ai laissé le patch pour information (la source m'ayant aidé à résoudre ce problème est la suivante : http://dinbror.dk/blog/how-to-preload-entire-html5-video-before-play-solved/)
Inscription à :
Articles (Atom)
