Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1876 Le 03/06/2012, à 15:34

bibichouchou

Re : TVDownloader: télécharger les médias du net !

oui ça revient au même, mais je n'avais rien vu non plus. d'où mon pitit mot smile

Hors ligne

#1877 Le 03/06/2012, à 15:45

k3c

Re : TVDownloader: télécharger les médias du net !

Pour l'estimation du nombre de fragments, je vois dans Pluzzdl.py

    # Calcul l'estimation du nombre de fragments
                self.nbFragMax = round( ( self.duree * self.bitrate ) / 6040.0, 0 )

Edit : je voulais dire que c'était le seul endroit où je voyais ce calcul.

Dernière modification par k3c (Le 03/06/2012, à 16:03)


Archlinux sur Xiaomi Air 13

Hors ligne

#1878 Le 03/06/2012, à 15:48

chaoswizard

Re : TVDownloader: télécharger les médias du net !

Justement, l'estimation de bibichouchou est bien meilleur !


Ubuntu ==> Debian ==> Archlinux

Hors ligne

#1879 Le 03/06/2012, à 18:35

bibichouchou

Re : TVDownloader: télécharger les médias du net !

@ k3c
as-tu testé ta ligne de commande pour lcp ? est-ce que c'est mieux ou pas ?

ps : j'ai pas pu encore la tester wink

Hors ligne

#1880 Le 03/06/2012, à 19:02

k3c

Re : TVDownloader: télécharger les médias du net !

@ bibichouchou

Oui, ça a l'air bon, je refais des tests pour contrôle.


Archlinux sur Xiaomi Air 13

Hors ligne

#1881 Le 03/06/2012, à 21:02

bigktheone

Re : TVDownloader: télécharger les médias du net !

Bonjour.

Je trouve votre travail formidable !
Je me suis amusé à traduire le script pluzzdl en java et je vous présente la version 0.8.5 qui est disponible ici
Le code source est disponible dans le dépôt svn. Soyez indulgents, je viens de me remettre à la prog après 3 ans d'arrêt.
n'hésitez pas à me transmettre vos commentaires !

Edit : Ce programme ouvre la possibilité de faire un jpluzzdl pour android. A suivre...

Dernière modification par bigktheone (Le 03/06/2012, à 22:23)


JPluzzDL : le programme open source écrit en java pour télécharger les émissions de pluzz : ici

Hors ligne

#1882 Le 03/06/2012, à 22:03

chaoswizard

Re : TVDownloader: télécharger les médias du net !

