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.

#2351 Le 08/11/2012, à 23:58

bibichouchou

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

salut,
@11gjm
je ne comprends pas trop ce que tu comptes faire du plugin xbmc pour m6. je peux me tromper mais je ne pense pas qu'il soit utilisable tel quel tout seul. si tu veux t'en servir, il faut le faire depuis xbmc (c'est cela qu'il faut installer). ou alors le bricoler pour qu'il devienne autonome. Que les autres me corrigent si je dis des bêtises.

puisque tu es sous windows (si j'ai bien suivi tes messages), tu pourrais peut-être utiliser c*ptvty, ce qui serait plus simple que des bricolages de modules. Bon, après tu as sans doute de bonnes raisons que j'ignore... wink

a+

Hors ligne

#2352 Le 09/11/2012, à 00:44

11gjm

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

Bonjour ,

@bibichouchou : Merci de m'avoir répondu .

Le logiciel que tu cites fonctionne . Mais dans certains cas , non .
En effet , il ne reconnait que certains types d'adresses .

Sur neo-net.fr , une personne cherchait des videos de M6 .
C'est pour cela que je me posais la question .
Merci de m'avoir éclairé , que je faisais fausse route .

Cordialement .

Dernière modification par 11gjm (Le 09/11/2012, à 11:34)

Hors ligne

#2353 Le 09/11/2012, à 11:36

rimram31

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

Bonjour,

Je ne sais pas si c'est le bon endroit pour poster.

Souci avec pluzzdl depuis quelques temps, ça marchait il y a encore quelques semaines, avec une erreur 403 (puis une exception sur e.reason), toute dernière version de pluzzdl je précise. J'ai intégré récemment pluzzdl dans un plugin xbmc que j'ai renommé pluzzdl justement mais le souci se produit bien avec le code original.

J'ai eu beau essayer de changer les clefs en "forçant" a passer dans le code qui effectue l'opération, sans succès avec les nouvelles "clefs".

Hors ligne

#2354 Le 10/11/2012, à 16:21

11gjm

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

Bonjour à tous :

J'essaie de récupérer l' émission "Questions au gouvernement" du 06 Nov 2012 , diffusée à 14H55 .
----
"http://www.pluzz.fr/questions-au-gouver … 14h55.html"
"http://ftvodhdsecz-f.akamaihd.net/z/streaming-adaptatif/
2012/S45/J2/72172322-20121106-,398,632,934,k.mp4.csmil/manifest.f4m"
----

J'arrive à télécharger l' émission "Questions au gouvernement" du 07 Nov 2012 , diffusée à 14H55 , à
"http://info.francetelevisions.fr/video-info/index-fr.php?
id-video=rhozet_qag_20121107_173_07112012185718_F3"

---- mais , pas :

"http://www.pluzz.fr/questions-au-gouver … 14h55.html"
à l'aide PluzzDL_092 (beta , portable , pour Windows)

ou ,

http://ftvodhdsecz-f.akamaihd.net//z/streaming-adaptatif/2012/S45/J3/72172355-20121107-,398,632,934,k.mp4.csmil/manifest.f4m?hdnea=exp=1352549148~acl=%2fz%2fstreaming-adaptatif%2f2012%2fS45%2fJ3%2f72172355-20121107-*~hmac=d82b1cb8245fce2cdf768780188d1035d8c1eb5290a93f0d156940963853815d
Ce retour à la ligne , n'est juste là que pour faciliter la copie
de la ligne de code .

ne sachant pas comment intégrer le fichier "manifest.f4m" (???)
----

La vidéo du 06 nov , ne semble pas accessible (!!!) .
Mais pour arriver à obtenir , celle du 07 nov , ça  a été une galère (!!!) ,
pb de géolocalisation .

Si quelqu'un peut m'aider , ce serait sympa sachant que le 13 nov , on ne pourra plus la voir .

A+ .
Additif :

Fichier manifest "simple" :
"http://ftvodhdsecz-f.akamaihd.net/z/streaming-adaptatif/..."
Fichier manifest "avec clé" :
"http://ftvodhdsecz-f.akamaihd.net//z/streaming-adaptatif/..."

Mais parfois , "Géolocalisation" , on peut avoir :
"http://ftvodhdsecz-f.akamaihd.net/z/streaming-adaptatif_france-dom-tom/..."
"http://ftvodhdsecz-f.akamaihd.net//z/streaming-adaptatif_france-dom-tom/..."

Dernière modification par 11gjm (Le 10/11/2012, à 20:14)

Hors ligne

#2355 Le 10/11/2012, à 20:00

bibichouchou

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

salut,
@11gjm
ne te fatigue pas plus. la vidéo que tu cites n'est pas du tout dispo. je viens d'essayer sur pluzz.fr et rien ne démarre (je suis en France !).
tu as eu de la chande de trouver une version de la séance du 7 novembre en wmv big_smile

ciao

Hors ligne

#2356 Le 10/11/2012, à 20:35

11gjm

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

Bonjour ,

@bibichouchou : merci pour ta réponse .

Je vais envoyer un mail au médiateur (trice) de France3 et indiquer mon mécontentement .

Cordialement .

Hors ligne

#2357 Le 11/11/2012, à 11:40

thom83

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

Bonjour,

Depuis quelques jours, pluzzdl ne donne plus accès aux émissions. Exemple, une des commandes lancées après la première :

thom@thom-EL1200:~$ pluzzdl http://www.pluzz.fr/clemenceau.html
[INFO    ]  PluzzDL.py          Reprise du téléchargement de la vidéo au fragment 1
[INFO    ]  PluzzDL.py          Début du téléchargement des fragments
[INFO    ]  PluzzDL.py          Le hash du player semble invalide ; calcul du nouveau hash
[INFO    ]  PluzzDL.py          Un nouveau hash a été trouvé ; essayez de relancer l'application

C'est avec la version 0.9.3-0ubuntu1 et ubuntu 12.04. Dans Firefox, l'écran reste noir quand j'essaie de visioner une émission.

J'ai tenté avec la version 0.9.1-1 sous ubuntu lucid et l'erreur est (je me suis limité à la dernière ligne) :

AttributeError: 'HTTPError' object has no attribute 'reason'

En revanche, sous Lucid, je peux visionner dans firefox, c'est-à-dire en étant connecté sur le site.
Il y a donc encore eu un changement dans la transmission chez FranceTV.

Hors ligne

#2358 Le 11/11/2012, à 11:44

k3c

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

Ave

Une nouvelle version du plugin pour tou.tv
Modifs
on peut passer en deuxième paramètre un proxy, sous la forme 1.2.3.4:80 (de plus en plus de proxys sont HS)
l'extension du fichier devient .flv, comme une personne l'avait indiqué de manière pertinente sur neo-net

Exemple

python toutv06.py http://www.tou.tv/2046 209.97.203.64:3128
proxy utilisé 209.97.203.64:3128
RTMPDump v2.4
(c) 2010 Andrej Stepanchuk, Howard Chu, The Flvstreamer Team; license: GPL
WARNING: You haven't specified a protocol (--protocol) or rtmp url (-r), using default protocol RTMP
WARNING: You haven't specified a port (--port) or rtmp url (-r), using default port 1935
Connecting ...
INFO: Connected...
Resuming download at: 29221.308 kB / 178.178 sec (2.4%)
INFO: Metadata:
INFO:   duration              7397.39
INFO:   moovPosition          1225780129.00
INFO:   width                 852.00
INFO:   height                480.00
INFO:   videocodecid          avc1
INFO:   audiocodecid          mp4a
INFO:   avcprofile            77.00
INFO:   avclevel              31.00
INFO:   aacaot                2.00
INFO:   videoframerate        29.97
INFO:   audiosamplerate       44100.00
INFO:   audiochannels         2.00
INFO: trackinfo:
INFO:   length                221921700.00
INFO:   timescale             30000.00
INFO:   language              und
INFO: sampledescription:
INFO:   sampletype            avc1
INFO:   length                326222848.00
INFO:   timescale             44100.00
INFO:   language              und
INFO: sampledescription:
INFO:   sampletype            mp4a
WARNING: Stream does not start with requested frame, ignoring data... 
WARNING: Stream does not start with requested frame, ignoring data... 
46057.033 kB / 282.31 sec (3.8%)^C

Le code

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# TOU.TV version 0.6 par k3c
# passage de proxy en 2 ème parametre
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 get_proxy():
    opener = urllib2.build_opener()
    opener.addheaders = [('User-agent', random.choice(listeUserAgents))]
    data = opener.open('http://www.xroxy.com/proxy-country-CA.htm').read()
    opener.close()
    s = BeautifulSoup.BeautifulSoup(data)
    hrefs = s.find_all(attrs={'href' : re.compile("host=\d")})
    href = random.choice(hrefs)
    mastr =  href.attrs['href']
    m = re.search('host=(([0-9\.])+)?.*port=(([0-9\.])+)?',str(mastr))
    port = m.group(3)
    host = m.group(1)
    return host, port

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 ) == 0 or args[ 0 ] == "" ):
        parser.print_help()
        parser.exit( 1 )
    the_url = sys.argv[1] 
    html = urlopen(sys.argv[1]).read()
    nom = sys.argv[1][18:].replace('/', '_')
    soup = BeautifulSoup.BeautifulSoup(html)
    elems = [elem for elem in soup.find('div',{'class':'emissionEpisode_containerPlayer'})]
    mastr = elems[1].attrs['src']
    m = re.search('"idMedia":"([A-Za-z0-9_]*)',mastr)
    if m:
       id = m.group(1)
    head = random.choice( listeUserAgents )
    platform = 'http://release.theplatform.com/content.select?pid='
    response = urllib2.urlopen(urllib2.Request(platform+id))
    newfile = response.read()
    if len(sys.argv) > 2:
	host, port = sys.argv[2].split(":")[0], sys.argv[2].split(":")[1]
    else:
	host, port = "69.46.99.186", "80"
    if "You are not in a geographic region that has access to this content." in newfile:
        while (True):
            try:
                print 'proxy utilisé %s:%s' % (host, port)
                proxy_support = urllib2.ProxyHandler({'http': 'http://%s:%s/' % (host, port)})
                opener = urllib2.build_opener(proxy_support)
                urllib2.install_opener(opener)
                response = urllib2.urlopen(urllib2.Request(platform+id))
                newfile = response.read()
                response.close()
                break
            except KeyboardInterrupt:
                sys.exit()
            except:
                host, port = get_proxy()
    root = objectify.fromstring(newfile)
    rtmp = None
    for x in root.findall('choice'):
        if x.url.text.startswith('rtmp'):
            rtmp = x.url.text
            break
    if rtmp is None:
        print "aucun proxy valide"
        sys.exit(1)
    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)+".flv"
    arguments = shlex.split( cmds )
    process = subprocess.Popen( arguments, stdout = subprocess.PIPE).communicate()[0]
