mercredi, juillet 11, 2012

un CLI pour VirtualBox


Vagrant est une API qui se met autour de VirtualBox. Ainsi, au lieu de cliquer partout pour créer une machine, on a simplement à écrire une configuration et à -gentiment- demander à vagrant de nous créer une VirtualBox

VirtualBox c'est bien!
Vagrant sur VirtualBox, c'est encore mieux :O

Dès lors, on peut créer des machines "kleenex" à la volée, définir par script la taille du disque dur, parfait pour faire du test.

Tu veux le tester... euh tu dois le tester.
Va suivre la doc sur leur site, qui se constitue à peine de 3 ou 4 lignes de commandes.

mercredi, juillet 04, 2012

Télécharger des vidéos depuis ARTE+7 en mode "GEEK"

Bon, pour le coup, il va falloir être un peu geek. Alors relevons-nous les manches et mettons les mains dans le camboui!

Un ami me donne le pointeur sur la vidéo arte : L'emballage qui tue.
http://videos.arte.tv/fr/videos/l_emballage_qui_tue-6771996.html


J'affiche la page web en mettant l'url ci-dessus, et je demande à voir le code source de cette page CTRL+U sous Firefox, et là je me balade en cherchant au fil du document quelque chose qui parle de vidéo:
<div id="flashContent"><!--[if !IE]><![endif]--></div>
<noscript>
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=10,0,0,0"
width="720" height="406" id="player" align="middle">
<param name="allowScriptAccess" value="always"/>
<param name="allowFullScreen" value="true"/>
<param name="quality" value="high"/>
<param name="wmode" value="transparent"/>
<param name="movie" value="http://videos.arte.tv/blob/web/i18n/view/player_23-3188338-data-4993762.swf?admin=false&amp;autoPlay=true&amp;configFileUrl=http%3A%2F%2Fvideos.arte.tv%2Fcae%2Fstatic%2Fflash%2Fplayer%2Fconfig.xml&amp;embed=false&amp;lang=fr&amp;localizedPathUrl=http%3A%2F%2Fvideos.arte.tv%2Fcae%2Fstatic%2Fflash%2Fplayer%2F&amp;mode=prod&amp;videoId=6771996&amp;videorefFileUrl=http%3A%2F%2Fvideos.arte.tv%2Ffr%2Fdo_delegate%2Fvideos%2Fl_emballage_qui_tue-6771996%2Cview%2CasPlayerXml.xml"/>
<embed src="http://videos.arte.tv/blob/web/i18n/view/player_23-3188338-data-4993762.swf?admin=false&amp;autoPlay=true&amp;configFileUrl=http%3A%2F%2Fvideos.arte.tv%2Fcae%2Fstatic%2Fflash%2Fplayer%2Fconfig.xml&amp;embed=false&amp;lang=fr&amp;localizedPathUrl=http%3A%2F%2Fvideos.arte.tv%2Fcae%2Fstatic%2Fflash%2Fplayer%2F&amp;mode=prod&amp;videoId=6771996&amp;videorefFileUrl=http%3A%2F%2Fvideos.arte.tv%2Ffr%2Fdo_delegate%2Fvideos%2Fl_emballage_qui_tue-6771996%2Cview%2CasPlayerXml.xml"
width="720" height="406" allowFullScreen="true" name="playerArte" quality="high"
allowScriptAccess="always" pluginspage="http://www.macromedia.com/go/getflashplayer"
type="application/x-shockwave-flash">
</embed>
</object>
</noscript>
</div>

Ah voilà qui semble intéressant:
<param name="movie" value="http://videos.arte.tv/blob/web/i18n/view/player_23-3188338-data-4993762.swf?admin=false&amp;autoPlay=true&amp;configFileUrl=http%3A%2F%2Fvideos.arte.tv%2Fcae%2Fstatic%2Fflash%2Fplayer%2Fconfig.xml&amp;embed=false&amp;lang=fr&amp;localizedPathUrl=http%3A%2F%2Fvideos.arte.tv%2Fcae%2Fstatic%2Fflash%2Fplayer%2F&amp;mode=prod&amp;videoId=6771996&amp;videorefFileUrl=http%3A%2F%2Fvideos.arte.tv%2Ffr%2Fdo_delegate%2Fvideos%2Fl_emballage_qui_tue-6771996%2Cview%2CasPlayerXml.xml"/>