Bah, j'ai parcouru rapidement le code, ça me semble pas mal.
Juste quelque remarques :
- création du fichier "flash.txt" (pas possible sans ou plutôt mettre ça dans un répertoire temporaire (le répertoire n'est peut être pas accessible en écriture))
- chemins en durs "/bigk/pluzzdl/ressources/jpluzzdl.cfg"
Puis après, si ça marche, c'est niquel !


Ubuntu ==> Debian ==> Archlinux

Hors ligne

#1883 Le 03/06/2012, à 22:17

bigktheone

Re : TVDownloader: télécharger les médias du net !

Merci pour ces retours !

chaoswizard a écrit :

- création du fichier "flash.txt" (pas possible sans ou plutôt mettre ça dans un répertoire temporaire (le répertoire n'est peut être pas accessible en écriture))

Oups ! ce fichier me servait pendant la phase de tests, mais il ne sert plus à rien. J'ai supprimé son stockage.

chaoswizard a écrit :

- chemins en durs "/bigk/pluzzdl/ressources/jpluzzdl.cfg"

Alors en fait il s'agit d'un chemin relatif au sein du jar vers le fichier de config par défaut. C'est vrai que ça ressemble à un lien absolu mais il n'en est rien smile


JPluzzDL : le programme open source écrit en java pour télécharger les émissions de pluzz : ici

Hors ligne

#1884 Le 03/06/2012, à 23:03

chaoswizard

Re : TVDownloader: télécharger les médias du net !

Ben c'est bon alors. (vu le peu de java que j'ai fait...)

Sinon, quitte à programmer, tu ne voudrais pas aider ?


Ubuntu ==> Debian ==> Archlinux

Hors ligne

#1885 Le 03/06/2012, à 23:10

bigktheone

Re : TVDownloader: télécharger les médias du net !

Ce serait avec plaisir ! Par contre j'ai peu de connaissances de python. J'ai bien lu le tuto du siteduzero avant de me lancer dans mon adaptation de pluzzdl, mais c'est tout.

Je ne sais pas non plus comment vous faites pour trouver les algos utilisés par les sites de catchup tv, mais je suis dispo et motivé pour apprendre !!!


JPluzzDL : le programme open source écrit en java pour télécharger les émissions de pluzz : ici

Hors ligne

#1886 Le 04/06/2012, à 07:29

k3c

Re : TVDownloader: télécharger les médias du net !

@ bigktheone

Si ce programme ouvre la possibilité de faire une version Android, c'est très intéressant.

>>>Je ne sais pas non plus comment vous faites pour trouver les algos utilisés par les sites de catchup tv, mais je suis dispo et motivé pour apprendre !!!

Tout simplement, un coup de wireshark,
ngrep
ngrep -d eth0 -lqi -p -W none ^get\|^post tcp dst port 80
(remplacer si besoin eth0 par ta carte, wlan0 ra1...)
ou privoxy
(tu l'installes, puis
tail -f /var/log/privoxy/logfile
pendant que tu accèdes le site en question
(si tu recherches tvdownloader avec l'un de ces termes, tu trouveras)
Edit : Sinon ce post est intéressant pour trouver ce genre de choses
http://wiki.gromez.fr/dev/api/allocine# … _movielist

Si tu veux te mettre à Python, il y a plein de livres libres et gratuits, regarde cette discussion
http://forum.ubuntu-fr.org/viewtopic.php?id=352537

Dernière modification par k3c (Le 04/06/2012, à 07:46)


Archlinux sur Xiaomi Air 13

Hors ligne

#1887 Le 04/06/2012, à 08:33

pguimier

Re : TVDownloader: télécharger les médias du net !

bibichouchou a écrit :

salut,

voilà pour public sénat

#!/bin/bash
url="$1"
video_url=$(wget -U Mozilla "$url" -O - 2>/dev/null|grep "flvEmissionSelect"|grep -oE "http://[^>]*\.flv")
wget -U Mozilla -c "${video_url}"

ps : à titre didactique, je suis curieux de savoir ce que cela donne en python, en particulier la partie avec grep. je connais le module "re" pour les recherches avec expressions régulières. mais j'ai l'impression qu'il faut faire une boucle sur toutes les lignes et faire la recherche avec "re" pour trouver la chaîne de caractères qui nous intéresse.

EDIT : code à mettre dans un fichier exécutable ps.sh par exemple et à utiliser comme ceci :

./ps.sh "http://www.publicsenat.fr/vod/un-monde-de-bulles/un-monde-de-bulles-et-d-aventures/alain-ayrolles,olivier-grenson,romain-hugault/71486"

J'avais une commande uniquement avec rtmpdump pour lcp/an :

rtmpdump -r rtmp://stream2.lcp.yacast.net/lcp/ -y mp4:questions-dinfo/134184.1.mp4 -W "http://http5.lcp.yacast.net/lcp/player/flash/player.swf" -o "LCP 20120418 Questions d’info.mp4"

si ça peut aider smile

Hors ligne

#1888 Le 04/06/2012, à 08:53

k3c

Re : TVDownloader: télécharger les médias du net !

@ pguimier

intéressant, suite aux remarques de bibichouchou, voici une nouvelle version du script Python pour La Chaine Parlementaire

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# la chaine parlementaire version 0.2 par k3c, suite aux remarques de bibichouchou
# modifs 1) ajout de --live (sinon vidéo illisible) 2) récupération du player (utile finalement) 
import subprocess, optparse, re, sys, os, shlex
import socket
from urllib2 import Request, urlopen, URLError, HTTPError
import bs4 as BeautifulSoup
timeout = 10
def main():
    # timeout en secondes
    socket.setdefaulttimeout(timeout)
    usage   = "usage: python lcp     [options] <url de l'emission>"
    parser  = optparse.OptionParser( usage = usage )
    parser.add_option( "--nocolor",         action = 'store_true', default = False, help = 'desactive la couleur dans le terminal' )
    parser.add_option( "-v", "--verbose",   action = "store_true", default = False, help = 'affiche les informations de debugage' )
    ( options, args ) = parser.parse_args()
    if( len( args ) != 1 or args[ 0 ] == "" ):
        parser.print_help()
        parser.exit( 1 )
    the_url = sys.argv[1] 
    html = urlopen(sys.argv[1]).read()
    nom = sys.argv[1].split('/')[-1:][0]
    soup = BeautifulSoup.BeautifulSoup(html)
    player = soup.find('param', {'name': 'movie'})['value']
    info_video = soup.find('param', attrs={'name' : 'flashvars' })['value']
    host = info_video.split('rtmp://')[1].split('/')[0]
    app = info_video.split('rtmp://')[1].split('/')[1]
    s2 = host+"/"+app+"/"
    playpath = info_video.split(s2)[1].split('/mp4')[0]
    playpath = playpath[:-4]
    cmds = "rtmpdump"+" --resume  --live 0 --host "+host+" --swfVfy "+ player+" --swfAge 0 -v --app "+app+" --playpath "+playpath+" -e -k 1 --flv "+str(nom)+".mp4"
    arguments = shlex.split( cmds )
    process = subprocess.Popen( arguments, stdout = subprocess.PIPE).communicate()[0]
if __name__ == "__main__":
    main()

Archlinux sur Xiaomi Air 13

Hors ligne

#1889 Le 04/06/2012, à 14:03

k3c

Re : TVDownloader: télécharger les médias du net !

@ chaoswizard

Même si tu n'as pas fini, est-il possible de voir ton code ? Il n'a pas l'air d'être sur le dépôt.


Archlinux sur Xiaomi Air 13

Hors ligne

#1890 Le 04/06/2012, à 18:06

chaoswizard

Re : TVDownloader: télécharger les médias du net !

Oui, je push/continue ça ce soir.

Ce serait avec plaisir !

Alors envoie moi un message et on voit par mail s'il y a quelque chose qui peut t’intéresser (à coder).

Dernière modification par chaoswizard (Le 04/06/2012, à 22:16)


Ubuntu ==> Debian ==> Archlinux

Hors ligne

#1891 Le 04/06/2012, à 22:09

chaoswizard

Re : TVDownloader: télécharger les médias du net !

Bon, il y a une grosse partie des deux plugins de faite (encore des horreurs dans les noms d’émissions de LCP mais bon...).
Au passage, je rappelle ce que je disais il y a longtemps : je n'ai pas le temps pour écrire les plugins et m'occuper du logiciel (qui en a bien besoin...).


Ubuntu ==> Debian ==> Archlinux

Hors ligne

#1892 Le 04/06/2012, à 23:44

k3c

Re : TVDownloader: télécharger les médias du net !

@ chaoswizard

Merci !


Archlinux sur Xiaomi Air 13

Hors ligne

#1893 Le 05/06/2012, à 00:23

k3c

Re : TVDownloader: télécharger les médias du net !

Un ami m'a demandé un plugin pour NRJ, car il trouvait une série intéressante (The Listener).

J'ai fait un petit script, je vais essayer de faire la partie "liste des émissions" cette fois :-)
Edit: c'est à
http://www.nrj12.fr/nrj12-replay-3276/n … tionvideo/
mais sur 2 pages actuellement
Attention, très peu testé, utilise une astuce absolument pas fiable (je vais chercher l'identifiant qui a l'air de tout définir dans une balise à priori sans intérêt), à utiliser sans garantie aucune

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# nrj version 0.1 par k3c
import subprocess, optparse, re, sys, os, shlex
import socket
from urllib2 import Request, urlopen, URLError, HTTPError
timeout = 10
def main():
    # timeout en secondes
    socket.setdefaulttimeout(timeout)
    usage   = "usage: python nrj     [options] <url de l'emission>"
    parser  = optparse.OptionParser( usage = usage )
    parser.add_option( "--nocolor",         action = 'store_true', default = False, help = 'desactive la couleur dans le terminal' )
    parser.add_option( "-v", "--verbose",   action = "store_true", default = False, help = 'affiche les informations de debugage' )
    ( options, args ) = parser.parse_args()
    if( len( args ) != 1 or args[ 0 ] == "" ):
        parser.print_help()
        parser.exit( 1 )
    the_url = sys.argv[1] 
    html = urlopen(sys.argv[1]).read()
    nom1 = sys.argv[1].split('/')[-1:][0]
    nom = nom1[:-5]
    m = re.compile('http://(.*?)-minipicto*').search(html)
    a = m.group(0)
    id = str(a).split('/')[-1].split('/')[0][:8]
    cmds = "msdl -c --no-proxy http://r.nrj.fr/mogador/web/"+id+"_h264_12.mp4 -s 5 -o "+nom+".mp4"
    arguments = shlex.split( cmds )
    process = subprocess.Popen( arguments, stdout = subprocess.PIPE).communicate()[0]
if __name__ == "__main__":
    main()

Dernière modification par k3c (Le 05/06/2012, à 10:55)


Archlinux sur Xiaomi Air 13

Hors ligne

#1894 Le 05/06/2012, à 05:48

k3c

Re : TVDownloader: télécharger les médias du net !

@ chaoswizard

Quelques retours sur LCP

- problèmes d'accents dans les libellés, exemple, dans la catégorie "journal des législatives 2012"

Zone test&nbsp;:Issy-les-Moulineaux

- nom du fichier contient 2 fois les chiffres, et a récupéré des infos de téléchargement, voici une commande

rtmpdump -r rtmpdump --resume --live 0 --host stream2.lcp.yacast.net --swfVfy http://http5.lcp.yacast.net/lcp/player/flash/player.swf --swfAge 0 -v --app lcp --playpath mp4:en-vrac/136193 -e -k 1 --flv 136193-zone-test-issy-les-moulineaux.mp4 -o /home/gg/TVDownloader/136193ek1flv136193zonetestissylesmoulineaux.mp4

donc le nom du fichier est
136193ek1flv136193zonetestissylesmoulineaux.mp4
en fait
zonetestissylesmoulineaux.mp4
serait mieux

Edit2 :  autre exemple
la commande envoyée est

rtmpdump --resume  --live 0 --host  stream2.lcp.yacast.net --swfVfy http://http5.lcp.yacast.net/lcp/player/flash/player.swf --swfAge 0 -v --app lcp --playpath mp4:en-vrac/4880_GlobalFoot_COTEDIVOIRE_lcp -e -k 1 --flv  cote-d-ivoire.mp4

et j'ai un fichier dans TVDownloader
4880GlobalFootCOTEDIVOIRElcpek1flvcotedivoire.mp4

donc on voit bien qu'il y a concaténation :-(

En tout cas, ça télécharge, bravo pour un premier jet !

Edit : un petit
import re, puis
                                      nom1 = nom.strip(re.match('[0-9]*-*',nom).group(0))
et utiliser nom1
enlève les chiffres et le tiret au début du nom (strip doit éviter l'utilisation du module re, mais je manque d'idée)
mais la commande rtmpdump continue à ignorer les paramètres
-e -k 1 --flv
juste avant le nom du fichier


Edit : un bref retour sur Public Sénat, on récupère bien la liste des émissions, mais sur "patientez pendant la mise à jour de la liste des émissions"
la console indique

 File "plugins/PublicSenat.py", line 49, in listerFichiers
    pageFichiers = BeautifulSoup.BeautifulSoup( self.API.getPage( "http://www.publicsenat.fr/zp/templates/emission/JX_video.php", { "idP" : self.listeEmissions[ emission ], "page" : 1 } ) )
TypeError: getPage() takes exactly 2 arguments (3 given)

Dernière modification par k3c (Le 05/06/2012, à 09:38)


Archlinux sur Xiaomi Air 13

Hors ligne

#1895 Le 05/06/2012, à 13:12

bigktheone

Re : TVDownloader: télécharger les médias du net !

k3c a écrit :

@ bigktheone

Si ce programme ouvre la possibilité de faire une version Android, c'est très intéressant.

Et bien je suis en mesure, messieurs, de vous l'annoncer : C EST FAIT !!!
Après un peu de code, un out of memory et beaucoup de prise de tête à cause de l'encodage par défaut des caractères (différents sur android), j'ai pu faire fonctionner JPluzzDL sous android !

Il me reste à créer une jolie interface et je pourrai sortir APluzzDL, la version android de notre cher PluzzDL. smile


JPluzzDL : le programme open source écrit en java pour télécharger les émissions de pluzz : ici

Hors ligne

#1896 Le 05/06/2012, à 18:07

chaoswizard

Re : TVDownloader: télécharger les médias du net !

@k3c : oui, il faut récupérer d'autres fichiers de TVD qui ont été mis à jour (Navigateur et API il me semble).


Ubuntu ==> Debian ==> Archlinux

Hors ligne

#1897 Le 05/06/2012, à 20:46

chaoswizard

Re : TVDownloader: télécharger les médias du net !

Je viens de mettre à jour le plugin LCP (il est tout beau tout propre maintenant !).


Ubuntu ==> Debian ==> Archlinux

Hors ligne

#1898 Le 05/06/2012, à 21:43

k3c

Re : TVDownloader: télécharger les médias du net !

@ chaoswizard

Essai avec ton plugin LCP tout neuf
Ca télécharge bien, par contre il y a toujours un problème d'affichage du nom des émissions, nom qui est repris tel quel pour télécharger le fichier
Voici le nom du fichier en cours de téléchargement

JOURNALDESLEGISLATIVES2012Apermilmissiondumardi5juin2012.mp4

si on remplace Apermil par un E avec accent, c'est tout bon
Bravo en tout cas


@ bigktheone

J'attends de pouvoir tester sur Android !
Il faudra pas soit convertir les fichiers téléchargés, soit avoir un soft pour lire les .flv sous Android ?


Archlinux sur Xiaomi Air 13

Hors ligne

#1899 Le 05/06/2012, à 22:01

chaoswizard

Re : TVDownloader: télécharger les médias du net !

k3c a écrit :
JOURNALDESLEGISLATIVES2012Apermilmissiondumardi5juin2012.mp4

si on remplace Apermil par un E avec accent, c'est tout bon

Rien compris...

Dernière modification par chaoswizard (Le 05/06/2012, à 22:02)


Ubuntu ==> Debian ==> Archlinux

Hors ligne

#1900 Le 05/06/2012, à 22:09

k3c

Re : TVDownloader: télécharger les médias du net !

Le vrai nom devrait être
JOURNALDESLEGISLATIVES2012émissiondumardi5juin2012.mp4


Archlinux sur Xiaomi Air 13

Hors ligne