if __name__ == "__main__":
    main()

Archlinux sur Xiaomi Air 13

Hors ligne

#2359 Le 12/11/2012, à 11:03

rimram31

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

thom83 a écrit :

...Depuis quelques jours, pluzzdl ne donne plus accès aux émissions...

Même souci, j'ai l'erreur "e.reason", en fait une 403 Forbidden et, malgré la mise a jour du player_hash, même résultat. Il semble bien que quelque chose a changé, de ce que je comprends dans ce thread, un peu une habitude de pluzz de contre carrer une lecture directe des vidéos.

Coté "comportement", une lecture sous chrome ou ie fait passer par la pub, avec firefox, accès direct à la vidéo, visiblement un souci avec firefox du coté de pluzz.

Dernière modification par rimram31 (Le 12/11/2012, à 11:10)

Hors ligne

#2360 Le 12/11/2012, à 14:21

grandtoubab

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

thom83 a écrit :

Bonjour,

Depuis quelques jours, pluzzdl ne donne plus accès aux émissions. Exemple, une des commandes lancées après la première :

thom@thom-EL1200:~$ pluzzdl http://www.pluzz.fr/clemenceau.html
[INFO    ]  PluzzDL.py          Reprise du téléchargement de la vidéo au fragment 1
[INFO    ]  PluzzDL.py          Début du téléchargement des fragments
[INFO    ]  PluzzDL.py          Le hash du player semble invalide ; calcul du nouveau hash
[INFO    ]  PluzzDL.py          Un nouveau hash a été trouvé ; essayez de relancer l'application

