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.

#1976 Le 25/06/2012, à 15:32

icaunais

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

Merci, il donne la réponse dans son premier post

make SYS=posix XLIBS="-lm"

Hors ligne

#1977 Le 29/06/2012, à 00:19

k3c

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

Voici un script pour tou.tv

Il reste plein de choses à améliorer, comme enlever le proxy en dur, en prendre un autre dans une liste de proxys si il ne marche pas...

Mais ça marche

Comme toujours, ça s'utilise python toutv.py url, par exemple

python toutv.py http://www.tou.tv/beautes-desesperees/S08E15

qui génère une commande du type

rtmpdump --host medias-flash.tou.tv --app ondemand/?auth=daEdmacaubDcHbmbrcPa7aNdUc6cnd5bkdg-bp7jCT-cOW-4qpyukLqABx&aifp=v0001&slist=001/MP4/b/2012-06-26_20_00_00_beautes_0172_1200;001/MP4/b/2012-06-26_20_00_00_beautes_0172_500;001/MP4/b/2012-06-26_20_00_00_beautes_0172_800 --playpath mp4:001/MP4/b/2012-06-26_20_00_00_beautes_0172_1200.mp4 -e -k 1 --flv S08E15.mp4

Assez parlé, le code

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# TOU.TV version 0.1 par k3c
import subprocess, optparse, re, sys, os, shlex
import socket, random
from urllib2 import ProxyHandler, Request, urlopen, URLError, HTTPError
import bs4 as BeautifulSoup
from lxml import objectify
from lxml import etree
import urllib2
timeout = 900
listeUserAgents = [ 'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_5_5; fr-fr) AppleWebKit/525.18 (KHTML, like Gecko) Version/3.1.2 Safari/525.20.1',
                                                'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.835.186 Safari/535.1',
                                                'Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US) AppleWebKit/525.13 (KHTML, like Gecko) Chrome/0.2.149.27 Safari/525.13'
,
                                                'Mozilla/5.0 (X11; U; Linux x86_64; en-us) AppleWebKit/528.5+ (KHTML, like Gecko, Safari/528.5+) midori',
                                                'Mozilla/5.0 (Windows NT 6.0) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/13.0.782.107 Safari/535.1',
                                                'Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/312.1 (KHTML, like Gecko) Safari/312',
                                                'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.12 Safari/535.11',
                                                'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.8 (KHTML, like Gecko) Chrome/17.0.940.0 Safari/535.8' ]

def main():
    # timeout en secondes
    socket.setdefaulttimeout(timeout)
    usage   = "usage: python toutv   [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)
    elems = [elem for elem in soup.find('div',{'class':'emissionEpisode_containerPlayer'})]
# renvoie un truc du genre
#[u'\n', <script src='http://api.radio-canada.ca/cav/v1/toutv/?pji={"appCode":"thePlatform", "idMedia":"mF_Y_jxHfI_zPUVImkhAuT6oM84Ex_RD", "Params":{"width":952, "hei#g
ht":536, "autoPlay":false}}&amp;pje={"paramexterne1":"valeurexterne1"}' type="text/javascript"></script>, u'\n', <div id="commanditaireWwwDiv">
#<script type="text/javascript">
#                   RadioCanada.Pubs.Dart.WritePub('Banner952x60');
#               </script>
#</div>, u'\n']
    mastr = elems[1].attrs['src']
# renvoie un truc du genre 
#'http://api.radio-canada.ca/cav/v1/toutv/?pji={"appCode":"thePlatform", "idMedia":"mF_Y_jxHfI_zPUVImkhAuT6oM84Ex_RD", "Params":{"width":952, "height":536, "autoPlay"#:
false}}&pje={"paramexterne1":"valeurexterne1"}'
    m = re.search('"idMedia":"([A-Za-z0-9_]*)',mastr)
    if m:
#   le fait d'avoir ajouté ( et ) autour de A-Z..* fait que l'on a ce que l'on veut dans m.group(1)
       id = m.group(1)
