Divers Problèmes Avec Le Streaming


LOliv
 Share

Messages recommandés

Bonjour,

ça fait un moment que j'avais envie de me mettre au script xbmc, donc c'est pour un petit progr maison de streaming TV, particulierement pour la TSR.

Mais bon après avoir passé sur tout les problème d'interfaces et de python, ca faisait un moment que j'y avais pas gouté.

Et bon XBMC n'y arrange rien... dure a debugger

bon bref... j'étais super confiant que le play marcherait sans problème, donc j'ai fait presque tout le reste, mais en fait au bout ça ne lit pas mes fichiers rm distant

comme par exemple ça:

http://real.xobix.ch/ramgen/tsr/ir/2007/ir_02142007-160k.rm

j'ai essayé aussi

rtsp://helix-v2.sri.ch/ramgen/tsr/ir/2007/ir_02142007-450k.rm

mais rien.. donc.. est-ce que qqun peut me guider la dedans...

merci bcp

oli

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

Bon finalement ça a marché en mettant directement l'ip et le port dans l'adresse, bon je dois encore un peu améliorer pour le récupérer automatiquement, mais globalement ça passe....

rtsp://62.2.180.141:554/....

Voila

Lien vers le commentaire
Partager sur d'autres sites

Oui, si ton fichier .rm est une espèce de playliste avec la vraie url à l'intérieur, alors il faut télécharger ce .rm et le "lire" afin d'en extraire la vrai url.

Bon courage et si tu as besoin , n'hésites pas à demander ici !

Lien vers le commentaire
Partager sur d'autres sites

Oui, si ton fichier .rm est une espèce de playliste avec la vraie url à l'intérieur, alors il faut télécharger ce .rm et le "lire" afin d'en extraire la vrai url.

Bon courage et si tu as besoin , n'hésites pas à demander ici !

Ouais, pour les adresses rm, j'ai modifié, j'utilise maintenant le retour de cette foncton de redirection urlopen().read() sur l'adresse http

, il faut encore enlever de l'adresse de retour tous ce qui suis le premier caractère '?', et ça fonctionne nickel.

urllib.urlopen(urlemission).read()idx = urlredirect.find('?')urlToPlay = urlredirect[:idx]

Voila, sinon j'ai une question :

j'utilise maintenant la lecture d'emission radio de couleur 3 et rsr la première, c'est aussi du rm, ça marche mais le problème est qu'il remplit le cache avant de démarrer, et ça dure très long.. genre 3-4 min

Mon idée est qu'il pense que c'est de la vidéo, donc il veut en mettre pas mal de coté mais le serveur limite le vitesse, donc est-ce que c'est possible soit de régler le cache à la volé avant d'appeler ou de le lancer le player en spécifiant que c'est du son...

Voila merci

oliv

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

Non tu ne peux pas jouer sur le cache depuis python.

Par contre, tu peux essayer les autres players pour lancer ton flux. Je ne sais pas si d'autres player que MPlayer peuvent lire les .rm, mais tu peux essayer

monplayer = xbmc.Player(1)

monplayer.play(url)

(il faut voir la doc de la lib xbmc pour connaitre exactement les valeurs à passer à Player(..) pour utiliser les autres players.)

Lien vers le commentaire
Partager sur d'autres sites

ouais ok merci, mais en cherchant, pas encore essayer... y'a que mplayer qui a l'air de lire le rm... donc surement pas cool

Ouais benh ça ne marche pas... donc voila, je crois qu'il n'y a pas grand chose à faire...

Lien vers le commentaire
Partager sur d'autres sites

oui désolé...

C'est un gros inconvénient du streaming !

Autre solution éventuelle, gérer des cookies pour télécharger le .rm, le site en a peut être besoin...

Lien vers le commentaire
Partager sur d'autres sites

  • 1 month later...

Bonjour,

J'arrive maintenant à lire pas mal d'emmission videos et audio, mais j'ai un problème avec les fichiers audios en mp3 ou autre..

En fait, lorsque l'on selectionne un mp3, il se lance sans problème, mais au bout d'un moment le streaming se bloque, xbmc affiche le compteur arreté, et là si je reselectionne une nouvelle emission videos ou audio.. c'est le freeze...

qqun aurait une idée? alex?

merci

Lien vers le commentaire
Partager sur d'autres sites

salut

aucune idée...

Un bug de XBMC ? essaye la dernière version pour voir... Tu peux essayer aussi de sélectionner un autre player que le player par défaut (MPlayer) tu peux essayer les autres mais tous ne lisent pas le streaming. A voir donc.

EDIT : tu as activé le debug de XBMC ? tu trouveras peut être un message d'erreur de mplayer qui t'indiquera la source du problème

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

