Software  » VLC et la VOD --> commande en telnet : soucis caractères...
Catégorie :  
Lien direct vers ce message Editer  Citer  Ajouter ce message en quote multiple  Supprimer
VLC et la VOD --> commande en telnet : soucis caractères...
Publié le 06/05/2010 @ 09:09:07,
Par andewez
Bonjour à tous ... et toutes !

Je fais actuellement de la VOD (vidéo à la demande) avec le logiciel bien connu VLC.
Pour ceux qui ne le savent pas, j'ajoute des vidéos disponibles avec des commandes en TELNET.
Ca se passe ainsi :
>new test vod enabled -> permet de déclarer une vidéo
>setup test input C:\bidule.avi --> permet de donner le chemin (on ne retapera que cette ligne pour changer le chemin à chaque fois, si on ne veut pas déclarer de nouvelles vidéos)
etc etc.
Rien de bien compliquer en soi.

Mais j'en arrive à mon soucis :
Mes chemins passent tant que je n'ai pas de "caractères spéciaux".
Exemple :
  1. C:\Mes videos\bidule.avi : ok :petrus:
  2. C:\Mes vidéos\bidule.avi : PAS ok :cry:

argh...

Si j'ai bien compris il faut des caractères en ASCII (d'où l'impossibilité d'envoyer des caractères spéciaux :ohwell: ). Y a-t-il moyen de changer cela ou de lui faire accepter des caractères spéciaux (genre meme principe que l'HTML avec un code)?

D'avance, merci pour l'aide que vous pourrez m'apporter.
Bonne journée à tous,

ANDY
Lien direct vers ce message Editer  Citer  Ajouter ce message en quote multiple  Supprimer
VLC et la VOD --> commande en telnet : soucis caractères...
Publié le 06/05/2010 @ 15:29:10,
Par andewez
Personne n'a une idée ? :boggled:
Lien direct vers ce message Editer  Citer  Ajouter ce message en quote multiple  Supprimer
VLC et la VOD --> commande en telnet : soucis caractères...
Publié le 06/05/2010 @ 15:36:27,
Par Jean-Christophe
je n'ai jamais fait ce genre de chose avec VLC :spamafote:
par contre, il faudrait être certain de la config du client telnet et du codage qu'il envoie.
Tu ne sais pas créer un fichier txt à partir d'un envoie telnet et voir ce qui arrive dans le fichier?
Lien direct vers ce message Editer  Citer  Ajouter ce message en quote multiple  Supprimer
VLC et la VOD --> commande en telnet : soucis caractères...
Publié le 06/05/2010 @ 15:57:08,
Par Olaf
Tiens, je ne connaissais pas cette feature. Je vais voir si c'est possible avec autre chose que telnet et sous linux
Lien direct vers ce message Editer  Citer  Ajouter ce message en quote multiple  Supprimer
VLC et la VOD --> commande en telnet : soucis caractères...
Publié le 06/05/2010 @ 16:15:27,
Par andewez
Juste pour préciser,
OS : Windows Xp Embedded in fine (pour le moment XP mais ça ne change rien dans ce cas ci)
Logiciel VLC 1.0.5

Pour te répondre Jean Christophe, j'utilise pour communiquer en telnet àpd de java, une classe trouvé sur le net.
Je n'ai pas le code source (mais je vais chercher après) pour pouvoir dire qu'ils font tel ou tel manipulation sur la chaine que j'envois.
Comme ça, je ne sais pas comment faire pour créer un fichier txt à partir d'un envoi telnet.
Ce que je vais tenter, si la commande existe, c'est qu'après avoir dis ou se situait mon fichier à VLC, de demander à VLC ou il se situe. Si je vois des caractères bizaroides, je pourrai en tirer des conclusions.

Du peu que j'ai vu sur telnet pour l'instant, j'ai bien cru comprendre qu'il lui fallait des caractères ASCII... => pas de é, è etc..
Il faut que je trouve comment changer le mode ASCII (si possible) car cette application va être "internationalisée" en quelque sorte et je risque de me retrouver avec des noms de dossier et de fichiers en chinois... :wink:
Lien direct vers ce message Editer  Citer  Ajouter ce message en quote multiple  Supprimer
VLC et la VOD --> commande en telnet : soucis caractères...
Publié le 06/05/2010 @ 16:26:04,
Par andewez
NB : je l'ai chopée là la classe java pour communiquer en telnet :
http://commons.apache.org/net/index.html

Et pour la VOD avec VLC :
http://wiki.videolan.org/Documentation:Streaming_HowTo/VLM
Lien direct vers ce message Editer  Citer  Ajouter ce message en quote multiple  Supprimer
VLC et la VOD --> commande en telnet : soucis caractères...
Publié le 06/05/2010 @ 17:15:34,
Par Dr_Dan
As-tu essayé de mettre entre guillemets ton chemin ? :petrus:
"C:\Mes vidéos\bidule.avi"
Se tromper est humain ; Vraiment foutre la merde necessite le mot de passe de root. :petrus:
Lien direct vers ce message Editer  Citer  Ajouter ce message en quote multiple  Supprimer
VLC et la VOD --> commande en telnet : soucis caractères...
Publié le 06/05/2010 @ 19:10:07,
Par andewez
Bonjour Dr_Dan.
Je viens de tester dans un élan... ben dans un élent d'envie que ça fonctionne non didjâpe.
Mais sans succès. En effet, le problème ne vient pas du chemin en soit. Mon code fonctionne très bien dans le cas ou les répertoires ne contiennent que des caractères ASCII.
C'est vraiment énervant d'être si près du but et de caller sur ce genre de conneri**...
Lien direct vers ce message Editer  Citer  Ajouter ce message en quote multiple  Supprimer
VLC et la VOD --> commande en telnet : soucis caractères...
Publié le 06/05/2010 @ 19:13:01,
Par rfr
Question: tu envoies un String java avec ta class client Telnet?

Parce que si c'est le cas, tu viens de trouver le problème ... C'est une histoire d'encoding.

Tu dois d'abord convertir ton String en array de bytes avec l'encoder qui va bien et ensuite envoyer cet array de bytes (si c'est possible of course mais ça doit l'être ...).
To die is a time consuming activity, it often takes a lifetime (but some are faster than others ... though)
Lien direct vers ce message Editer  Citer  Ajouter ce message en quote multiple  Supprimer
VLC et la VOD --> commande en telnet : soucis caractères...
Publié le 06/05/2010 @ 19:15:25,
Par rfr
Un petit lien pour la conversion:

http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html#getBytes%28java.lang.- String%29

Et j'essaierais cet encoding: ISO-8859-1
To die is a time consuming activity, it often takes a lifetime (but some are faster than others ... though)
Lien direct vers ce message Editer  Citer  Ajouter ce message en quote multiple  Supprimer
VLC et la VOD --> commande en telnet : soucis caractères...
Publié le 06/05/2010 @ 21:24:28,
Par andewez
Bon j'ai tenté encore et encore mais sans succès... Raz le bol pour ce soir du telnet...
J'ai tenté de transformer en chaine de bytes mais ça n'a pas fonctionné. Apparement, au vu des différents forum, je ne suis pas le seul...

Sinon vous connaissez d'autres serveurs de streaming VOD ?
Lien direct vers ce message Editer  Citer  Ajouter ce message en quote multiple  Supprimer
VLC et la VOD --> commande en telnet : soucis caractères...
Publié le 06/05/2010 @ 21:26:58,
Par rfr
Et sur le XP, c'est quoi? ISO-8859-1? CP850? ???
To die is a time consuming activity, it often takes a lifetime (but some are faster than others ... though)
Lien direct vers ce message Editer  Citer  Ajouter ce message en quote multiple  Supprimer
VLC et la VOD --> commande en telnet : soucis caractères...
Publié le 06/05/2010 @ 21:36:11,
Par andewez
Aille le con que je suis. J'avais pas bien capté.
J'y retourne.
Sinon je ne comprends pas ta dernière question. L'encoding de l'XP ??
L'encoding c'est le format de ma chaine. Ca ne dépend pas de l'OS non ?
Lien direct vers ce message Editer  Citer  Ajouter ce message en quote multiple  Supprimer
VLC et la VOD --> commande en telnet : soucis caractères...
Publié le 06/05/2010 @ 21:39:46,
Par rfr

Sinon je ne comprends pas ta dernière question. L'encoding de l'XP ??
L'encoding c'est le format de ma chaine. Ca ne dépend pas de l'OS non ?


C'est rien, regarde d'abord du coté de ce que tu n'avais pas bien compris :grin:
To die is a time consuming activity, it often takes a lifetime (but some are faster than others ... though)
Lien direct vers ce message Editer  Citer  Ajouter ce message en quote multiple  Supprimer
VLC et la VOD --> commande en telnet : soucis caractères...
Publié le 06/05/2010 @ 21:55:30,
Par andewez
bon après m'etre pris un bide en n'ayant pas compris, j'ai VRAIMENT encoder (et non pas juste envoyer une chaine de bytes comme je l'avais compris au départ)
J'ai tenté comme tu me le conseillais le format ISO-8859-1 sans résultat mais également le CP850 toujours sans résultats.
J'ai été listé les médias utilisé par VLC.
Il recoit bien (et me renvoit par la meme occasion) bien les bon path (avec accents).
C'est vraiment bizare. S'il recoit bien, pourquoi ne veut-il pas l'ouvrir ???
Lien direct vers ce message Editer  Citer  Ajouter ce message en quote multiple  Supprimer
VLC et la VOD --> commande en telnet : soucis caractères...
Publié le 06/05/2010 @ 22:13:04,
Par andewez
Voici quand même mon code :
  1. public void write_TELNET( String value )  
  2. String nvchaine=""
  3. try { 
  4. nvchaine = new String(value.getBytes(),"ISO-8859-1"); 
  5. catch (UnsupportedEncodingException e1) { 
  6. // TODO Auto-generated catch block 
  7. e1.printStackTrace(); 
  8.    try { 
  9.  outT.println(nvchaine); 
  10.  outT.flush(); 
  11.  System.out.println( nvchaine ); 
  12.    } 
  13.    catch( Exception e ) { 
  14.  e.printStackTrace(); 
  15.    } 
  16. }


C'est quand même simple... je vois pas où je pourrais me tromper.
Je vais écrire à VLC (on peut toujours espérer :grin: )

Dernière édition: 06/05/2010 @ 22:14:36
Lien direct vers ce message Editer  Citer  Ajouter ce message en quote multiple  Supprimer
VLC et la VOD --> commande en telnet : soucis caractères...
Publié le 06/05/2010 @ 22:14:13,
Par rfr
faudrait un trace de ce que vlc essaie d'ouvrir ...

SysInternals avait un outil qui permettait de monitorer les accès fichiers. C'est microsoft qui a repris maintenant mais je ne me souviens plus du nom de l'outil.
To die is a time consuming activity, it often takes a lifetime (but some are faster than others ... though)
Lien direct vers ce message Editer  Citer  Ajouter ce message en quote multiple  Supprimer
VLC et la VOD --> commande en telnet : soucis caractères...
Publié le 06/05/2010 @ 22:19:37,
Par andewez
Pour faire le trace, j'envois une commande show à VLC.
Il me renvoit ceci :
>show video181
show
video181
type : vod
enabled : yes
mux :(null)
inputs
1 : F:/vidéos/test.avi
output :
options
instances
>
Lien direct vers ce message Editer  Citer  Ajouter ce message en quote multiple  Supprimer
VLC et la VOD --> commande en telnet : soucis caractères...
Publié le 07/05/2010 @ 10:06:26,
Par user-179.html
Voici quand même mon code :
  1. nvchaine = new String(value.getBytes(),"ISO-8859-1"); 
  2. ... 
  3.  outT.println(nvchaine);


C'est quand même simple... je vois pas où je pourrais me tromper.


Par exemple en spécifiant le charset dans getBytes():
  1. nvchaine = new String(value.getBytes("ISO-8859-1"),"ISO-8859-1");


Sinon getBytes() prend l'encodage par défaut et il y a des chances que ce soit de l'UTF8. Ton accent sera donc codé sur 2 bytes. Ensuite quand tu fais ton new String, tu forces ces deux bytes comme étant 2 caractères latin1 différents. => merdouille.

Ceci dit, inutile de repasser par une nouvelle String, tu peux directement faire:
  1. outT.println(value.getBytes("ISO-8859-1"));


avec le try/catch UnsupportedEncodingException.
Tu peux vouloir essayer aussi le ISO-8859-15 qui inclut le symbole € et son équivalen cp??? de Windows.

Dernière édition: 07/05/2010 @ 10:06:49
Lien direct vers ce message Editer  Citer  Ajouter ce message en quote multiple  Supprimer
VLC et la VOD --> commande en telnet : soucis caractères...
Publié le 07/05/2010 @ 10:23:35,
Par andewez
Merci Merlin de ta réponse. Je vais zieuter à ça.
Le problème supplémentaire est qu'en dehors des accents, il faudrait que je trouve un encoding qui supporte des caractères chinois, russes, arabes...
Enfin étapes par étapes...
Répondre  - Catégorie :  
Informaticien.be  - © 2002-2019 Akretio SPRL  - Generated via Kelare - Hosted by Verixi Internet Services
The Akretio Network: Akretio  - Freedelity  - KelCommerce  - Votre publicité sur informaticien.be ?