C'est avec la version 0.9.3-0ubuntu1 et ubuntu 12.04. Dans Firefox, l'écran reste noir quand j'essaie de visioner une émission.

J'ai tenté avec la version 0.9.1-1 sous ubuntu lucid et l'erreur est (je me suis limité à la dernière ligne) :

AttributeError: 'HTTPError' object has no attribute 'reason'

En revanche, sous Lucid, je peux visionner dans firefox, c'est-à-dire en étant connecté sur le site.
Il y a donc encore eu un changement dans la transmission chez FranceTV.

Salut,
En récupérant le lien mms on peut télécharger certaines émissions
http://forum.ubuntu-fr.org/viewtopic.ph … #p11428601


Linux tout seul sur HP Pavilion DV7 et Acer Aspire T650, Canon MG3650 en wifi
Debian 11 Bullseye Gnome/Xorg, Gnome/Wayland avec SDDM
https://bidouilledebian.wordpress.com/
ON M'A VU DANS LE VERCORS, SAUTER A L'ELASTIQUE..... J'AI DANS LES BOTTES DES MONTAGNES DE QUESTIONS....

Hors ligne

#2361 Le 12/11/2012, à 14:38

mydjey

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

@ grandtoubab c'est ce que j'ai fais grâce à ton post l'autre jour, ça a marché, mais le fichier téléchargé a donné une image de très mauvaise qualité (beaucoup moins bonne que le streaming du site), bizarre.

