[resolu] Pb Sur Un Script Maison Sur Un Stream


Lassie
 Share

Messages recommandés

Hello,

Je fais appel aux pros des script python sous XBMC : HEEEEEELLLPPPPP ! :D

Voilà l'histoire : comme on n'est jamais mieux servi que par soit même je me suis lancé dans l'écriture d'un script pour voir l'emission Arret sur Images sur le site de France

J'ai réussi à faire du parsing de plusieurs pages HTML du site pour récupérer le titre de l'emission, le résumé et le lien sur le stream (fichier RAM). Bon, jusque là, ça va.

Je résume mon problème :

1 - voilà l'URL que j'arrive à récupérer et qui contient le stream à lire :

http://www.france5.fr/images/emissions/006...21_056256kb.ram

2 - si je lance cette url dans un ficheir test_url.strm sous XMBC : ça marche...

3 - si je lance cette url à l'intérieur du script python avec le code suivant :

[...]xbmc.Player().play("http://www.france5.fr/images/emissions/006869/21/006869_21_056256kb.ram")[...]

=> bin ça marche pô... (il démarre, essaye de remplir le cache mplayer, puis ferme la fenetre mplayer comme s'il n'avait pas trouvé l'url...)

Les seuls scripts qui "trifouillent" (du verbe trifouiller...:) ) les vidéos que je connais, c'est MyCiné et CanalPlus, mais c'est des vidéos au format wmv, donc je peux pas comparer.

Les pistes possibles :

  • Est-ce que c'est un pb avec le mplayer sous XBMC (c'est pas un pb de codecs, car ça marche bien avec un fichier strm qui contient l'url) ?
  • Est-ce que c'est un pb avec mon script ?

EDIT : testé avec XBMC v2004-12-08 et v2005-02-01... même résultat...

A+

Modifié par Lassie
Lien vers le commentaire
Partager sur d'autres sites

Salut,

C'est tout à fait normal car ton lien réal n'est pas correct, voici le bon lien:

rtsp://a1693.v5577d.c5577.g.vr.akamaistream.net:554/ondemand/7/1693/5577/1724454746/lacinq.download.akamai.com/5577/internet/asi/006869_21_0_56-256kb_2.rm

Avec ce lien sous ton script ce sera ok.

Quand tu codes sous python je te conseil de donner l'url rtsp et non le lien http qui pointes sur l'url rtsp.

Je te conseil de lire dans réal le flux qui te conviens et d'éditer ses propriété , réal te fileras l'url sous la forme de rtsp:// .... .ram.rm etc

Voila pour ton aide

++

Modifié par toholassud
Lien vers le commentaire
Partager sur d'autres sites

Argh... voui... ça marche avec ce lien (dans un .strm, ou dans un script python).

Par contre, maintenant, j'ai un gros problème : comment on fait dans le script en python pour retrouver cette url "rstp://" avec un parser HTML ?

En gros, comment on passe de l'URL : http://.... .ram à rstp://.... en python ?

Merci pour les infos en tout cas.

Lien vers le commentaire
Partager sur d'autres sites

Salut

C'est très simple :

1- télécharge le fichier mentionné par l'adresse que tu donnes : http://www.france5.fr/images/emissions/006...21_056256kb.ram

2- lit le fichier, l'adresse directe est à l'intérieur

Tu peux tenter de faire par exemple :

import urlliburl="http://www.france5.fr/images/emissions/006869/21/006869_21_056256kb.ram"urllib.urlcleanup()fichierram = urllib.URLopener()fichierram.retrieve(url,MON_REP+'fichiertemp.ram')#maintenant MON_REP+'fichiertemp.ram' est un fichier local, copie de ton url#ensuite tu ouvres le fichier et tu lis son contenu :f=open(MON_REP+'fichiertemp.ram','r') #ouvre le .ram local en lectureURL_a_lire=f.read() f.close()xbmc.Player().play(URL_a_lire)

Je pense que ca doit fonctionner. (aux erreurs près ! :D )

Lien vers le commentaire
Partager sur d'autres sites

Argh... grillé de quelques secondes... :D

En fait, gràce à la piste de l'url en 'rstp' de toholassud, j'ai compris tout seul, et je venais poster la solution, mais celle de alexsolex est plus claire, et commentée en plus ! Donc je vire la mienne, j'ai trop honte... :D

C'est une redirection que le site de France5 effectue : à partir de mon url en HTTP, ils envoie sur l'url en RSTP... il suffit donc de faire un "read"... c'était tout con, j'aurai du y penser...

Je pense que ca doit fonctionner. (aux erreurs près !  :D )

Voui, ça fonctionne chez moi. J'ai pas utilisé le "retreive", je fais directement un :

url_a_envoyer_a_mplayer = urllib.urlopen(url_de_depart).read()

et ça roule !

Allez, hop... je rajoute : "résolu" devant mon titre... Merci pour l'info de l'url en RSTP, ça m'a mis sur la bonne piste... :)

A+

PS : si j'ai le temps de finaliser tout ça, je posterai mon petit script pour ceux qui aiment bien regarder "Arret sur Image"

Modifié par Lassie
Lien vers le commentaire
Partager sur d'autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
 Share