Kodi-vStream / venom-xbmc-addons

Addon de Streaming français pour Xbmc
GNU General Public License v3.0
497 stars 275 forks source link

Une question pour ajouter une source #2212

Closed Ovni-crea closed 6 years ago

Ovni-crea commented 6 years ago

Bon l'idée c'est que je veux ajouter la source livetv pour le sport le problème c'est avant de commencer le fichier python je voudrais savoir si Kodi gère les lecteurs flash Merci

Ovni-crea commented 6 years ago

Bonjour on fait quoi du coup pour showDecode tu vas le faire ou je le fait parce que moi je vais galéré personnellement

TmpName commented 6 years ago

pkoi showdecode ? Tu fais comme tu veux mais moi perso je fais TOUT dans showhoster. Dans showTruc, je recupere le lien de la video, dans ton cas c'est pas dur y en a qu'un en plus a chaque fois. Je l'envois a showhoster et je reste dans showhoster jusqu'a ca que j'obtienne un lien m3u par exemple poiur afficher ma video.

La tu met des liens mais je ne sais meme pas ce que c'est. J'en ai teste 2, sont deja mort. Y a que toi qui sait quoi faire. Tu as une page html qui renvois sur une page html qui renvois sur une page html qui renvois sur un lien video.

Tu me donne un code html, je te dis comment avoir l'url de la page suivante (ou le lien video si present), apres je peux pas deviner.

Il sont pas tous dans javascript. Ben alors

if in javascript:
      faire ca
else:
      faire ca
Ovni-crea commented 6 years ago

https://pastebin.com/kjs73b0J bon j'ai essayer de faire quelque chose au moins j'ai voulu faire comme dans mangacity quand il y a plusieurs possibilité mais vue que c'est complètement différents tu pourras peut être les réglés (les 2 méthodes sont pour aliez et assia pour l'instant)

PS:je c'est que tu travail donc je sais que tu vas me répondre vers 17h-18h :)

TmpName commented 6 years ago
        for aEntry in aResult[1]:
            tmp = urllib.unquote(aEntry)
            sPattern2 = 'source: *\'(.+?)\''
            aResult = re.findall(sPattern2, tmp)

Tu essayes de faire quoi la ? aEntry c'est une url que tu as extrait avec le regex precedent, apres tu essayes de la decoder (est ce qu'elle est code ?) puis tu essaye de trouver dans l'url 'source: *\'(.+?)\'' ???

Pareil pourquoi tu cherches une liste d'url ? Tu n'en as qu'une seule a chaque fois, tu te complique pour rien, quand tu debutes, la regle c'est "tu sais pas a quoi ca sert, tu supprimes", inutile de copier des paves de codes si tu sait pas ce qu'ils font.

Moi j'aurais fais comme ca https://pastebin.com/qG6AvnKA

Pour que le code precedent fonctionne, il te faut le dernier fichier host.py, je l'ai mit a jours y a quelques mns.

Ca va t'afficher le lien final avec comme hoster 'lien direct'

Par contre il marchera pas ^^. Et la j'ai pas encore trouve pourquoi, il te faut juste le faire fonctionner dans vlc par exemple, a toi de trouver l'option qui manque.

Ovni-crea commented 6 years ago

Ça dérange pas si le code m3u est dans JavaScript

Ovni-crea commented 6 years ago

Aliez. c'est normal le m3u est sécurisé https://openclassrooms.com/forum/sujet/nginx-http-secure-link-module?page=1 il faudrait le faire passer par f4mtester pour voir Et il faut vraiment mettre aliez car c'est le plus gros hébergeur utilisé du site http://livestreamspro.pe.hu/wiki/index.php?n=Functions.F4M regarde il y a les fonction de f4mproxy(f4mtester c'est pareil)

Ps:c'est pour sa que vlc ne le lie pas

Arias800 commented 6 years ago

Aliez c'est s_ort-stream365 ? Parce que pour le moment il y a que ça comme liens Si oui j'ai réussit a récupérer le m3u (faut voir combien de temps ca va marcher ) ^^

Ovni-crea commented 6 years ago

Non @Arias800 sport-stream365 c'est un autre hébergeur

Arias800 commented 6 years ago

Ah bon bah du coup j'ai récupéré les liens sp_rt-stream365 et les liens youtube mais je crois que le fichier host de youtube ne marche plus ^^ Liens pastebin : https://pastebin.com/eh2YzkVZ

Ovni-crea commented 6 years ago

Si mais c'est parce-que le host n'est pas configurer pour youtube.com/embed Édit:non je retiens ce que j'ai dit :)

Arias800 commented 6 years ago

Ah d'acc ^^

Ovni-crea commented 6 years ago

Va voir sur hockey sur glace il y a un lien alieztv Édit: pour le non bizarre avec plein de lettre c'est assia tv

Ovni-crea commented 6 years ago

@Arias800 alors c'est galère avec alieztv

Arias800 commented 6 years ago