Hors ligne

#2362 Le 12/11/2012, à 16:57

ynad

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

Bonsoir tous,

effectivement plus possible de dl pluzz sad

Hors ligne

#2363 Le 13/11/2012, à 16:23

11gjm

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

Bonjour ,

@bibichouchou :

---
Questions au gouvernement du 6 nov
---

J'ai donc envoyé , le 11 nov , un e-mail à la médiatrice de France3 .
Elle vient de me répondre , ce jour .
C'est rapide , et j'ai eu une réponse (!!!) .

> "Il faut se rendre sur le site "LCP" pour voir la vidéo" .

Ce qui est déstabilisant dans cette affaire ;
c'est que l'émission a été diffusée sur France3 ,
avec ensuite possibilité de la visionner sur Pluzz ,
( ce qui ne l'était pas en réalité ) .
Et , que au final elle est accessible sur "LCP" .

Cordialement .

Hors ligne

#2364 Le 13/11/2012, à 21:50

k3c

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

Un script commun pour TF1, TMC et NT1, pas testé à fond, il est possible que certaines vidéos ne soient pas téléchargées.

# -*- coding:utf-8 -*-
# TF1 version 0.3 par k3c, correction de 11gjm
import subprocess, optparse, re, sys, shlex
import socket
from urllib2 import urlopen
import time, md5, random, urllib2
import bs4 as BeautifulSoup
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.',
                                                '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 get_wat(id):
    def base36encode(number):
        if not isinstance(number, (int, long)):
            raise TypeError('number must be an integer')
        if number < 0:
            raise ValueError('number must be positive')
        alphabet = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'
        base36 = ''
        while number:
            number, i = divmod(number, 36)
            base36 = alphabet[i] + base36
        return base36 or alphabet[0]
    ts = base36encode(int(time.time()))
    timesec = hex(int(ts, 36))[2:]
    while(len(timesec)<8):
        timesec = "0"+timesec
    token = md5.new("9b673b13fa4682ed14c3cfa5af5310274b514c4133e9b3a81e6e3aba00912564/web/"+str(id)+""+timesec).hexdigest()
    id_url1 = "http://www.wat.tv/get/web/"+str(id)+"?token="+token+"/"+timesec+"&getURL=1&country=FR"
    return id_url1

def main():
    # timeout en secondes
    socket.setdefaulttimeout(90)
    usage   = "usage: python tmc_tf1.py     [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 ) > 2 or args[ 0 ] == "" ):
        parser.print_help()
        parser.exit( 1 )
    debut_id = ''
    html = urlopen(sys.argv[1]).read()
    nom = sys.argv[1].split('/')[-1:][0]
    no = nom.split('.')[-2:][0]
    soup = BeautifulSoup.BeautifulSoup(html)
    if 'tmc.tv' in str(soup) or 'tf1.fr' in str(soup):
        debut_id = str(soup.find('div', attrs={'class' : 'unique' }))
    if 'nt1.tv' in str(soup):
        debut_id = str(soup.find('section', attrs={'class' : 'player-unique' }))
    id = [x.strip() for x in re.findall("mediaId :([^,]*)", debut_id)][0]
    id_url1 = get_wat(id)
    opener = urllib2.build_opener()
    opener.addheaders = [('User-agent', random.choice(listeUserAgents))]
    data = opener.open(id_url1).read()
    opener.close()
    if data[0:4] == 'http':
        ua = random.choice(listeUserAgents)
        arguments = 'curl "%s" -L -g -A "%s" -o "%s.mp4"' % (data, ua, no)
        print arguments
        process = subprocess.Popen(arguments, stdout=subprocess.PIPE, shell=True).communicate()[0]
    if data[0:4] == 'rtmp':
        host = re.search('rtmpte://(.*)/ondemand', data).group(1)
        host = host.replace('rtmpte', 'rtmpe')
        data0 = re.search('rtmpte://(.*)h264', data).group(0)
        cmds = 'rtmpdump -r "%s" -c 1935 -m 10 -w 40ee2a765514facfc6b1eb2745d22cdbdfaaf7f1488b17600c1a22dd3074735d -x 339543 -o "%s.mp4" " --resume"' % (data0, str(no)
)
        f = open(str(no), 'w')
        f.write(cmds)
        f.close()
        arguments = shlex.split( cmds )
        print arguments
        cpt = 0 
        while True:
            p = subprocess.Popen( arguments,
                stdout=subprocess.PIPE, stderr=subprocess.PIPE)
            stdout, stderr = p.communicate()
            if p.returncode != 0:
                print "Erreur : le sous-process s\'est terminé avec (le code d\'erreur est " + str(p.returncode) + ")"
                if cpt > 5:
                    break
                cpt += 1
                time.sleep(3) 
            else:
                break
if __name__ == "__main__":
    main()

Archlinux sur Xiaomi Air 13

Hors ligne

#2365 Le 14/11/2012, à 14:17

fakbill

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

ils ont encore changé le player?? sad
Je vais essayer de voir ce qui se passe avec ce hash mais si chaoswizard a une idee ce sera bcp plus rapide smile

Hors ligne

#2366 Le 14/11/2012, à 18:10

chaoswizard

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

Si j'avais une idée, ça serait déjà fait :
- les liens m3u8 sont rares et je ne sais pas si on peut encore les télécharger,
- la clef hmac, ça fait longtemps que l'on n'a plus la bonne (je ne pense pas que le problème vienne du hash du player flash),
- la méthode qui était dernièrement utilisée et qui consistait à mettre le player flash suivant comme referer (pour ne pas avoir à utiliser le processus avec la clef hmac) ne marche plus non plus :

http://fpdownload.adobe.com/strobe/FlashMediaPlayback_101.swf

J'ai bien essayé d'autres player flash comme referer mais sans succès...

Dernière modification par chaoswizard (Le 14/11/2012, à 18:11)


Ubuntu ==> Debian ==> Archlinux

Hors ligne

#2367 Le 14/11/2012, à 20:34

fakbill

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

On est cuit quoi... sad

Hors ligne

#2368 Le 15/11/2012, à 13:13

nerhom

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

suggestion completement au pifometre : ils n'auraient pas implémenté un systeme à la europa film treasures, avec un nouveau token généré à chaque acces à la vidéo ?
token a rajouter à l'adresse une fois qu'on a trouvé le module qui le genere, sinon rejet  cool

j'ai zero competence en code/commandes (a part ls / cd et sudo apt-get install  cool ) , mais en suivant la trace de la video sous chrome, je vois qu'on obtient l'adresse du f4m via le module getinfosoeuvre.php.
le probleme etant le "access denied" quand on veut se servir. C'est la nouveauté qui bloque ?

edit, et je comprends pas cette histoire de clé hmac inconnue, elle apparait en clair dans l'adresse tous les fragments , nan ? (je sens confusément que je dis une connerie de newbie mais qui ne tente rien ^^ )

Dernière modification par nerhom (Le 15/11/2012, à 14:05)

Hors ligne

#2369 Le 15/11/2012, à 15:24

rimram31

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

chaoswizard a écrit :

Si j'avais une idée, ça serait déjà fait ...

De ce que j'avais pu voir, les m3u8 retournent aussi un 403 ...
Apparemment pluzzdl n'utilise pas la même méthode que le player flash qui lui envoi pvtoken et hdntl en paramètres. Si on fait le test en ayant récupéré de bon tokens après une lecture "classique", il faut aussi mettre le même user agent que le navigateur qui a émis les tokens ...

Bref, reste la méthode bazooka qui consisterait a lancer un navigateur pour récuperer les tokens calculés par flash :-)

