06/05/2010 @ 09:09:07: andewez: VLC et la VOD --> commande en telnet : soucis caractères spéciaux
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 :
- C:\Mes videos\bidule.avi : ok
- C:\Mes vidéos\bidule.avi : PAS ok
argh...
Si j'ai bien compris il faut des caractères en ASCII (d'où l'impossibilité d'envoyer des caractères spéciaux
). 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
06/05/2010 @ 15:29:10: andewez: VLC et la VOD --> commande en telnet : soucis caractères spéciaux
Personne n'a une idée ?
06/05/2010 @ 15:36:27: Jean-Christophe: VLC et la VOD --> commande en telnet : soucis caractères spéciaux
je n'ai jamais fait ce genre de chose avec VLC
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?
06/05/2010 @ 15:57:08: Olaf: VLC et la VOD --> commande en telnet : soucis caractères spéciaux
Tiens, je ne connaissais pas cette feature. Je vais voir si c'est possible avec autre chose que telnet et sous linux
06/05/2010 @ 16:15:27: andewez: VLC et la VOD --> commande en telnet : soucis caractères spéciaux
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...
06/05/2010 @ 16:26:04: andewez: VLC et la VOD --> commande en telnet : soucis caractères spéciaux
06/05/2010 @ 17:15:34: Dr_Dan: VLC et la VOD --> commande en telnet : soucis caractères spéciaux
As-tu essayé de mettre entre guillemets ton chemin ?
"C:\Mes vidéos\bidule.avi"
06/05/2010 @ 19:10:07: andewez: VLC et la VOD --> commande en telnet : soucis caractères spéciaux
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**...
06/05/2010 @ 19:13:01: rfr: VLC et la VOD --> commande en telnet : soucis caractères spéciaux
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 ...).
06/05/2010 @ 19:15:25: rfr: VLC et la VOD --> commande en telnet : soucis caractères spéciaux
06/05/2010 @ 21:24:28: andewez: VLC et la VOD --> commande en telnet : soucis caractères spéciaux
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 ?
06/05/2010 @ 21:26:58: rfr: VLC et la VOD --> commande en telnet : soucis caractères spéciaux
Et sur le XP, c'est quoi? ISO-8859-1? CP850? ???
06/05/2010 @ 21:36:11: andewez: VLC et la VOD --> commande en telnet : soucis caractères spéciaux
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 ?
06/05/2010 @ 21:39:46: rfr: VLC et la VOD --> commande en telnet : soucis caractères spéciaux
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
06/05/2010 @ 21:55:30: andewez: VLC et la VOD --> commande en telnet : soucis caractères spéciaux
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 ???
06/05/2010 @ 22:13:04: andewez: VLC et la VOD --> commande en telnet : soucis caractères spéciaux
Voici quand même mon code :
- public void write_TELNET( String value )
- {
- String nvchaine="";
- try {
- nvchaine = new String(value.getBytes(),"ISO-8859-1");
- } catch (UnsupportedEncodingException e1) {
-
- e1.printStackTrace();
- }
- try {
- outT.println(nvchaine);
- outT.flush();
- System.out.println( nvchaine );
- }
- catch( Exception e ) {
- e.printStackTrace();
- }
- }
C'est quand même simple... je vois pas où je pourrais me tromper.
Je vais écrire à VLC (on peut toujours espérer
)
06/05/2010 @ 22:14:13: rfr: VLC et la VOD --> commande en telnet : soucis caractères spéciaux
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.
06/05/2010 @ 22:19:37: andewez: VLC et la VOD --> commande en telnet : soucis caractères spéciaux
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
>
07/05/2010 @ 10:06:26: : VLC et la VOD --> commande en telnet : soucis caractères spéciaux
Voici quand même mon code :
- nvchaine = new String(value.getBytes(),"ISO-8859-1");
- ...
- 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():
- 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:
- 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.
07/05/2010 @ 10:23:35: andewez: VLC et la VOD --> commande en telnet : soucis caractères spéciaux
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...