Le liens m3u que le site envoie a vstream est bidon reste a trouver pourquoi ^^

Ovni-crea commented 6 years ago

J'ai peut être trouver le problème sur firefox j'ai été cherché un lien alieztv j'ai fouillé dans le code source pour récupérer le m3u j'ai démarré sur le navigateur j'ai pris un autre navigateur pour démarrer la même source et devine la suite erreur 403 la même URL fonctionne sur firefox mais pas sur chrome donc on dirait que le site génère une espèce de code et d'après se site https://openclassrooms.com/forum/sujet/nginx-http-secure-link-module?page=1 c'est une sorte de code de sécurité mais peut être qu:'il faut enregistré le cookie pour démarrer le m3u avec un user agent regarde http://livestreamspro.pe.hu/wiki/index.php?n=Functions.F4M il parle du erreur 403 avec le m3u8 comme nous

Ovni-crea commented 6 years ago

Après tu peut test avec imputstream adaptive

Arias800 commented 6 years ago

Oui faudra voir après dans un premier temps faut réussir a récupérer le bon liens m3u

Ovni-crea commented 6 years ago

Alors t'en pense quoi tu pense que j'ai raison avec le cookie

Arias800 commented 6 years ago

Je sais pas vu que ça a marcher sur mon navigateur avec les cookie désactiver je pense pas mais pour le moments j'ai rien trouvé de concluent

Ovni-crea commented 6 years ago

Essaye de le démarrer sur f4mtester pour voir

Ovni-crea commented 6 years ago

@Arias800 sa fonctionne pas avec f4mtester

Arias800 commented 6 years ago

D'acc je réessaierai de trouver une solution demain ^^

Ovni-crea commented 6 years ago

OK pas grave je vais mettre les URL d'hébergeur qui reste que je trouve qu'il faut mettre(par contre il risque de plus fonctionnait mais c'est pas grave c'est ceux qui faudra mettre)

TmpName commented 6 years ago

Alors pkoi f4mtester, depuis le debut je te parles de vlc, lequel des 2 tu maitrises le plus ? Un m3u n'est pas un code mais un lien (une url) et qu'il soit dans du JS , du html, du flash on s'en fou, une url c'est une url et ca se lit avec TOUT les lecteurs.

Apres la protection mise en place est juste une protection par user-agent. Je suis arrive a lire les video dans vstream.

Dans ton code modifi

        if 'emb.aliez.me' in url:
            UA = 'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:56.0) Gecko/20100101 Firefox/56.0'
            oRequestHandler = cRequestHandler(url)
            oRequestHandler.addHeaderEntry('User-Agent',UA)
            sHtmlContent2 = oRequestHandler.request()
            sPattern2 = 'source: *\'(.+?)\''
            aResult = re.findall(sPattern2, sHtmlContent2)
            if aResult:
                sHosterUrl = aResult[0]

Et modifi le fichier lien_direct.py (avec la version que je viens de mettre en ligne), on va y mettre une partie juste pour toi et le lecteur aliez, mais tu devras utiliser le meme UA a chaque fois.

Ovni-crea commented 6 years ago

Bon j'ai testé sa marche par contre il y a un problème de temps en temps il génère un lien comme https://aliez-stream.gcdn.co/hls/streama69233/index.m3u8 j'ai réussi à faire pareil mais toujours erreur 403

Ovni-crea commented 6 years ago

Et aussi tu peux faire ou @Arias800 le code de http://sportlive.site/vip1/ukeurosp2.php parce que j'arrive pas à trouver le code source du m3u je vous remercie

Ovni-crea commented 6 years ago

Bonjour est ce que qu'un a trouver une solution

Arias800 commented 6 years ago

Je suis entrain de corriger s_ort-stream365 la ^^

Ovni-crea commented 6 years ago

@Arias800 a OK je savais pas ^^ bon je te laisse faire du coup

Ovni-crea commented 6 years ago

https://github.com/Ovni-crea/Source-vstream/blob/master/livetv.py tenait j'ai modifié le regex de showMovies2 il y avait un bug

Ovni-crea commented 6 years ago

Bonjour @Arias800 ta trouver le bug de aliez

Ovni-crea commented 6 years ago

Aliez il faut attendre jusqu'au 30 septembre il sont en service de maintenance

Arias800 commented 6 years ago

Alors j'ai fait pas mal de modif :

Ovni-crea commented 6 years ago

@Arias800 OK bon aliez il faut que j'attend jeudi pour la fin de la maintenance franchement je te remercie

Ovni-crea commented 6 years ago

J 'ai test avec aliez sa fonctionne pas (le flux j'ai test sur le navigateur sa fonctionne)

Arias800 commented 6 years ago

C'est normal je me suis pas encore occupé d'aliez

Ovni-crea commented 6 years ago

A OK je savais pas du coup

Ovni-crea commented 6 years ago

@Arias800 sa serait possible de mettre les liens sopcast et acestream pour démarrer sur l'addon plexus ?

TmpName commented 6 years ago

