#2301 Le 28/10/2012, à 15:38
- ynad
Re : TVDownloader: télécharger les médias du net !
Re
@11gjm
http://code.google.com/p/tvdownloader/source/list
la liste des correctifs, dans la dernière il y a 4h les deux nouveaux fichiers main.py (v 0.9.3) et PluzzDL.py
qui permettent le changement url
@+
Hors ligne
#2302 Le 28/10/2012, à 15:56
- 11gjm
Re : TVDownloader: télécharger les médias du net !
Bonjour ,
@ynad : Merci pour taréponse .
Je vais aller voir .
Cordialement .
Hors ligne
#2303 Le 28/10/2012, à 15:58
- chaoswizard
Re : TVDownloader: télécharger les médias du net !
@chaoswizard : penses à modifier , aussi , la version .exe .
A l'occasion . Merci .
Ouais, enfin, c'est encore un test : j'ai juste essayé de charger une seule vidéo ><
Dernière modification par chaoswizard (Le 28/10/2012, à 15:59)
Ubuntu ==> Debian ==> Archlinux
Hors ligne
#2304 Le 28/10/2012, à 17:16
- duocore
Re : TVDownloader: télécharger les médias du net !
je ne vois pas comment utiliser la commande:
http://www.encodage.org/arte.php?http:/ … e_la_vidéo
pour la video:http://www.wat.tv/video/saison-episode-malediction-5bflx_4dfnt_.html
merci pour votre aide
ps: je suis un noob pour la ligne de commande
Hors ligne
#2305 Le 28/10/2012, à 18:46
- 11gjm
Re : TVDownloader: télécharger les médias du net !
Bonjour ,
@duocore : On recommence à zéro !!! Enfin presque .
La solution serait d'utiliser "flvstreamer" . !!! POINT !!! .
( On ne va pas sur le site encodage.org , OK . Recherche de flux pour ARTE ) .
Donc , soit tu as un RTMPdump (2.5) , soit tu installes FLVStreamer (v1.9 ou supérieure) .
Ci-dessous un batch (modifié pour flv... avec LNX...) :
flvstreamer -r "rtmpte://wske.wat.tv:1935/ondemand" -a "ondemand" -f "LNX 10,2,202,243" -s "http://www.wat.tv/images/v40/PlayerWat.swf" -p "http://www.wat.tv/video/saison-episode-malediction-5bflx_4dfnt_.html" -y "mp4:vod/H264-384x288/15/25/8931525.h264?bu=wat.tv&login=Haven-nt1&i=90.28.251.251&u=4e847b52ed42048286d2adcfbb2aa526&sum=c3787fe2936c236b1981b0b3967bb275" -o 8931525.h264.flv
A+ .
Hors ligne
#2306 Le 28/10/2012, à 19:53
- duocore
Re : TVDownloader: télécharger les médias du net !
j'ai lancé la commande flvstreamer -r "rtmpte://wske.wat.tv:1935/ondemand" -a "ondemand" -f "LNX 10,2,202,243" -s "http://www.wat.tv/images/v40/PlayerWat.swf" -p "http://www.wat.tv/video/saison-episode- … dfnt_.html" -y "mp4:vod/H264-384x288/15/25/8931525.h264?bu=wat.tv&login=Haven-nt1&i=90.28.251.251&u=4e847b52ed42048286d2adcfbb2aa526&sum=c3787fe2936c236b1981b0b3967bb275" -o 8931525.h264.flv
j'ai 2 erreurs
error:rtmp server sent error
error: rtmp server requested close
je ne sais pas quoi faire d'autre
Hors ligne
#2307 Le 28/10/2012, à 20:16
- 11gjm
Re : TVDownloader: télécharger les médias du net !
Re-... ,
> je ne sais pas quoi faire d'autre
Moi non plus ; désolé .
A+ .
Hors ligne
#2308 Le 28/10/2012, à 21:14
- k3c
Re : TVDownloader: télécharger les médias du net !
Pour moi c'est ok
gg@gg-SATELLITE-L755:~$ rtmpdump -r "rtmpte://wske.wat.tv:1935/ondemand" -a "ondemand" -f "LNX 10,2,202,243" -s "http://www.wat.tv/images/v40/PlayerWat.swf" -p "http://www.wat.tv/video/saison-episode- … dfnt_.html" -y "mp4:vod/H264-384x288/15/25/8931525.h264?bu=wat.tv&login=Haven-nt1&i=90.28.251.251&u=4e847b52ed42048286d2adcfbb2aa526&sum=c3787fe2936c236b1981b0b3967bb275" -o 8931525.h264.flv
RTMPDump v2.4
(c) 2010 Andrej Stepanchuk, Howard Chu, The Flvstreamer Team; license: GPL
Connecting ...
WARNING: HandShake: Type mismatch: client sent 6, server answered 9
INFO: Connected...
ERROR: HandleCtrl: Ignoring SWFVerification request, use --swfVfy!
Starting download at: 0.000 kB
INFO: Metadata:
INFO: duration 2434.90
INFO: moovPosition 40.00
INFO: width 640.00
INFO: height 360.00
INFO: videocodecid avc1
INFO: audiocodecid mp4a
INFO: avcprofile 77.00
INFO: avclevel 30.00
INFO: aacaot 2.00
INFO: videoframerate 25.00
INFO: audiosamplerate 44100.00
INFO: audiochannels 2.00
INFO: tags:
INFO: ©too Lavf54.32.101
INFO: trackinfo:
INFO: length 31166464.00
INFO: timescale 12800.00
INFO: language eng
INFO: sampledescription:
INFO: sampletype avc1
INFO: length 107379232.00
INFO: timescale 44100.00
INFO: language fre
INFO: sampledescription:
INFO: sampletype mp4a
3963.010 kB / 49.52 sec (2.0%)^C
Caught signal: 2, cleaning up, just a second...
ERROR: RTMP_ReadPacket, failed to read RTMP packet body. len: 70017
4004.062 kB / 49.52 sec (2.0%)
Debian 12 sur Thinkpad reconditionné
Hors ligne
#2309 Le 28/10/2012, à 21:20
- k3c
Re : TVDownloader: télécharger les médias du net !
duocore
tu devrais peut-être te démarrer une Ubuntu récente dans Qemu-kvm ou Virtual Box
Tu réserves 5 Go pour cela.
Tu télécharges l'iso qui te convient.
Tu la lances, et tu as une distrib récente.
Debian 12 sur Thinkpad reconditionné
Hors ligne
#2310 Le 29/10/2012, à 23:56
- duocore
Re : TVDownloader: télécharger les médias du net !
j'ai installer la version 12.4 et utiliser la commande: rtmpdump -r "rtmpte://wske.wat.tv:1935/ondemand" -a "ondemand" -f "LNX 10,2,202,243" -s "http://www.wat.tv/images/v40/PlayerWat.swf" -p "http://www.wat.tv/video/saison-episode- … dfnt_.html" -y "mp4:vod/H264-384x288/15/25/8931525.h264?bu=wat.tv&login=Haven-nt1&i=90.28.251.251&u=4e847b52ed42048286d2adcfbb2aa526&sum=c3787fe2936c236b1981b0b3967bb275" -o 8931525.h264.flv
cela commence tres bien, mais une fois arrivé a 17% :
Error rtmp_readpacket, failed to read rtmp packet body. len: 72250 XX kb/XX sec(17%)
download may be incomplete (downloaded about 17%, try resuming.
et je voudrais savoir comment faites vous pour recuperer toutes les données apres rtmpdump
merci de votre aide
Hors ligne
#2311 Le 30/10/2012, à 16:13
- 11gjm
Re : TVDownloader: télécharger les médias du net !
Bonjour à tous ,
@duocore : Nous allons suivre une nouvelle procédure .
Le flux fourni , est coupé au bout de 20% environ (???) .
IL FAUT RELANCER LE "BATCH" ( 4 ou 5 fois ) , sans détruire ce qui a été téléchargé .
( NB: C'est à ça que sert l'instruction --resume à la fin de l'instruction ) .
Ci-dessous , il y a les nouvelles instructions pour tes commandes ( sous Linux ) .
rtmpdump -b 1000000000 -r "rtmpte://wske.wat.tv:1935/ondemand" -a "ondemand" -f "LNX 10,2,202,243" -W "http://www.wat.tv/images/v40/PlayerWat.swf?revision=4.1.80" -p "http://www.wat.tv/video/saison-episode-malediction-5bflx_4dfnt_.html" -y "mp4:vod/H264-384x288/15/25/8931525.h264?bu=wat.tv&login=Haven-nt1&i=90.28.251.251&u=4e847b52ed42048286d2adcfbb2aa526&sum=c3787fe2936c236b1981b0b3967bb275" -o 8931525.h264.flv --resume
( NB: Si , ça ne passe pas , essayer de transformer "rtmpte" en "rtmpe" ) .
Je viens d'effectuer le téléchargement ( en 5 fois ) . C'est parfait .
Mais , quelle galère !!!
======
@k3c : Il faut re-modifier le fichier "TF1 version 0.2 par k3c" .
infos indiquées à : http://forum.ubuntu-fr.org/viewtopic.ph … #p11015781
La précédente mouture indiquait de transformer "rtmpte" en "rtmpe" ,
( fonction 'replace' ) .
Il s'avère que ceci n'est plus nécessaire .
Voir exemple , ci-dessous :
-----
http://www.wat.tv/video/saison-episode- … dfnt_.html
---
rtmpte://wske.wat.tv/ondemand/mp4:vod/H264-384x288/15/25/8931525.h264
-----
Il apparaît , un autre soucis . Cela concerne la reprise du téléchargement ( interrompu ) .
Peux-tu entrer une instruction afin de relancer la capture ?
Cordialement .
Édité à 17h38mn
=== ??? ===
Je viens de tester avec "captvty" ( sous Windows ) .
J'ai obtenu "saison-2---episode-1-malédiction.flv" , sans coupure .
Peut-être , était-ce le serveur qui nous jouait des tours (???) .
===========
Dernière modification par 11gjm (Le 30/10/2012, à 17:39)
Hors ligne
#2312 Le 30/10/2012, à 18:02
- k3c
Re : TVDownloader: télécharger les médias du net !
@ 11 gjm
#!/usr/bin/env python
# -*- coding:utf-8 -*-
# TF1 version 0.3 par k3c, correction de 11gjm
import subprocess, optparse, re, sys, os, shlex
import socket
from urllib2 import Request, urlopen, URLError, HTTPError
from urllib2 import ProxyHandler, Request, urlopen, URLError, HTTPError
import time,md5,random,urllib2
import bs4 as BeautifulSoup
timeout = 90
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_wat(id):
ID_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_WAT)+""+timesec).hexdigest()
id_url1 = "http://www.wat.tv/get/web/"+str(ID_WAT)+"?token="+token+"/"+timesec+"&getURL=1&country=FR"
return id_url1
def main():
# timeout en secondes
socket.setdefaulttimeout(timeout)
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 )
the_url = sys.argv[1]
html = urlopen(sys.argv[1]).read()
nom = sys.argv[1].split('/')[-1:][0]
no = nom.split('.')[-2:][0]
soup = BeautifulSoup.BeautifulSoup(html)
debut_id = str(soup.find('div', attrs={'class' : '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)
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')
player = "http://www.wat.tv/images/v40/PlayerWat.swf?revision=4.0.992"
data0 = re.search('rtmpte://(.*)h264',data).group(0)
data1 = re.search('&u=(.*)&sum',data).group(1)
data2 = re.search('&sum=(.*)$',data).group(1)
data3 = data1+data2
app = re.search('wske.wat.tv/(.*)/mp4:vod',data).group(1)
playpath = re.search('mp4:vod(.*).h264',data).group(0)
# cmds = "rtmpdump"+" --host "+host+" -l 0 --app "+app+" --playpath "+playpath+" --swfVfy "+player+" --port 443 -e -k 1 --flv "+str(no)+".mp4"
cmds = 'rtmpdump -r "%s" -c 1935 -m 10 -w 40ee2a765514facfc6b1eb2745d22cdbdfaaf7f1488b17600c1a22dd3074735d -x 339543 -o "%s.mp4" " --resume"' % (data0, str(no))
arguments = shlex.split( cmds )
print arguments
process = subprocess.Popen( arguments, stdout = subprocess.PIPE).communicate()[0]
if __name__ == "__main__":
main()
J'ai téléchargé
http://videos.tmc.tv/las-vegas/saison-5 … 1-848.html
et eu une vidéo de 41 mns 5 s, comme indiqué dans mediainfo.
Debian 12 sur Thinkpad reconditionné
Hors ligne
#2313 Le 30/10/2012, à 20:03
- duocore
Re : TVDownloader: télécharger les médias du net !
merci cela fonctionne
et je voudrais savoir comment faites vous pour recuperer toutes les données apres rtmpdump
merci de votre aide
Hors ligne
#2314 Le 30/10/2012, à 20:49
- 11gjm
Re : TVDownloader: télécharger les médias du net !
Bonjour ,
@k3c : Constations suites aux modifs de "tf1_03.py"
--- Écritures du batch ---
python tf1_03.py url_de_la_video
---
1) Cela fonctionne .
2) Arrêt ( n'importe quand ??? ) .
3) Relance du process => ça écrase la vidéo enregistrée .
( blocage éventuel du nouveau process => suppression manuelle de la vidéo ) .
Y-a-t'il une instruction à ajouter ?
=====
J'ai créé un batch pour Windows ; ça fonctionne , mais même problèmes .
=====
Donc ,
_ soit ma ligne n'est pas assez rapide ( 250 ko/s en DL ) .
_ soit je n'ai pas assez de mémoire vive ( 1 Mo )
_ soit le serveur est saturé
Merci , pour ton aide .
Cordialement .
Hors ligne
#2315 Le 30/10/2012, à 21:06
- k3c
Re : TVDownloader: télécharger les médias du net !
@ duocore
regarde ce thread
http://stream-recorder.com/forum/use-rt … p+tutorial
Debian 12 sur Thinkpad reconditionné
Hors ligne
#2316 Le 30/10/2012, à 22:17
- duocore
Re : TVDownloader: télécharger les médias du net !
K3c
j'ai regardé ton lien il s'agit de logiciels windows: url snopper,...
j'ai essayer de voir si il y avais des logiciels linux je n'en ai pas trouvé
Hors ligne
#2317 Le 31/10/2012, à 05:48
- k3c
Re : TVDownloader: télécharger les médias du net !
@ duocore
si, il y a du Linux
flasm
openssl
tout part du player, qui est spécifique à chaque site.
Debian 12 sur Thinkpad reconditionné
Hors ligne
#2318 Le 31/10/2012, à 07:36
- duocore
Re : TVDownloader: télécharger les médias du net !
j'ai obtenu
HMAC-SHA256(loaderexport.swf)= b18528111bda4516700df254576cd4b46061eb92ef2663ebd07da2d6240102f7
j'ai utilisé cette commande
./rtmpdump --swfhash "b18528111bda4516700df254576cd4b46061eb92ef2663ebd07da2d6240102f7" --swfsize 1927
pour cette video: http://videos.nt1.tv/haven/saison-2-epi … 1-846.html
mais ne fonctionne pas.
ensuite j'ai trouvé pyurlsnooper pour linux
Hors ligne
#2319 Le 31/10/2012, à 18:02
- chaoswizard
Re : TVDownloader: télécharger les médias du net !
j'ai obtenu
HMAC-SHA256(loaderexport.swf)= b18528111bda4516700df254576cd4b46061eb92ef2663ebd07da2d6240102f7
Eu,h, j'ai pas tout suivi mais il y a une méthode pour récupérer les clefs HMAC enfouies au fond des lecteurs flash ?!
Je veux !!!
Ubuntu ==> Debian ==> Archlinux
Hors ligne
#2320 Le 31/10/2012, à 22:06
- bibichouchou
Re : TVDownloader: télécharger les médias du net !
salut,
à chaoswizard : Félicitations pour la nouvelle mouture de pluzzdl (intégration des sous-titres). Ça fonctionne très bien.
à k3c, 11gjm : Merci pour le code. Pour tmc ou tf1, je dois veillir le jeton d'autentification pour que cela fonctionne : j'ai remplacé
ts = base36encode(int(time.time()))
par
ts = base36encode(int(time.time() + 60))
NB 1 : je ne peux pas faire marcher votre code tel quel mais comme ma distrib + ses paquets sont bloqués à l'époque 10.10, je pense que cela vient de moi.
NB 2 : votre code devrait marcher pour nt1 (modulo 1 modif ou 2) qui met ses vidéos chez wat.
à duocore : voilà une ligne de commande pour la viédo que tu mentionnes. Fontctionne chez moi avec rtmpdump v2.4. A utiliser rapidement. Pour la génération d'une telle ligne, voir le code de k3c/11gjm pour tf1/tmc.
rtmpdump -e -r 'rtmpte://wske.wat.tv/ondemand/mp4:vod/H264-384x288/11/23/8921123.h264?bu=&login=Haven-nt1&u=68a27801372a38cb7ddb916301c61d63&sum=1398f2768bbce391058a8db6dfabaaa8' -o Saison_2_-_Episode_2_A_chacun_sa_peur.mp4
Amicalement
Dernière modification par bibichouchou (Le 31/10/2012, à 22:57)
Hors ligne
#2321 Le 01/11/2012, à 10:09
- k3c
Re : TVDownloader: télécharger les médias du net !
@ bibichouchou
Merci pour tes précisions, voici un script qui télécharge sur NT1 les deux premiers épisodes de Haven, mais pas
http://www.nt1.tv/the-walking-dead/epis … 3-846.html
faudra que je regarde pourquoi
Edit : boulet inside, ce n'est pas une video...
Ca marche pour
http://videos.nt1.tv/enquetes-impossibl … 7-846.html
#!/usr/bin/env python
# -*- coding:utf-8 -*-
# NT1 version 0.1 par k3c, correction de bibichouchou
import subprocess, optparse, re, sys, os, shlex
import socket
from urllib2 import Request, urlopen, URLError, HTTPError
from urllib2 import ProxyHandler, Request, urlopen, URLError, HTTPError
import time,md5,random,urllib2
import bs4 as BeautifulSoup
timeout = 90
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_wat(id):
ID_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())+60)
timesec = hex(int(ts, 36))[2:]
while(len(timesec)<8):
timesec="0"+timesec
token = md5.new("9b673b13fa4682ed14c3cfa5af5310274b514c4133e9b3a81e6e3aba00912564/web/"+str(ID_WAT)+""+timesec).hexdigest()
id_url1 = "http://www.wat.tv/get/web/"+str(ID_WAT)+"?token="+token+"/"+timesec+"&getURL=1&country=FR"
return id_url1
def main():
# timeout en secondes
socket.setdefaulttimeout(timeout)
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 )
the_url = sys.argv[1]
html = urlopen(sys.argv[1]).read()
nom = sys.argv[1].split('/')[-1:][0]
no = nom.split('.')[-2:][0]
soup = BeautifulSoup.BeautifulSoup(html)
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)
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')
player = "http://www.wat.tv/images/v40/PlayerWat.swf?revision=4.0.992"
data0 = re.search('rtmpte://(.*)h264',data).group(0)
data1 = re.search('&u=(.*)&sum',data).group(1)
data2 = re.search('&sum=(.*)$',data).group(1)
data3 = data1+data2
app = re.search('wske.wat.tv/(.*)/mp4:vod',data).group(1)
playpath = re.search('mp4:vod(.*).h264',data).group(0)
# cmds = "rtmpdump"+" --host "+host+" -l 0 --app "+app+" --playpath "+playpath+" --swfVfy "+player+" --port 443 -e -k 1 --flv "+str(no)+".mp4"
cmds = 'rtmpdump -r "%s" -c 1935 -m 10 -w 40ee2a765514facfc6b1eb2745d22cdbdfaaf7f1488b17600c1a22dd3074735d -x 339543 -o "%s.mp4" " --resume"' % (data0, str(no))
arguments = shlex.split( cmds )
print arguments
process = subprocess.Popen( arguments, stdout = subprocess.PIPE).communicate()[0]
if __name__ == "__main__":
main()
Dernière modification par k3c (Le 01/11/2012, à 10:16)
Debian 12 sur Thinkpad reconditionné
Hors ligne
#2322 Le 01/11/2012, à 12:42
- k3c
Re : TVDownloader: télécharger les médias du net !
Ah au fait pour le script pour télécharger sur http://tou.tv, une personne sur neo-net a fait une remarque pertinente, que le format téléchargé était du flv et pas du mp4.
Mediainfo le confirme.
Il faut donc remplacer .mp4 par .flv dans le script, quand on crée la commande.
Debian 12 sur Thinkpad reconditionné
Hors ligne
#2323 Le 01/11/2012, à 20:30
- 11gjm
Re : TVDownloader: télécharger les médias du net !
Bonjour à tous ,
@k3c :
=====
http://www.nt1.tv/the-walking-dead/epis … 3-846.html
----
C'est normal , la diffusion n'est prévue que pour le 2 Nov. .
=====
=====
http://videos.nt1.tv/enquetes-impossibl … 7-846.html
---
ok , aussi pour captvty
---
Ne fonctionne pas avec RTMPExploreX .
J'ai pu récupérer les commandes :
rtmpdump -e -r "rtmpe://wske.wat.tv:1935/ondemand" -a "ondemand" -f "WIN 11,4,402,265" -W "http://www.wat.tv/images/v40/PlayerWat.swf?revision=4.1.81" -p "http://videos.nt1.tv/enquetes-impossibles/emission-du-31-octobre-rediffusion-7613577-846.html" -y "mp4:vod/H264-384x288/63/11/8936311.h264?bu=nt1.tv&login=nt1-enquetes-impossibles&i=90.28.251.160&u=4e847b52ed42048286d2adcfbb2aa526&sum=b17cded51c339f983c9a4b80eb4ce4b4" -o 8936311.mp4
Les modifs effectuées dans le batch :
_ ajouté "-e"
_ ajouté "?revision=4.1.81" pour le player
_ modifié le fichier final "8936311.mp4" au lieu de "8936311.h264.flv"
=====
Je reviendrai pour expliquer mes PB , avec les fichiers tf1_03.py et nt1_01.py ,
qui ne fonctionnent plus ( pb de librairies ) .
A+ .
Hors ligne
#2324 Le 01/11/2012, à 21:45
- 11gjm
Re : TVDownloader: télécharger les médias du net !
Bonjour ,
1er essai avec tf1_02x.py (fonction replace existante)
et player "?revision=4.0.992"
======
Ligne 59
id = [x.strip() for x in re.findall("mediaId [^,]*)",debut_id)][0]
IndexError : list index out of range
======
======
Ligne 84
in module <main> , main()
======
2ième essai avec tf1_03.py (fonction replace supprimée)
et player "?revision=4.0.992"
======
Même constat
======
3ième essai avec tf1_03_Pl.py (fonction replace supprimée)
et player "?revision=4.1.181"
======
Même constat
======
A+ .
Hors ligne
#2325 Le 02/11/2012, à 09:24
- k3c
Re : TVDownloader: télécharger les médias du net !
@11gjm
Bizarre, à ce niveau-là, on fait juste du bête parsing HTML
Peux-tu faire
python
>>> from urllib2 import urlopen
>>> import bs4 as BeautifulSoup
>>> a = urlopen('http://videos.nt1.tv/haven/saison-2-episode-2-a-chacun-sa-peur-7598701-846.html').read()
>>> soup = BeautifulSoup.BeautifulSoup(a)
>>> ! la ligne suivante est valable uniquement pour NT1
>>> soup.find('section', attrs={'class' : 'player-unique' })
<section class="player-unique"><article> <meta content="Flash" itemprop="playerType"/> <meta content="PT2413S" itemprop="duration"/><meta content="2012-10-22T19:18:00+0200" itemprop="uploadDate"/><meta content="2012-11-02T22:15:00+0100" itemprop="expires"/><link content="/haven/saison-2-episode-2-a-chacun-sa-peur-7598701-846.html" itemprop="url"/><link content="/mmdia/i/56/2/les-mysteres-de-haven-saison-2-les-photos-de-l-episode-2-10794562sryxr.jpg?v=2" itemprop="thumbnailUrl"/> <meta content="628" itemprop="width"/><meta content="353" itemprop="height"/> <div id="FlashPlayer" style="background:#FFF; width:100%; height:353px"><div id="FlashPlayer2"></div></div><script charset="utf-8" src="http://s.wat.fr/js/v2.5/swfobject.js" type="text/javascript"></script><script charset="utf-8" src="http://s.wat.fr/js/v2.5/WATPlayer.js" type="text/javascript"></script><script type="text/javascript">if (!typeof(PWpreroll)) {var PWpreroll = '';}if ( typeof( sitepage ) != "undefined" ) {WATPlayer.showSyndicated({previewMedia : "http://s.nt1.tv/mmdia/i/48/0/10791480uosbb.jpg",mediaId : 8921123,isStartAd : true,ad20 : 1,modeWatMedia : true,autoStart : 1,recoTf1 : "http://www.nt1.tv/js/video/poursuite/0, … 1351242045",unvId : "846",conId : "4471687",chaId : "3427061",setVolume : "10",playlistIdCustom : "8806145",baseURL : "http://www.wat.tv",url : "http://www.wat.tv/swfnt1/239910nIc0K118921123",width : "100%",height : "100%",container : "FlashPlayer2", oasTag : sitepage, PWpreroll : PWpreroll});}else{WATPlayer.showSyndicated({previewMedia : "http://s.nt1.tv/mmdia/i/48/0/10791480uosbb.jpg",mediaId : 8921123,isStartAd : true,ad20 : 1,modeWatMedia : true,autoStart : 1,recoTf1 : "http://www.nt1.tv/js/video/poursuite/0, … 1351242045",unvId : "846",conId : "4471687",chaId : "3427061",setVolume : "10",playlistIdCustom : "8806145",baseURL : "http://www.wat.tv",url : "http://www.wat.tv/swfnt1/239910nIc0K118921123",width : "100%",height : "100%",container : "FlashPlayer2", PWpreroll : PWpreroll});}</script><script type="text/javascript">var permalinkWat = document.location.href;WATPlayer.setPermalink(permalinkWat);</script> </article></section>
>>> 'mediaId' in str(soup.find('section', attrs={'class' : 'player-unique' }))
True
>>> ! avec tmc
>>> a = urlopen('http://videos.tmc.tv/las-vegas/las-vegas-episode-6-saison-1-devoirs-de-vacances-7613614-848.html').read()
>>> soup = BeautifulSoup.BeautifulSoup(a)
>>> soup.find('div', attrs={'class' : 'unique'})
<div class="unique"> <meta content="Flash" itemprop="playerType"/><meta content="640" itemprop="width"/><meta content="360" itemprop="height"/> <div id="FlashPlayer" style="background:#FFF; width:100%; height:360px"><div id="FlashPlayer2"></div></div><script charset="utf-8" src="http://s.wat.fr/js/v2.5/swfobject.js" type="text/javascript"></script><script charset="utf-8" src="http://s.wat.fr/js/v2.5/WATPlayer.js" type="text/javascript"></script><script type="text/javascript">if (!typeof(PWpreroll)) {var PWpreroll = '';}if ( typeof( sitepage ) != "undefined" ) {WATPlayer.showSyndicated({previewMedia : "http://s.tmc.tv/mmdia/i/77/4/10794774emmvg.jpg",mediaId : 8936403,isStartAd : true,ad20 : 1,modeWatMedia : true,autoStart : 1,recoTf1 : "http://www.tmc.tv/js/video/poursuite/0, … 1351512528",unvId : "848",conId : "4481392",chaId : "3465098",setVolume : "10",playlistIdCustom : "5473071",baseURL : "http://www.wat.tv",url : "http://www.wat.tv/swftmc/243996nIc0K118936403",width : "100%",height : "100%",container : "FlashPlayer2", oasTag : sitepage, PWpreroll : PWpreroll});}else{WATPlayer.showSyndicated({previewMedia : "http://s.tmc.tv/mmdia/i/77/4/10794774emmvg.jpg",mediaId : 8936403,isStartAd : true,ad20 : 1,modeWatMedia : true,autoStart : 1,recoTf1 : "http://www.tmc.tv/js/video/poursuite/0, … 1351512528",unvId : "848",conId : "4481392",chaId : "3465098",setVolume : "10",playlistIdCustom : "5473071",baseURL : "http://www.wat.tv",url : "http://www.wat.tv/swftmc/243996nIc0K118936403",width : "100%",height : "100%",container : "FlashPlayer2", PWpreroll : PWpreroll});}</script><script type="text/javascript">var permalinkWat = document.location.href;WATPlayer.setPermalink(permalinkWat);</script> </div>
>>> 'mediaId' in str(soup.find('div', attrs={'class' : 'unique'}))
True
Dernière modification par k3c (Le 02/11/2012, à 09:29)
Debian 12 sur Thinkpad reconditionné
Hors ligne