nerhom a écrit :

suggestion completement au pifometre : ils n'auraient pas implémenté un systeme à la europa film treasures, avec un nouveau token généré à chaque acces à la vidéo ?

Trouves une chaise et assied toi, les tokens générés dépendant de la vidéo, de clefs générés dynamiquement, de l'ip de la machine, d'un hash sur le binaire du player swf, apparemment donc maintenant du user agent et bien entendu d'une clef secrète (qui l'est bel et bien).

Hors ligne

#2370 Le 15/11/2012, à 15:54

nerhom

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

oui j'ai trouvé une chaise, tout va bien, et j'ai meme continué de creuser (chui en train de reinventer la roue là en decouvrant fdauth et tout le tintouin) ,
je suis surement pas doué mais je compense un tout petit peu en étant persistant (breton tete de *** ^^ ), qui sait, je servirais peut etre à quelque chose un jour smile

edit : y'aurait pas moyen de "mettre un platre" à pluzddl , genre en pouvant lui passer en parametre le baratin d'authentification derriere ces fragments qu'il ajouterait au bout du get blabla.frag1 (c'est ca le bazooka ? ) pour que ca passe. Si le reste n'a pas changé et qu'il peut toujours assembler les fragments...

Dernière modification par nerhom (Le 15/11/2012, à 18:07)