dans lequel on lit par paramètres, il faut couper à chaque ";":
http://videos.arte.tv/blob/web/i18n/view/player_23-3188338-data-4993762.swf?admin=false&amp;
autoPlay=true&amp;
configFileUrl=http%3A%2F%2Fvideos.arte.tv%2Fcae%2Fstatic%2Fflash%2Fplayer%2Fconfig.xml&amp;
embed=false&amp;
lang=fr&amp;
localizedPathUrl=http%3A%2F%2Fvideos.arte.tv%2Fcae%2Fstatic%2Fflash%2Fplayer%2F&amp;
mode=prod&amp;
videoId=6771996&amp;
videorefFileUrl=http%3A%2F%2Fvideos.arte.tv%2Ffr%2Fdo_delegate%2Fvideos%2Fl_emballage_qui_tue-6771996%2Cview%2CasPlayerXml.xml

Maintenant, vu qu'on connaît tous l'encodage des urls, on transforme le videorefFileUrl:
http://videos.arte.tv/fr/do_delegate/videos/l_emballage_qui_tue-6771996%2Cview%2CasPlayerXml.xml
 
et mettons cette url dans notre firefox et nous voyons
<videoref id="6771996">
  <url>
    http://videos.arte.tv/fr/videos/l_emballage_qui_tue-6771996.html
  </url>
  <videos>
    <video lang="fr" ref="http://videos.arte.tv/fr/do_delegate/videos/l_emballage_qui_tue-6771998,view,strmVideoAsPlayerXml.xml"/>
    <video lang="de" ref="http://videos.arte.tv/de/do_delegate/videos/hauptsache_haltbar-6772040,view,strmVideoAsPlayerXml.xml"/>
  </videos>
  <subtitles>
  </subtitles>
  <services>
    <service name="fullscreen" allow="true" allowEmbedded="true"/><service name="share" allow="true" allowEmbedded="true"/>
    <service name="embed" allow="true" allowEmbedded="true"/><service name="info" allow="false" allowEmbedded="true"/>
  </services>
  <embed>
    <disallow>defrancisation.com</disallow>
  </embed>
</videoref>
 
  
Copions-Collons l'url sous "video lang="fr" ref="http://.... dans firefox.
http://videos.arte.tv/fr/do_delegate/videos/l_emballage_qui_tue-6771998,view,strmVideoAsPlayerXml.xml

et nous voyons après quelques lignes:
 <urls>
  <url quality="sd">
    rtmp://artestras.fcod.llnwd.net/a3903/o35/mp4:geo/videothek/ALL/arteprod/A7_SGT_ENC_06_042206-000-A_PG_MQ_FR?h=f87a034e9f9702a0bbc70b9eb48facfc
  </url>
  <url quality="hd">
    rtmp://artestras.fcod.llnwd.net/a3903/o35/mp4:geo/videothek/ALL/arteprod/A7_SGT_ENC_08_042206-000-A_PG_HQ_FR?h=985993171957266179184767ab785940
  </url>
</urls>
Youhou, on dirait bien le lien de la vidéo en qualité HD!
rtmp://artestras.fcod.llnwd.net/a3903/o35/mp4:geo/videothek/ALL/arteprod/A7_SGT_ENC_08_042206-000-A_PG_HQ_FR?h=985993171957266179184767ab785940

Et là on sort, l'outil VLC :)
vlc >> media > Convert/Save >> Network > URL > Convert/Save
rtmp://artestras.fcod.llnwd.net/a3903/o35/mp4:geo/videothek/ALL/arteprod/A7_SGT_ENC_08_042206-000-A_PG_HQ_FR?h=985993171957266179184767ab785940
Et pour le reste... remplissez par vous même en choisissant pour le format vidéo:
  • "Vidéo - H.264 + AAC (MP4)" si vous voulez pouvoir lire votre truc sur n'importe quoi
  • "Vidéo - VP80 + Vortbis (Webm)" si vous êtes un vrai! Attention l'encodage sera beaucoup plus lent.