# on va passer cet id en paramètre à release.theplatform.com, avec un  proxy canadien, sinon on ne récupère pas l'url de la video
# mais un message "you are not in a geographical..."
    head = random.choice( listeUserAgents )
    platform = 'http://release.theplatform.com/content.select?pid='
    proxy_support = urllib2.ProxyHandler({'http': 'http://209.172.34.132:3128/'})
    opener = urllib2.build_opener(proxy_support)
    urllib2.install_opener(opener)
    response = urllib2.urlopen(urllib2.Request(platform+id))
    newfile = response.read()
    root = objectify.fromstring(newfile)
# il y a 4 balises choice  url, 3 pour de la pub, qui commencent par http://ad.doubleclick et une pour l'adresse de la video, qui commence par rtmp://
    for x in root.findall('choice'):
        if x.url.text.startswith('rtmp'):
            rtmp = x.url.text
#            print rtmp
            break
#pas la peine de continuer quand on a trouvé
    info_video = rtmp
    host = info_video.split('rtmp://')[1].split('/')[0]
    start = rtmp.index('ondemand')
    end = rtmp.index('<break>')
    app = rtmp[start:end]
    st = rtmp.index('<break>')+len('<break>')
    en = len(rtmp)
    playpath = rtmp[st:en]
    cmds = "rtmpdump"+" --host "+host+" --app "+app+" --playpath "+playpath+" -e -k 1 --flv "+str(nom)+".mp4"
#    print "la commande vaut ", cmds
    arguments = shlex.split( cmds )
    process = subprocess.Popen( arguments, stdout = subprocess.PIPE).communicate()[0]
if __name__ == "__main__":
    main()

Dernière modification par k3c (Le 29/06/2012, à 00:24)


Archlinux sur Xiaomi Air 13

Hors ligne

#1978 Le 29/06/2012, à 12:03

manup31

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

Salut, après avoir installé sans encombre librtmp0_2.3-2 et rtmpdump_2.3-2 comme mentionné sur le wiki de TVDownloader, je suis la procédure sur mon lucid 64bits :

sudo add-apt-repository ppa:chaoswizard/tvdownloader && sudo apt-get update && sudo apt-get install -y tvdownloader

Ça commence bien par :

Executing: gpg --ignore-time-conflict --no-options --no-default-keyring --secret-keyring /etc/apt/secring.gpg --trustdb-name /etc/apt/trustdb.gpg --keyring /etc/apt/trusted.gpg --primary-keyring /etc/apt/trusted.gpg --keyserver keyserver.ubuntu.com --recv AC662FD01A1AC2BC90DEB6D5386400DFB4C4219E
gpg: requête de la clé B4C4219E du serveur hkp keyserver.ubuntu.com
gpg: clé B4C4219E: « Launchpad TVDownloader » n'a pas changé
gpg: Quantité totale traitée: 1
gpg:              inchangée: 1

Et ça finit par :

Impossible de trouver le paquet tvdownloader

Problème de packaging pour lucid 64bits ?
Merci.


manu'

Hors ligne

#1979 Le 29/06/2012, à 13:28

nerhom

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

k3c a écrit :

Voici un script pour tou.tv