Hors ligne

#2371 Le 15/11/2012, à 22:16

rimram31

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

nerhom a écrit :

...edit : y'aurait pas moyen de "mettre un platre" à pluzddl , genre en pouvant lui passer en parametre le baratin d'authentification ...

"A la main", c'est possible, mais il te faut récupérer un token récent. Si tu utilises firefox avec httpfox par exemple, tu verras passer des requêtes du genre http://ftvodhdsecz-f.akamaihd.net//z/st … adaptatif/... des fragments de vidéo.

Récupère le paramètre pvtoken de l'url et ajoute le dans les appels pluzzdl et ça va marcher :-)

self.pvtoken="pvtoken=..."
frag  = self.navigateur.getFichier( "%s%d?%s" %( self.urlFrag, i , self.pvtoken))

N'oublie pas aussi de mettre dans Navigateur.py le user agent du navigateur qui t'a permis d'avoir le token et attention le token est propre à la vidéo (+ ip, user agent ...). Tu verras dans le code de pluzzdl un calcul ancien du token (qui marche plus), c'est l'algo du calcul du hmac qui sécurise le tout.

Pluzz pourrait être adapté facilement pour prendre le token en paramètre, mais la manip n'est pas simple.

Dernière modification par rimram31 (Le 15/11/2012, à 22:28)