Un bug de XBMC ? essaye la dernière version pour voir... Tu peux essayer aussi de sélectionner un autre player que le player par défaut (MPlayer) tu peux essayer les autres mais tous ne lisent pas le streaming. A voir donc.

EDIT : tu as activé le debug de XBMC ? tu trouveras peut être un message d'erreur de mplayer qui t'indiquera la source du problème

Ouais benh la derniere version final 2.0.1 pose le meme probleme, et apparemment il y a uniquement mplayer pour lire les stream avec une adresse http://

Donc c'est mal barré ;)

Et sinon coté log, j'ai ca:

-> avec l'arret du stream apres 1m52 donc -> env a 21:25:40, et ensuite le screensaver s'est enclenché, j'ai essayé de pressé une touche et freeze!

c'est assez bizarre..., mais c'est pas dû au screen saver, j'ai refait un essai, et ca plante lorsque je lance un autre stream meme en local, sans utiliser le script.... et aucun message de debug sur la cause du freeze...

:52 M: 20123648 DEBUG: msg: mplayer_open_file(http://podcast.rsr.ch/media/la-soupe/20070325-forums.mp3) done 1.0000

21:23:52 M: 19656704 DEBUG: Playback has started

21:23:52 M: 20180992 DEBUG: CGUIInfoManager::SetCurrentSong(http://podcast.rsr.ch/media/la-soupe/20070325-forums.mp3)

21:23:52 M: 20180992 DEBUG: Streaming media detected... using temp.strm to find a thumb

21:23:52 M: 20180992 DEBUG: CURL::CURL - Url has no protocol temp.strm, empty CURL created

21:23:52 M: 20180992 DEBUG: CURL::CURL - Url has no protocol temp.strm, empty CURL created

21:23:52 M: 20180992 DEBUG: CURL::CURL - Url has no protocol temp.strm, empty CURL created

21:23:52 M: 20180992 DEBUG: CURL::CURL - Url has no protocol temp.tbn, empty CURL created

21:23:52 M: 20180992 DEBUG: CURL::CURL - Url has no protocol temp.strm, empty CURL created

21:23:55 M: 20602880 INFO: XCURL::DllLibCurlGlobal::CheckIdle - Closing session to http://podcast.rsr.ch

21:26:50 M: 20549632 DEBUG: Activating window ID: 12006

21:26:52 M: 20549632 DEBUG: Checking if window ID 12006 is locked.

21:26:52 M: 25825280 INFO: Loading skin file: MusicVisualisation.xml

21:26:52 M: 25829376 INFO: Loading skin file: MusicOSD.xml

21:26:52 M: 25382912 INFO: Loading skin file: MusicOSDVisSettings.xml

21:26:52 M: 25305088 INFO: Loading skin file: VisualisationPresetList.xml

21:26:52 M: 25300992 DEBUG: LoadVisualisation() started

21:26:52 M: 24977408 DEBUG: Dll MSVCP71.dll was not found in path

21:26:52 M: 24977408 DEBUG: Unable to load referenced dll MSVCP71.dll - Dll: Q:\visualisations\MilkDrop.vis

21:26:52 M: 24977408 DEBUG: kernel32.dll fake function DisableThreadLibraryCalls called

21:26:52 M: 24391680 DEBUG: msg: loaded current preset = 15

21:26:52 M: 24391680 DEBUG: msvcrt.dll fake function dll_findclose() called

21:26:52 M: 24375296 DEBUG: msg: Preset is not held, loading a random preset. Current is 15

21:26:53 M: 24272896 DEBUG: msvcrt.dll fake function dll_findclose() called

21:26:53 M: 15716352 DEBUG: OnInitialize() started

21:26:53 M: 15716352 DEBUG: OnInitialize() done

21:26:53 M: 15704064 DEBUG: LoadVisualisation() done

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

et bien sur, aucun problème lorsque tu lis un MP3 en local ?

Là visiblement les derniers logs concernent le lancement de la visualisation. Tu me parles de screensaver, si tu le désactives (economiseur ET visualisation après un moment d'inactivité lors de la lecture audio) Ca te fais quoi ?

Lien vers le commentaire
Partager sur d'autres sites

et bien sur, aucun problème lorsque tu lis un MP3 en local ?

Là visiblement les derniers logs concernent le lancement de la visualisation. Tu me parles de screensaver, si tu le désactives (economiseur ET visualisation après un moment d'inactivité lors de la lecture audio) Ca te fais quoi ?

Si la visualisation n'apparait pas, donc je clique haut-bas, durant la lecture pour qu'il ne s'active pas, ca coupe aussi.

Dès que la lecture s'arrete, je peux sortir du script, le compteur marque qu'il est arreté, et là si je clique stop avec la telecommande ou que je clique pour effectuer un nouvelle lecture directement avec xbmc, ca provoque le freeze! et la pas de message.... dans le log

ça parrait etre un bug de mplayer, qui n'est apparemment pas bien adapté à l'audio en streaming, comme s'il ne jouait que ce qu'il avait dans le cache au debut, puis n'arriverait pas a continuer...

Bon je vais encore essayer de lancer en local la lecture comme tu le suggère mais... je pense que ça va marcher...

Mais je devrais peu-être les copier en local avant de les jouer avec PAPplayer.. vu que c'est de l'audio c'est pas si grand en général... entre 1 et 30 mo...

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

essayes quand même avec dvdplayer je pense qu'il lit le stream

enfin je suis presque persuadé qu'un des players lit le stream...

Lien vers le commentaire
Partager sur d'autres sites

essayes quand même avec dvdplayer je pense qu'il lit le stream

enfin je suis presque persuadé qu'un des players lit le stream...

Merci de tes réponses, tu as raison dvdplayer arrive à lire le fichier mp3 meme depuis une adresse http, mais au bout d'un moment, je pense quand le cache est épuisé, il se coupe mais cette fois sans planter...

Donc je pense que c'est dû au serveur, car j'essaye d'accéder à un site de podcast (http://www.rsr.ch/podcast.aspx?rss=histoire-vivante), qui ne gère surement pas le streaming... , car j'ai essayé avec une radio en live (http://broadcast.infomaniak.net:80/rsr-la1ere-high.mp3), et la ça a l'air de marcher avec mplayer, mais je dois encore l'éprouver ;)

Donc je vais un peu chercher, et essayer de garder la connexion ouverte avec le socket que j'utilise pour telecharger le fichier xml rss, ou au pire télécharger le fichier.... mais je pense que c'est ca...

Lien vers le commentaire
Partager sur d'autres sites

Voila,

après qques recherches je pense comprendre ce qui se passe, mais j'aimerais savoir ce que vous en pensez...

Donc en fait ce n'est pas dû au player ou au format, car j'ai réussi à reproduire l'effet avec un fichier video et different player.

Je pense plutot que c'est le serveur qui n'accèpte pas de trop longue connexion, étant un serveur de podcast, il n'accèpte que les téléchargements et non le streaming, au bout d'un moment il coupe?! Le truc bizarre est qu'il coupe au bout d'un temps non fixe, entre 40sec et 3-4 min...

Donc en fait j'aimerais downloader le fichier dans un fichier temporaire et lancer la lecture sur ce fichier, en meme temps qu'il se download.... vous pensez que c'est possible?

Merci pour les idées, sinon il y a bien sur le download complet, puis la lecture mais c'est pas ideal...

oliv

Lien vers le commentaire
Partager sur d'autres sites

Salut

Malheureusement non, je le crain...

En fait je crois avoir compris au cours de mes recherches que ceci est lié au filesystem de la xbox. Un fichier ne peut être lu par un player alors qu'il est déjà ouvert en écriture. C'est bien dommage :(

La solution devient alors de télécharger complètement le MP3...

Sinon, pour les déconnexions intempestives, c'est peut être aussi lié au fait que le serveur qui fourni le MP3 ne supporte pas plus de XX connexions simultanées. Tu arrives, il y a de la place, puis un nouvel utilisateur arrive et te grille ta place... Bon, c'est pas sur du tout mais ca peut être dans ce style.

Tu peux essayer de lire ton MP3 en streaming avec VLC en ayant pris soin au préalable d'activer la fenêtre d'informations (menu Vue > messages... )

Là, si ca coupe les messages te diront certainement la raison

Lien vers le commentaire
Partager sur d'autres sites

D'accord, benh c embetant cette histoire de filesystem, très vite confirmer par qques essais, mais on pourrait peu-être le tromper en créant un fichier de grand taille avec des 0 et fermé sur lequel on lancerait le player, puis on le rouvre pour le remplir des vrai donnée en meme qu'i lest lu.. mais bon j'y crois moyen ;)

Au fait en cherchant un peu sur le net j'ai trouvé des exemples qui utilise les appels direct à XBMC pour effectuer des actions comme "xbmc.executehttpapi('FileDownloadFromInternet(' + url + ')') ou "xbmc.executebuiltin('XBMC.PlayMedia(' + item.url + ')')"

ça a l'air intéressant, peu-être ça marche mieux, en tout cas ca doit eviter l'utilisation des libraries python, peu-etre un peu lourde, et pour la doc c la: http://www.xboxmediacenter.com/wiki/index....lt_In_Functions si ca intéresse qqun

Et sinon j'ai essayé avec mon mac VLC sur les meme fichier et ça coupe pas.... donc ça remet peu-être en question l'histoire du serveur qui refuserait le streaming...

Voila

Modifié par LOliv
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