Closed ghost closed 6 years ago
Je suis pas sur mais pour moi urllib3 c'est une lib à importer https://kodi.wiki/view/Add-on:Urllib3
Importer par request qui lui et importer par vstream mais pas dans les imports obligatoire et pas sur que ce soit compatible Kodi 16.
alors le code fonctionne sur kodi 16.1 mais l'import d'urllib3 sur kodi 16.1 j'ai pas testé au départ j'utilisé requests puis quand j'ai vu que request en faite utilise urllib3 pour ce que je voulais faire j'ai changé et aussi pour la gestion des exceptions qui est pas top dans requests edit: add ru_tube
J'ai peur que si ont force urllib3 l'installation de vstream soit refuser à kodi 16.
request lui tourne sous 16, 17,18
la je teste une modif sur kodi 16.1 en important urllib3 depuis le module request ça tourne correctement
Donc ton code permet du coup de dl des fichiers fragmentes pour une playlist m3u ?
oui il dl les fichiers a l'intérieur des m3u8 fait un m3u8 local en gros
C'est bon ca, je sais pas pour l'integration dans Vstream, mais tres beau projet, moi aussi j'ai des prb avec netu et meme pas myen de faire de la mise en cache.
pour le moment ça fonctionne j'ai test sur kodi 16.1 17.1 17.6 -4 host testé et pris en charge il y en a d'autres et pour les hosts non gerer par vstream la fonction ext peut faire le job reste a la modif selon l'utilisation qu'on veut en faire ( juste dl et merge, faire un m3u8 aussi et retourner l'url du m3u8 final pour play? etc.. a voir
edit: kodi 16 urllib3 est inclu dans requests krypton et > urllib3 est séparé de requests
petite modif a voir ex: sur tune certains fichier sont des mp4 pour l'instant j'ai fait en sorte que l'host return false false et ça s'arrete la peut etre mettre une popup info
On fait quoi pour l'integration dans Vstream ? Ca marche bien sur un kodi recent sans rajouter de dependance ?
Aucune dépendance supplémentaires n'est nécessaire Vstream utilisé deja request donc dans tous les cas urllib3 est inclu Request en a besoin et l'installe kodi 17 ou l'intègre sous kodi 16 Donc fonctionne reste à intégrer details mineur une popup info en cas de fichier introuvable.
Et tu vas l'integrer comment ? Activer "DL+visualiser" pour netu ?
Via le fichier hoster.py une entrée menu clic droit ( dl play reprise )si le hoster est compatible m3u8 Tout est dans l'url en haut je n'utilise pas dl et visualisé ça aurait fait une usine à gaz (et les m3u8 sont bloqué pour cette fonction d'après mes souvenirs )la tu clic ça play et dl enregistre position si tu stop et reprend le dl la ou tu t'es arrêté si le dl n'est pas finis
Et en bypassant la fonction AddtoDownloadListandview() dans Cdownload ? Suffit de l'activer avec isDownloadable() dans le fichier netu.py, et la bypasser dans le fichier download.py si le lien est en netu (ou m3u8). A partir de la tu fais tout ce que tu veux, tu as l'url complete non decodee de memoire. Si c'est m3u8 > ta fonction sinon fonction classique.
Par contre j'ai pris l'exemple de netu, mais faudra l'activer dans tout les fichier hoster qui genere des m3u8. Et pas moyen de savoir si c'est un m3u8 au debut de la fonction (avant de demarrer le mode classique, car le lien n'est pas decode) faudrait faire par rapport au nom du host.
J'y est pensé au début et après avoir regardé le code j'ai décidé de faire un truc à part plus simple
le but n'est pas de dl mais ne plus avoir de coupure dès qu'il y a de la musique ou de l'action dans le film .
certains hoster ont mp4 ou m3u8 / ou mp4 et m3u8 ou m3u8 à l'intérieur d'un m3u8 donc je fais le tris dans le fichier host et modif
je veux pas attendre pour play donc pas de dialog explorer ou progression du dl ou pause quelconque, tu clic dès que les 5 premiers fichiers sont dl le player démarre. ( a la limite la sauvegarde du fichier a un endroit précis (sans dialog choix) est possible avec la fonction merge mais reste a faire ou pas (utilité ??,demande ??))
il ne sera pas compatible avec l'iptv ou d'autres livetv (Pas testé et pas du tout ma prorité vu la m.... qui passent sur les chaines tv) sur certains oui pour d'autres non aprés un coup d'oeil rapide ( ex: tf1 8634 url de 10 seconde donc 24h a enregistrer sur le disque dur donc gros plantage si soucis d'espace disque) après ça reste possible avec des modifs...
je teste l'hoster avant de l'activer compatible ou pas et modif si nécessaire , ne rajoute pas un élément context en plus ( télécharger et dl & visualiser sont désactivé pour les m3u8) de base ou par moi.
En bypassant dans download.py, tu peux bypasser avant la barre de progression ou le dialog explorer. Sinon sauvegarde dans fichier temporaire du systeme, mais faudra faire gaffe a ce que ca soit automatiquement supprime, apres pour ceux qui ont un disque ssd, je pense qu'ils voudront mettre le tampon sur un disque externe, mettre ca dans la config de Vstream ?
bonjour, donc pour éviter les coupures avec les m3u8 qui me les brises :) genre ne_tu a certaines heures. j'ai commencé ce code la . (en test) A la base j'étais partis sur du dl pure ensuite j'ai changer de directions plusieurs fois pour finalement trouver la meilleur solutions pour moi crée un fichier m3u8 avec des fichiers locaux (kodi le permet) Dl et play en meme temps avec threading et urllib3 qui normalement est installé par request vu qu'il l'utilise. pour l'instant ne_tu tu_ne il y en aura d'autre que je n'ai pas encore testé
edit: la classe est annoté , peu de modifs dans les autres fichiers. prise en charge dans default,menu context, petite modif host