Hors ligne

#2372 Le 15/11/2012, à 23:19

11gjm

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

Bonjour ,

Un process qui fonctionne avec captvty .
=====
En essayant d'enregistrer une émission , on a d'abord le message "attente serveur"
puis le message d'erreur :
" Demandant de lancer la lecture et d'essayer de nouveau l'enregistrement " .
Ce qu'il faut faire immédiatement , lancer le lecteur embarqué ,
attendre que l'image soit de bonne qualité .
Cliquer de nouveau sur l'émission avec le bouton droit pour télécharger.
Le message "attente serveur" réapparaît et le téléchargement se lance.
Fermer le lecteur embarqué .
=====
qui peut aider à comprendre les modifs à effectuer dans Pluzzdl .

A+ .

Hors ligne

#2373 Le 16/11/2012, à 16:38

rimram31

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

C'est pas des plus simple, mais en installant firefox + flash player, en créant un profil dédié avec définition d'un proxy, on peut alors récupérer le trafic, paramétrer enfin quelque part dans pluzz le lancement de la commande firefox. Il faudrait intégrer le code d'un proxy pass qui attend l'url du flux et récupère le nécessaire (et user agent), on peut alors killer le process firefox. Dans ce cas, on ne peut charger que le fichier (bitrate) choisi par le navigateur car le token en dépend.

Malheureusement, ne serais utilisable que si X présent et actif car ff demande un display pour démarrer, a moins que quelques pros ici sachent démarrer en "fake" et minimisé + portabilité OS ... sûr que c'est pas gagné.

En faisant d'autres tests, je me suis rendu compte que ça ne marchait pas sous Opera, proxy activé, il reçoit lui aussi des 403, pourtant il y a bien un pvtoken.

Dernière modification par rimram31 (Le 16/11/2012, à 16:40)

Hors ligne

#2374 Le 16/11/2012, à 18:31

11gjm

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

Bonjour ,

Et ceci , qu'est-ce que vous en pensez ?

A partir de http://www.pluzz.fr/les-enquetes-de-murdoch--2012-11-11-22h15.html
rtmpdump -r "rtmp://videozones-rtmp.francetv.fr/ondemand/mp4:cappuccino/publication/geoloc/france-dom-tom/Autre/Autre/2012/S46/J1/511745_murdoch_3_20121111.mp4" -o "511745_murdoch_3_20121111.mp4" --resume
retour à la ligne inutile !!!

Cordialement .

Hors ligne

#2375 Le 17/11/2012, à 01:36

nerhom

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

11gjm a écrit :

Bonjour ,

Et ceci , qu'est-ce que vous en pensez ?

que c'est rigolo ? ^^
et que c'est aussi l'adresse mp4 qui se trouve dans les getinfosoeuvre, mais malheureusement avec une compression tres mediocre, bien inferieure a la version visionnable sur pluzz quand elle utilise les debits "max" (qui sont pourtant du meme ordre, du coup je me demande quel est le role de ce mp4 tout flou...)

Dernière modification par nerhom (Le 17/11/2012, à 02:10)

Hors ligne