Cool ^^
Pour pinailler et surtout pour que ça marche pour nous autres les beotiens :
-faut installer beautiful soup4  (apt-get install python-bs4)
-il y a quelques retours chariots sur les lignes a rallonge (40 et 47) a faire sauter qui se sont incrustés lors du copier-coller
apres ca devrait rouler (là j'ai du time out, je ferai la chasse au dahu...proxy canadien plus tard)

Dernière modification par nerhom (Le 29/06/2012, à 13:28)

Hors ligne

#1980 Le 29/06/2012, à 13:51

k3c

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

@ nerhom

Oui les retours chariots en trop, c'est les commentaires que je mets

La FAQ de TVO donnait des proxys, si tu veux essayer d'autres proxys Canada
https://sites.google.com/site/aidetvo/boproxys


Archlinux sur Xiaomi Air 13

Hors ligne

#1981 Le 29/06/2012, à 18:22

chaoswizard

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

comme mentionné sur le wiki de TVDownloader,

Manque de bol, la page du wiki Ubuntu n'est pas à jour ; il n'y a plus de version pour Lucid dans le PPA (Lucid date de 2 ans 1/2 quand même, il faut penser à faire des mises à jour de temps en temps...).

Il doit quand mettre être possible d'installer une version supérieur "à la main" en prenant le paquet ICI.


Ubuntu ==> Debian ==> Archlinux

Hors ligne

#1982 Le 30/06/2012, à 19:50

bibichouchou

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

salut tout le monde,
@k3c
merci pour le script tou.tv !
en fait, je l'ai re-traduit en bash car je n'arrivais pas à faire marcher le code python (la requête à travers le proxy n'aboutissait jamais alors qu'avec le même proxy + wget, ça allait). comme j'étais pressé, je n'ai pas pu pousser les tests + loin. et c'était plus rapide de le traduire en bash.

bon week end.

ps : je peux publier le code bash ici si ça intéresse qq un. mais il est très très basique.

Hors ligne

#1983 Le 30/06/2012, à 20:37

k3c

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

@ bibichouchou

Je serai curieux de voir ta version bash, vu que j'avais posté une version bash ici.

Au fait czed m'a demandé l'autorisation de faire une version Windows du script toutv.py, et j'ai évidemment dit oui.
http://neo-net.fr/forum/viewtopic.php?f … 190c01e370


Archlinux sur Xiaomi Air 13

Hors ligne

#1984 Le 30/06/2012, à 21:11

bibichouchou

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

voilà :

#!/bin/bash

url="$1"
proxy="$2"

wget -U 'Mozilla/5.0 (X11; U; Linux x86_64; en-us) AppleWebKit/528.5+ (KHTML, like Gecko, Safari/528.5+) midori' "$url" -O toutv.html 1>/dev/null 2>/dev/null

videoid=$(grep -ioE "idmedia\":\"[^\"]*\"" toutv.html |awk -F":" '{print $2}'|sed 's/"//g')
echo $videoid
export http_proxy="$proxy"; wget -U 'Mozilla/5.0 (X11; U; Linux x86_64; en-us) AppleWebKit/528.5+ (KHTML, like Gecko, Safari/528.5+) midori' "http://release.theplatform.com/content.select?pid=$videoid" -O toutv.html 1>/dev/null 2>/dev/null

host=$(grep -ioE "rtmp.*mp4" toutv.html |sed 's/\&amp;/\&/g'|awk -F"&lt;break&gt;" '{print $1}')
playpath=$(grep -ioE "rtmp.*mp4" toutv.html |sed 's/\&amp;/\&/g'|awk -F"&lt;break&gt;" '{print $2}')

rm toutv.html
echo "rtmpdump -r \"$host\" -y \"$playpath\" -o"

si on enregistre ça dans script.sh et qu'on rend le code exécutable, ça s'utilise comme ceci :

./script.sh "http://www.tou.tv/whitechapel-le-retour-de-jack-l-eventreur/S01E03" "proxy"

(avec l'adresse d'un proxy à la place de "proxy")

et on obtient :

rtmpdump -r "rtmp://medias-flash.tou.tv/ondemand/?auth=daEcna2dtdSbodccFd3a7diaIa5bUd0dmd_-bp7YPE-cOW-5qrBDmGpBDx&aifp=v0001&slist=004/MP4/w/2012-03-01_08_00_00_whitechapel_0003_1200;004/MP4/w/2012-03-01_08_00_00_whitechapel_0003_500;004/MP4/w/2012-03-01_08_00_00_whitechapel_0003_800" -y "mp4:004/MP4/w/2012-03-01_08_00_00_whitechapel_0003_1200.mp4" -o

Comme vous le voyez, je ne cherche pas à obtenir le titre du programme. La ligne de commande est incomplète, dans le sens où il faut ajouter manuellement le nom du fichier, après "-o" en fin de ligne. Ca me convient, donc voilà... smile smile

Dernière modification par bibichouchou (Le 30/06/2012, à 21:24)

Hors ligne

#1985 Le 30/06/2012, à 23:57

k3c

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

@ bibichouchou

A comparer avec
http://forum.ubuntu-fr.org/viewtopic.php?pid=8800611

Comme disent certains (surtout ceux qui aiment Perl)
TIMTOWTDI
(There Is More Than One Way To Do It)

Dernière modification par k3c (Le 01/07/2012, à 00:15)


Archlinux sur Xiaomi Air 13

Hors ligne

#1986 Le 01/07/2012, à 14:07

manup31

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

chaoswizard a écrit :

comme mentionné sur le wiki de TVDownloader,

Manque de bol, la page du wiki Ubuntu n'est pas à jour ; il n'y a plus de version pour Lucid dans le PPA (Lucid date de 2 ans 1/2 quand même, il faut penser à faire des mises à jour de temps en temps...).

Il doit quand mettre être possible d'installer une version supérieur "à la main" en prenant le paquet ICI.

OK, merci je vais voir ça avec la l'install manuelle.

Quant à l'age de lucid et les mises à jour "de temps en temps", je rappellerai juste que... "Portant le label LTS, elle est soutenue et mise à jour pendant une durée prolongée, soit trois ans (jusqu'en avril 2013) pour les postes de travail et cinq ans (jusqu'en avril 2015) pour les serveurs."
Tout le monde n'est pas "câblé" à mettre à jour sa distro dès le jour de release d'une nouvelle version ! smile
Surtout quand on a une utilisation pro ou mixte perso/pro de son PC, dans quel cas il est sage d'attendre un peu avant de switcher sur la nouvelle LTS...

Enfin, il me paraîtrait peut-être pas incontournable, mais bien dans l'ordre des choses de maintenir les versions de logiciels pour les versions LTS encore supportées, dès lors qu'on les a produit pour l'une d'elles à un moment ou un autre.

[EDIT] je me suis permis de mettre à jour le wiki pour la partie concernant lucid. smile

Dernière modification par manup31 (Le 01/07/2012, à 14:43)


manu'

Hors ligne

#1987 Le 01/07/2012, à 17:09

chaoswizard

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

Enfin, il me paraîtrait peut-être pas incontournable, mais bien dans l'ordre des choses de maintenir les versions de logiciels pour les versions LTS encore supportées, dès lors qu'on les a produit pour l'une d'elles à un moment ou un autre.

Garder une machine virtuelle avec toutes les anciennes versions de Ubuntu, faire des tests sur chaque version et faire les packages, je n'en ai tout simplement pas le temps.
Surtout qu'il n'existe pas que Ubuntu comme distribution GNU...

Dernière modification par chaoswizard (Le 01/07/2012, à 17:10)


Ubuntu ==> Debian ==> Archlinux

Hors ligne

#1988 Le 01/07/2012, à 19:07

manup31

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

chaoswizard a écrit :

Enfin, il me paraîtrait peut-être pas incontournable, mais bien dans l'ordre des choses de maintenir les versions de logiciels pour les versions LTS encore supportées, dès lors qu'on les a produit pour l'une d'elles à un moment ou un autre.

Garder une machine virtuelle avec toutes les anciennes versions de Ubuntu, faire des tests sur chaque version et faire les packages, je n'en ai tout simplement pas le temps.

J'imagine sans mal !...

Cependant, Il n'y a de version LTS que tous les 2 ans pour Ubuntu, ça nous en met au plus deux en même temps pour le poste de travail comme actuellement depuis la sortie de precise, et ça "sert" aussi toutes les dérivées d'Ubuntu (Mint, ...) qui auraient également des versions LTS.
J'avoue que je ne sais pas vraiment si d'autres distros sur poste de travail, non dérivées d'Ubuntu, proposent un LTS, et ce gratuitement.

Bref, merci pour ta réponse initiale, il est possible d'installer le soft sur une lucid, et le wiki est updaté.


manu'

Hors ligne

#1989 Le 03/07/2012, à 10:07

Babar21

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

Bonjour.

Problème avec pluzzdl ce matin. Je vous la fait courte :

[DEBUG   ]  Navigateur.py       Forbidden
[CRITICAL]  PluzzDL.py          Impossible de charger la vidéo
[INFO    ]  Historique.py       Historique sauvé

Sur http://www.pluzz.fr/strip-tease.html

Voilà,  rien pu en tirer de plus, j'espère qu'il y a une solution (merci d'avance dans ce cas).

Dernière modification par Babar21 (Le 03/07/2012, à 10:09)

Hors ligne

#1990 Le 03/07/2012, à 13:07

k3c

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

@ Babar21

Il doit y avoir un problème chez toi, car je télécharge bien avec Pluzzdl 0.8.5 sous Windows et avec Captvty  1.8.3.2, qui est sortie le 18 juin (et n'a donc pas une mise à jour récente)


Archlinux sur Xiaomi Air 13

Hors ligne

#1991 Le 03/07/2012, à 13:09

Babar21

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

Ah, merci pour l'info, j'ai juste le bon vieux Pluzzdl sous Ubuntu en ligne de commande, il y a eu une mise à jour non diffusée par le PPA ?

Hors ligne

#1992 Le 03/07/2012, à 13:20

k3c

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

c'est quoi ta version de pluzzdl ?


Archlinux sur Xiaomi Air 13

Hors ligne

#1993 Le 03/07/2012, à 13:21

Babar21

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

k3c a écrit :

c'est quoi ta version de pluzzdl ?

0.8.4

Hors ligne

#1994 Le 03/07/2012, à 13:46

k3c

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

Passe en 0.8.5 et refais un essai


Archlinux sur Xiaomi Air 13

Hors ligne

#1995 Le 03/07/2012, à 14:02

Babar21

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

Ben je veux bien, mais comment, je télécharge la version Windows pour la lancer avec Wine ? Ou je récupère les scripts à la main et j'écrase les anciens avec ?

Hors ligne

#1996 Le 03/07/2012, à 14:38

k3c

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

non tu restes sous Linux, c'est dispo

https://code.google.com/p/tvdownloader/wiki/pluzzdl

Edit : quoique, je me demande si les modifs pour la 0.8.5 ne sont pas juste dans le forum...

Dernière modification par k3c (Le 03/07/2012, à 14:40)


Archlinux sur Xiaomi Air 13

Hors ligne

#1997 Le 03/07/2012, à 14:49

Babar21

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

Ben, même en suivant la procédure, ça se termine comme ça :

Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances       
Lecture des informations d'état... Fait
pluzzdl est déjà la plus récente version disponible.
0 mis à jour, 0 nouvellement installés, 0 à enlever et 2 non mis à jour.

Et effectivement ma version n'a pas changé.

Hors ligne

#1998 Le 03/07/2012, à 17:20

Chacmool

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

@k3c Même problème pour moi que pour Babar21. Par ailleurs, je confirme qu'il n'y a pas de mise-à-jour disponible par le ppa pour l'instant, ni sur google code pour linux.

Ceci dit, je gage qu'il ne s'agit que d'une question de temps puisque la version 0.8.5 de pluzzdl existe pour Win***. Il faut être patients, il sera sans doute porté bientôt sous linux.

Dernière modification par Chacmool (Le 03/07/2012, à 17:21)


-Chacmool-

Hors ligne

#1999 Le 03/07/2012, à 17:24

Babar21

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

Chacmool a écrit :

@k3c Même problème pour moi que pour Babar21. Par ailleurs, je confirme qu'il n'y a pas de mise-à-jour disponible par le ppa pour l'instant, ni sur google code pour linux.

Ceci dit, je gage qu'il ne s'agit que d'une question de temps puisque la version 0.8.5 de pluzzdl existe pour Win***. Il faut être patients, il sera sans doute porté bientôt sous linux.

Ils ont juste oublié de faire le paquet approprié à mon avis, un comble pour un programme discuté sur un forum Ubuntu smile

C'est pas si grave non plus.

Hors ligne

#2000 Le 03/07/2012, à 18:32

chaoswizard

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

Je n'avais pas packagé la version 0.8.5 car cela était inutile.
Mais là, je vais le faire big_smile


Ubuntu ==> Debian ==> Archlinux

Hors ligne