#1 Le 10/08/2013, à 15:10
- gatzy
Enregistrer une émission télé sur une clé USB
Bonjour
Je viens de m'apercevoir que, lorsque je suis connectée sur un Wifi public, le débit n'est pas suffisant pour visionner des émissions télé en replay.
Comme je suis souvent en déplacement la semaine, j'aimerais enregistrer une émission télé (en l’occurrence « La grande librairie » de TV5) sur une clé USB à partir de mon ordinateur fixe (Ubuntu 12.04) et de ma connexion Ethernet à la maison et la visionner sur mon ordinateur portable sans connexion internet et avec Window7.
Que me conseillez-vous ?
Hors ligne
#2 Le 11/08/2013, à 18:09
- Yves-Antoine
Re : Enregistrer une émission télé sur une clé USB
Bonjour Gatzy,
Pourquoi ne pas programmer l'enregistrement de l'émission sur ta box, et ensuite accéder à son disque à distance pour transférer le fichier sur ton portable ?
Cette solution fonctionne avec Free. Inconvénient, on est limité par le débit ascendant de la box en ADSL (100 kO/sec).
Hors ligne
#3 Le 12/08/2013, à 09:49
- gatzy
Re : Enregistrer une émission télé sur une clé USB
Bonjour
Merci Yves-Antoine pour ta réponse mais je suis chez SFR et la box TV que j'ai n'a pas de disque dur, en plus, elle n'est pas branchée (ma télé est tombée en panne il y a 3 mois) donc elle ne me sert plus ...
J'ai lu qu'il existait des clés USB TNT qui me permettrait d'enregistrer : est-ce que vous avez déjà utilisé ? est-ce compatible Ubuntu ? quel modèle choisir ?
Merci pour vos réponses
Odile
Dernière modification par gatzy (Le 12/08/2013, à 09:50)
Hors ligne
#4 Le 12/08/2013, à 22:01
- k3c
Re : Enregistrer une émission télé sur une clé USB
Ave
Supposons que tu veuille enregistrer
http://www.tv5mondeplus.com/video/20-03 … ain-439216
Tu notes les derniers chiffres
tu vas donc ouvrir
http://www.tv5mondeplus.com/video-xml/get/439216
qui contient entre autres
<videoUrl>http://www.tv5mondeplus.com/video-smil/get/439216.smil
tu vas donc ouvrir
http://www.tv5mondeplus.com/video-smil/get/439216.smil
qui contient entre autres
<video src="tv5mondeplus/hq/3846477.mp4" system-bitrate="500000"/><video src="tv5mondeplus/bq/3846477.mp4" system-bitrate="300000"/>
tu prends la vidéo de meilleure qualité, celle avec le bitrate le plus élevé (hq -> haute qualité,, bq -> basse qualité)
et tu tapes une commande du type
msdc -c --no-proxy http://vodhdflash.tv5monde.com/tv5mondeplus/hq/3846477.mp4 -o mavideo.mp4
Je dois avoir un script qui automatise tout cela
Debian 12 sur Thinkpad reconditionné
Hors ligne
#5 Le 12/08/2013, à 22:23
- k3c
Re : Enregistrer une émission télé sur une clé USB
Un exemple
$ python tv5_0_1.py http://www.tv5mondeplus.com/video/20-03-2013/pia-petersen-ecrivaine-danoise-439217
look for the contentID
ContentID : http://www.tv5mondeplus.com/video-xml/get/439217
look for the smilUrl
smilUrl : http://www.tv5mondeplus.com/video-smil/get/439217.smil
look for the videoUrl
videoUrl : http://vodhdflash.tv5monde.com/tv5mondeplus/hq/3846476.mp4
titre pia-petersen-ecrivaine-danoise-439217.mp4
['/usr/bin/msdl', '-c', '--no-proxy', 'http://vodhdflash.tv5monde.com/tv5mondeplus/hq/3846476.mp4', '-o', 'pia-petersen-ecrivaine-danoise-439217.mp4']
No such file or directory
$
Et on a donc
$ ls -alrt pia-petersen-ecrivaine-danoise-439217.mp4
-rw-rw-r-- 1 gg gg 22843509 août 12 22:13 pia-petersen-ecrivaine-danoise-439217.mp4
$
Le code
#!/usr/bin/env python
# -*- coding:utf-8 -*-
# TV5MondePlus version 0.1 par JUL1EN094 pour mon poto k3c
import urllib, urllib2, sys, re
import xml.etree.ElementTree
import subprocess
class TV5MondePlus(object):
def __init__(self, url):
self.url = url
self.contentID = self.get_contentID()
self.smilUrl = self.get_smilUrl()
self.videoUrl = self.get_videoUrl()
def get_contentID(self):
try :
print 'look for the contentID'
soup = self.getFile(self.url)
html = soup.decode('utf-8')
contentID = re.findall("""contentID:'(.*)'""",html)[0]
print ' ContentID : ' + contentID
return contentID
except Exception, e:
print 'error : not possible to get the contentID'
print e
return False
def get_httpEnd(self,smilFile) :
#get best bitrate
video_src_s = re.findall("""<video src="(.*)" system-bitrate="(.*)"/>""", smilFile)
bestBitrate = 0
httpEnd = False
for video_src in video_src_s :
bitrate = video_src[1]
if bitrate > bestBitrate :
bestBitrate = bitrate
httpEnd = video_src[0]
return httpEnd
def get_smilUrl(self) :
try :
print 'look for the smilUrl'
root = xml.etree.ElementTree.fromstring(self.getFile(self.contentID))
video = root.find('video')
info = video.find('info')
videoUrl = info.find('videoUrl')
smilUrl = videoUrl.text
print ' smilUrl : '+smilUrl
return smilUrl
except Exception, e:
print 'error : not possible to get the smilURL'
print e
return False
def get_videoUrl(self) :
try :
global videoUrl
print 'look for the videoUrl'
smilFile = self.getFile(self.smilUrl)
httpBase = re.findall("""<meta name="httpBase" content="(.*)" />""", smilFile)[0]
httpEnd = self.get_httpEnd(smilFile)
videoUrl = httpBase+httpEnd
print ' videoUrl : '+videoUrl
return videoUrl
except Exception, e:
print 'error : not possible to get the videoUrl'
print e
return False
def getFile(self, url):
request = urllib2.Request(url)
request.add_header('User-Agent', 'Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:17.0) Gecko/20100101 Firefox/17.0')
response = urllib2.urlopen(request,timeout = 10)
return response.read()
def main():
x = TV5MondePlus(sys.argv[1])
if __name__ == "__main__":
main()
tit = sys.argv[1].split('/')[-1]+'.mp4'
print 'titre',tit
args = ["/usr/bin/msdl","-c","--no-proxy", videoUrl , "-o", tit]
print args
app = subprocess.Popen(args=args, stdout=open('somefile', 'w'))
app.wait()
Debian 12 sur Thinkpad reconditionné
Hors ligne
#6 Le 12/08/2013, à 22:53
- k3c
Re : Enregistrer une émission télé sur une clé USB
Au fait, tu peux utiliser msdl, curl ou wget pour récupérer le fichier voulu, si tu n'as pas tout installé.
Debian 12 sur Thinkpad reconditionné
Hors ligne
#7 Le 13/08/2013, à 09:50
- gatzy
Re : Enregistrer une émission télé sur une clé USB
Merci k3c pour tes réponses mais c'est trop compliqué pour moi, je ne lis pas le python dans le texte et du coup, je ne sais pas comment adapter tes commandes à l'émission que je recherche : désolée ...
Par contre, si quelqu'un utilise une clé USB TNT avec Ubuntu : je suis intéressée par son avis.
Hors ligne
#8 Le 13/08/2013, à 09:59
- J5012
Re : Enregistrer une émission télé sur une clé USB
y a une doc qui en parle : http://doc.ubuntu-fr.org/tnt
voir aussi le forum
Hors ligne
#9 Le 13/08/2013, à 10:58
- k3c
Re : Enregistrer une émission télé sur une clé USB
@ gatzy
Tu n'as rien à adapter.
Tu enregistre le code python (avec kate ou geany ou vim ou emacs ou...) dans un fichier que tu nommes par exemple tv5.py
puis, quand tu veux récupérer la vidéo de l'émission
http://www.tv5mondeplus.com/video/11-05 … sse-264570
tu fais
gg@vientiane:~$ python tv5.py http://www.tv5mondeplus.com/video/11-05-2012/la-librairie-suisse-264570
look for the contentID
ContentID : http://www.tv5mondeplus.com/video-xml/get/264570
look for the smilUrl
smilUrl : http://www.tv5mondeplus.com/video-smil/get/264570.smil
look for the videoUrl
videoUrl : http://vodhdflash.tv5monde.com/tv5mondeplus/hq/3585207.mp4
titre la-librairie-suisse-264570.mp4
['/usr/bin/msdl', '-c', '--no-proxy', 'http://vodhdflash.tv5monde.com/tv5mondeplus/hq/3585207.mp4', '-o', 'la-librairie-suisse-264570.mp4']
No such file or directory
gg@vientiane:~$ ls -alrt la-librairie-s*
-rw-rw-r-- 1 gg gg 27843501 août 13 10:51 la-librairie-suisse-264570.mp4
gg@vientiane:~$
et tu as ton fichier, un coup vlc ou mplayer et tu lis ta vidéo.
Debian 12 sur Thinkpad reconditionné
Hors ligne