Serieusement, tu as pas l'impression que c'est quelqu'un d'autre qui te fait le plugin ? Cherches un peu, tu as plus dur de fait, tu peux aller de la page de garde a un lien fonctionnel, normallement pour rajouter des fonctions ca devrait aller.

Arias800 commented 6 years ago

Parcontre non acestream et sopcast c'est du P2P pas du streaming donc non

Ovni-crea commented 6 years ago

@TmpName A la base j'avais demander pour showHoster mais bon je vais le faire moi même sa doit pas être compliqué ^^ c'est vrai je demande un peu de trop je m'en excuse

Ovni-crea commented 6 years ago

@Arias800 OK je le fait pas du coup et puis je pense qu'il y a assez de hoster

Ovni-crea commented 6 years ago

@Arias800 pour aliez j'ai mis un user agent mais bon je c'est pas si sa va durée

Arias800 commented 6 years ago

Après c'est vrai qu'il y pas mal de modifs que j'ai de mon coter qui n'ont pas été demander par Ovni-crea mais bon vu que je les ai fait autant les donner ^^

Ovni-crea commented 6 years ago

Bonjour tout le monde Est ce que quelqu'un sait pourquoi j'arrive pas à décoder en base64 `if 'sportlive.site' in url: oRequestHandler = cRequestHandler(url) sHtmlContent2 = oRequestHandler.request() sPattern2 = '<iframe src="([^"]+)"' aResult = re.findall(sPattern2, sHtmlContent2) if aResult: sHosterUrl2 = aResult[0]

        oRequestHandler = cRequestHandler(sHosterUrl2)
        sHtmlContent3 = oRequestHandler.request()

        sPattern3= '<script types=\'text/javascript\'>id=\'(.+?)\''
        aResult2 = re.findall(sPattern3, sHtmlContent3)
        if aResult2:
            sHosterUrl3 = 'http://hdcast.pw/stream_jw2.php?id='+aResult2[0]
            oRequestHandler = cRequestHandler(sHosterUrl3)
        sHtmlContent4 = oRequestHandler.request()

        sPattern4 = 'curl = "([^"]+)"'
        aResult3 = re.findall(sPattern4, sHtmlContent4)
        aResult3 = base64.b64decode(aResult3)
        if aResult3:
            sHosterUrl = aResult3[0]`

Dans le log c'est marquer 15:39:14.810 T:18446744071893219616 ERROR: File "/storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.vstream/default.py", line 139, in parseUrl 15:39:14.813 T:18446744071893219616 ERROR: function() 15:39:14.814 T:18446744071893219616 ERROR: File "/storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.vstream/resources/sites/livetv.py", line 360, in showHosters 15:39:14.823 T:18446744071893219616 ERROR: aResult3 = base64.b64decode(aResult3) 15:39:14.823 T:18446744071893219616 ERROR: File "/home/jenkins/workspace/Android-ARM/tools/depends/xbmc-depends/arm-linux-androideabi-android-21/lib/python2.7/base64.py", line 75, in b64decode 15:39:14.824 T:18446744071893219616 ERROR: TypeError: a2b_base64() argument 1 must be string or buffer, not list h ttp://sportlive.site/vip1/bein1.php la c'est le 1er URL qui redirige vers http://livesport4u.com/vip1/bein1-1.php qui doit redirigée vers http://hdcast.pw/stream_jw2.php?id=165 (en fouillant le code source du 2eme ) que normalement dedans j'obtient l'URL codé en base64

Arias800 commented 6 years ago

Parce que ce que tu chercher a decoder une liste alors qu'il ne sais pas faire il faut que l'élément a decoder soit un string ^^

Ovni-crea commented 6 years ago

A OK du coup je doit remplacé quoi ?

Arias800 commented 6 years ago

Logiquement aResult3 = base64.b64decode(str(aResult3[0])) ça devrait marcher ^^

Ovni-crea commented 6 years ago

OK je test :)

Ovni-crea commented 6 years ago

J'ai sa Vstream: could not load site: livetv error: 'list' object has no attribute 'replace' 16:25:17.021 T:18446744071774402848 ERROR: Traceback (most recent call last): 16:25:17.022 T:18446744071774402848 ERROR: File "/storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.vstream/default.py", line 139, in parseUrl 16:25:17.024 T:18446744071774402848 ERROR: function() 16:25:17.025 T:18446744071774402848 ERROR: File "/storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.vstream/resources/sites/livetv.py", line 349, in showHosters 16:25:17.030 T:18446744071774402848 ERROR: sHtmlContent3 = oRequestHandler.request() 16:25:17.030 T:18446744071774402848 ERROR: File "/storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/plugin.video.vstream/resources/lib/handler/requestHandler.py", line 97, in request 16:25:17.034 T:18446744071774402848 ERROR: self.__sUrl = self.__sUrl.replace(' ', '+') 16:25:17.034 T:18446744071774402848 ERROR: AttributeError: 'list' object has no attribute 'replace'