Arte+7 directement dans Totem via un plugin

Pour ceux qui apprécient le service de télévision de rattrapage Arte+7 de la chaine franco-allemande Arte, mais que ça gonfle d’aller sur le site web d’Arte, se taper la navigation, l’interface lourde et le pire de tout « Flash », il existe désormais un greffon pour Totem permettant d’intégrer directement le service à Arte+7 à Totem.
Totem c’est le petit nom du lecteur video par défaut d’Ubuntu, au cas où certains ne seraient pas au courant.

Ce greffon liste des vidéos disponibles via le flux rss, affiche titre et vignette et vous permet d’un double-clic de lancer la lecture à la demande, comme c’est déjà le cas en standard pour la BBC, Jamendo et Youtube.

Il était dores et déjà possible, directement dans la page web, de visionner les vidéos sans le lecteur flash grâce au plugin totem pour Firefox qui permet de lire le format wmv (voir cette note). Mais avoir cette fonctionnalité directement intégrée à votre lecteur video, sans passer par le navigateur web, la navigation obligatoire en flash et d’avoir un accès simple et efficace aux vidéos disponibles, est un plus et une aisance indéniable.

Pour installer le greffon, deux possibilités:

– à partir des sources: via git ou en archive tar.gz disponibles à cette adresse http://gitorious.org/totem-plugin-arte
– pour Ubuntu directement à partir du dépôt PPA suivant: https://launchpad.net/~malaria/+archive/ppa
Perso, en bon barbare, je ne me suis pas ennuyé à utiliser le repository, j’ai juste récupéré le dernier paquet .deb en date qui va bien pour ma version d’ubuntu et mon architecture, directement ici: https://launchpad.net/~malaria/+archive/ppa/+packages

Un fois le greffon installé sur votre système, il ne reste plus qu’à l’activer:

Lancez Totem (alias « Lecteur Video« ), allez dans le menu Edition -> Greffons et cochez Flux Arte+7
Il est possible de configurer la langue (français ou allemand) et la qualité des vidéos (haute ou moyenne).

Source: foreground noise
Note: Arte+7 n’est normalement accessibles qu’aux IP de certains pays européens: France, Allemagne, Belgique, Suisse, Belgique.


Attention à compter du 20 Mai 2010 la partie ci-dessous est désuette, Arte ayant décidé de passer son site au tout Flash. Vous ne pouvez désormais que regarder en Flash sur le site et par la même occasion faire chauffer vos ordinateurs à cause de la gourmandise en ressources propre à Flash.
Note: Pour visualiser sur le site d’Arte les vidéos sans utiliser le lecteur flash, grâce au plugin Totem pour Firefox (intégré en standard avec Ubuntu), cliquez sur la droite de la fiche de la vidéo « Changer mes paramètres vidéos (qualité et format)« , puis choisir Windows Media (qualité Haute ou Moyenne, selon votre bande passante)

Les plugins VLC pour Firefox ou Mplayer pour Firefox doivent faire à peu près la même chose pour la lecture sur site… je trouve juste que Totem est mieux intégré au système et au navigateur (possibilité de plein écran, de visualisation déportée dans une instance autonome du lecteur, de copie de l’url de la video…)

24 thoughts on “Arte+7 directement dans Totem via un plugin”

  1. U007 says:

    … mais le 20 mai 2010, l’interface d’Arte+7 a totalement changé … et on ne trouve plus Windows Media, il me semble …

  2. tof says:

    Rohh, c’est tout en flash maintenant Arte+7… pfff… et évidemment le plugin pour Totem ne fonctionne plus avec cette version du site.

    Maudit soit Flash!!!

  3. U007 says:

    … et on fait comment ? ;-(

  4. tof says:

    Ben on ne fait plus pour l’instant… jusqu’à ce qu’une astuce ait été trouvé par le développeur du plugin ou par la communauté.

    Au départ ça ne semble pas simple, car si on regarde directement sur le site web d’Arte apparemment ils utilisent un serveur de streaming flash qui décompose la vidéo en petit bouts (chunk) avec vérification continuelle de sécurité. Donc pas possible de récupérer la vidéo même au format flv comme le fait le plugin Youtube pour Totem ou Minitube.

    Bref.. pas merci à Arte.

    Cependant en fouillant un peu dans le code source de la page de la video (après « vars_player.videorefFileUrl ») il est possible de récupérer un fichier xml qui dévoile ensuite l’adresse du flux RTMP de la vidéo, donc lisible via le plugin rtmp pour Totem. Bref il va falloir ruser un peu plus et renforcer le parsing pour que le plugin Arte+7 redevienne fonctionnel… mais je suis confiant :)
    J’ai testé l’url finale de la video avec le petit utilitaire en ligne de commande « flvstreamer » et j’arrive bien à récupérer la video par ce biais.

    J’ai remonté l’info sur le blog du développeur du plugin 😉

  5. Nicolas Delvaux says:

    Le problème c’est qu’il n’existe pas de plugin RTMP pour totem (mais il existe un patch expérimental pour gstreamer).

    En fait les fichiers .wmv sont toujours disponibles, mais ils ne sont indiqués nul part.
    On a un peu galéré, mais on a finalement réussi à recréer les anciens lien en mms:// à partir des adresses en RTMP.

    Le ppa est à jour et ça fonctionne (depuis hier soir).
    On corrige encore quelques bugs avant de sortir une nouvelle version (ce soir ?).

    Certaines vidéos ne fonctionnent pas, mais ça on y peut rien car elle ne fonctionnent pas non plus sur le site Arte+7. (Pas encore au point leur nouveau site…)

    Espérons qu’ils ne re-changent pas tout la semaine prochaine !

  6. tof says:

    Cool, bravo 😀

    Oui en espérant aussi qu’ils ne changent pas tout dans peu de temps… (je doute que les fichier .wmv restent longtemps accessibles, ce doit être un reliquat de leur ancien processus de production/diffusion et puisqu’il n’est plus utilisé en frontend, ce processus risque de disparaître en backend aussi).

    Mais à terme ce serait bien que gstreamer puisse supporter les flux rtmp.

  7. Nicolas Delvaux says:

    Si arte enlève définitivement les .wmv, le plugin restera malheureusement cassé pendant un certain temps…

    Pour rtmp dans gstreamer : https://bugzilla.gnome.org/show_bug.cgi?id=566604

  8. cxtofe says:

    Bonjour !

    Heureux de vous trouver car je peine 😉

    @ tof
    Pouvez-vous décrire la manip afin de récupérer l’adresse du flux via xml ?

    Un grand merci et bonne journée,
    cxtofe.

  9. tof says:

    @cxtofe: le plugin Arte+7 pour Totem a été mis a jour et est à nouveau fonctionnel pour le moment.
    Une simple mise à jour à partir du PPA suffit 😉

    Si tu veux récupérer le flux à la main ou fouiller pour te concevoir un script automatique (je vais prendre comme exemple le documentaire sur Tchernobyl d’hier)
    1. tu vas sur la page de la video: http://videos.arte.tv/fr/videos/tchernobyl_une_histoire_naturelle-3224506.html et tu regardes le code source html
    Dans ce code source au niveau de l’inclusion javascript du player tu récupères l’url dans la variable « vars_player.videorefFileUrl », dans cet exemple c’est: http://videos.arte.tv/fr/do_delegate/videos/tchernobyl_une_histoire_naturelle-3224506,view,asPlayerXml.xml
    (note: tu peux voir que tu peux déduire facilement l’url de ce fichier si tu connais déjà l’url de la page, notamment depuis les flux RSS)

    2. En regardant dans le code de ce premier fichier XML, cela te donne dans le code source 2 urls: une pour la video en allemand et l’autre pour la video en français

    <videos>
    <video lang="de" ref="http://videos.arte.tv/de/do_delegate/videos/tschernobyl_die_natur_kehrt_zurueck-3224508,view,asPlayerXml.xml"/>
    <video lang="fr" ref="http://videos.arte.tv/fr/do_delegate/videos/tchernobyl_une_histoire_naturelle-3224510,view,asPlayerXml.xml"/>
    </videos>

    Note: là aussi les urls peut se déduire automatiquement à partir de la référence principale +2 pour l’allemand, +4 pour le français 😉

    3. tu suis donc l’url de la video de ta langue (ici pour le français: http://videos.arte.tv/fr/do_delegate/videos/tchernobyl_une_histoire_naturelle-3224510,view,asPlayerXml.xml )
    et dans le code de ce second fichier XML tu as les adresses des streams SD et HD:

    <urls>
    <url quality="hd">
    rtmp://artestras.fcod.llnwd.net/a3903/o35/geo/videothek/EUR_DE_FR/arteprod/A7_SGT_ENC_16_039808-000-A_PG_HQ_FR?h=9abacd06b1652ca08798dd30cf7a70c7
    </url>
    <url quality="sd">
    rtmp://artestras.fcod.llnwd.net/a3903/o35/geo/videothek/EUR_DE_FR/arteprod/A7_SGT_ENC_14_039808-000-A_PG_MQ_FR?h=3d0a768a7d6a132dda6e0c293cdda705
    </url>
    </urls>

    En plus ya l’adresse de la vignette en jpg dans ce dernier fichier xml, donc à partir du flux RSS d’Arte+7 une simple incrémentation de valeur et de traitement de variable et un peu de parsing XML , tu peux aisément te faire une petit utilitaire Arte+7 standalone pour chez toi avec VLC en backend pour la lecture (car il lit les flux RTMP).
    En tout cas je vois déjà comment c’est faisable facilement en php de transformer le flux RSS d’Arte+7 en flux RSS (ou playlist m3u/pls) utilisable avec vignette et adresse finale des flux vidéos 😀

  10. cxtofe says:

    Bonjour !

    @tof
    Un grand merci pour ce message qui flatte mon égo mais dont la compréhension est limitée par mes compétences…

    Bon la partie récupération de flux, ça c’est dans mes cordes… mais dès que je mets dans VLC ou Totem : Rien.

    Problème d’ouverture de port pour VLC ?
    Pour Totem le plugin Arte ne fonctionne pas…

    Pour rtmpdump, j’essaie de comprendre toute la syntaxe.

    Bref plein de nouveau trucs pour moi. Donc je regarde ça de plus près et ne manquerai pas de repasser par ici.

    Un grand, grand merci pour cette solution.
    Et bonne journée à vous,
    😉

  11. tof says:

    le plugin Arte+7 pour Totem fonctionne dans sa nouvelle version ! (je viens de tester positivement ya pas 2 minutes).
    Voir https://launchpad.net/~malaria/+archive/ppa/+packages (la release du 2010-05-23).

    Note: même si ça flatte ton ego, ça servira surtout si quelqu’un souhaite un jour développer un truc sympa, il n’aura pas à refaire la démarche.

    Sinon, ouaip je viens de tester avec l’url direct du flux rtmp dans Totem, VLC et Mplayer: ça passe pas. (Pour Totem c’est normal, VLC je ne crois pas, et Mplayer je n’en sais rien).
    Par contre avec flvstreamer ça récupère bien la vidéo 😀

    Note: je ne sais pas si le serveur en face fait un check sur le user-agent…

  12. cxtofe says:

    Vraiment un grand merci…

    Pour totem : nickel !
    J’ai installé le plugin Lucid… Je suis sous Squeeze et donc pris au hasard d’un .deb.

    Pour flvstreamer… à la recherche de la syntaxe exacte. Donc pour le moment statu quo mais le bonheur est proche.

    Je suis vert d’avoir raté « Le mystère des abeilles » mais grâce à toi tof, je vais me rattraper.

    Je reviens quand j’aurai trouvé la syntaxe exacte.

    Bonne soirée,
    😉

  13. tof says:

    pour la syntaxe de flvstreamer, exemple pour sauvegarder une video:

    flvstreamer -r rtmp://artestras.fcod.llnwd.net/a3903/o35/geo/videothek/EUR_DE_FR/arteprod/A7_SGT_ENC_16_039808-000-A_PG_HQ_FR?h=9abacd06b1652ca08798dd30cf7a70c7 --flv monfichier.wmv

    Du coup, si tu sais scripter un peu pour le parsing, en te faisant des filtres via les rss ( http://videos.arte.tv/fr/videos/meta/index-3188674-3223978.html ) et en balançant ça dans un cronjob, tu peux ne plus jamais rien rater: « Arte+Infini ».
    Ca ne doit pas être pas bien compliqué en bash: un peu de curl et de regex…
    Mais faut prévoir un minimum d’espace de stockage 😉

    Il est bien le mystère de la disparition des abeilles… mais ça fout les boules.

  14. cxtofe says:

    Bonjour,

    @ tof
    Que dire… Mille fois merci !

    Je vais me rapprocher de ces termes parsing, curl et autre regex inconnus afin d’essayer d’y voir plus clair !

    Dans l’attente d’apporter ma contribution, bonne journée à tous !
    😉

    —Hors sujet mais d’actualité—
    Et pour ce jour, petites info. :
    http://www.fakirpresse.info/articles/339/hold-up-geant-le-film.html
    Si vous n’avez pas la patience rdv à la 7ème mn.

    Si vous voulez poursuivre…
    http://www.monde-diplomatique.fr/2010/02/LORDON/18789

    Ou en audio :
    http://www.la-bas.org/article.php3?id_article=1871

    Voilou.

  15. cxtofe says:

    Bonjour à tous !

    Je viens de lancer flvstreamer mais quelques secondes après…

    « ERROR: HandleCtrl: Ignoring SWFVerification request, no CRYPTO support! »

    « Arte » a activé un contrôle sur les serveurs ?

    Existe-t-il un moyenb d’enregistrer en streaming via mplayer ou autre quitte a faire défiler l’émission… ?

    Cordialement et bonne journée,
    😉

  16. tof says:

    Ca marche toujours très bien pour moi:

    flvstreamer -r rtmp://artestras.fcod.llnwd.net/a3903/o35/geo/videothek/EUR_DE_FR/arteprod/A7_SGT_ENC_16_039808-000-A_PG_HQ_FR?h=9abacd06b1652ca08798dd30cf7a70c7 --flv monfichier.wmv
    FLVStreamer v1.9
    (c) 2009 Andrej Stepanchuk, Howard Chu, The Flvstreamer Team; license: GPL
    Connecting ...
    Starting download at: 0.000 kB
    Metadata:                  
      audiocodecid          2
      audiodatarate         96.36
      canseektoend          FALSE
      creationdate          Tue May 25 20:37:32 2010
      duration              5415.62
      framerate             25
      height                406
      lastkeyframetimestamp 5415191
      lasttimestamp         5415617
      metadatacreator       On2 Flix SDK for Dshow_2.2.16.0
      videocodecid          4
      videodatarate         1147.41
      width                 720
    22413.889 kB / 208.95 sec (3.9%)

    Et même

    flvstreamer -r rtmp://artestras.fcod.llnwd.net/a3903/o35/geo/videothek/EUR_DE_FR/arteprod/A7_SGT_ENC_16_039808-000-A_PG_HQ_FR?h=9abacd06b1652ca08798dd30cf7a70c7 -o - | vlc -

    pour voir la video dans VLC 😉

    J’ai pas l’impression qu’il y ait un check de sécurité (à part la géolocatisation des IP: réservé à France/Allemagne/Belgique/Autriche…)

  17. cxtofe says:

    Bonjour,

    Bon pour moi soucis. Cela ne fonctionne pas.
    Je suis vraiment désolé.
    Je vous adresse une copie de la console…

    Pour Flvstreamer :
    —————————————————————————-
    flvstreamer -r rtmp://artestras.fcod.llnwd.net/a3903/o35/geo/videothek/EUR_DE_FR/arteprod/A7_SGT_ENC_16_039808-000-A_PG_HQ_FR?h=9abacd06b1652ca08798dd30cf7a70c7 –flv monfichier.wmv
    FLVStreamer v2.1c1
    (c) 2010 Andrej Stepanchuk, Howard Chu, The Flvstreamer Team; license: GPL
    Connecting …
    ERROR: HandleCtrl: Ignoring SWFVerification request, no CRYPTO support!
    Starting download at: 0.000 kB
    Metadata:
    audiocodecid 2.00
    audiodatarate 96.36
    canseektoend FALSE
    creationdate Tue May 25 20:37:32 2010
    duration 5415.62
    framerate 25.00
    height 406.00
    lastkeyframetimestamp 5415191.00
    lasttimestamp 5415617.00
    metadatacreator On2 Flix SDK for Dshow_2.2.16.0
    videocodecid 4.00
    videodatarate 1147.41
    width 720.00
    16271.032 kB / 151.43 sec (2.7%)
    ERROR: RTMP_ReadPacket, failed to read RTMP packet header
    Download may be incomplete (downloaded about 2.80%), try resuming
    —————————————————————————-

    Pour VLC :
    —————————————————————————-
    flvstreamer -r rtmp://artestras.fcod.llnwd.net/a3903/o35/geo/videothek/EUR_DE_FR/arteprod/A7_SGT_ENC_16_039808-000-A_PG_HQ_FR?h=9abacd06b1652ca08798dd30cf7a70c7 -o – | vlc –
    FLVStreamer v2.1c1
    (c) 2010 Andrej Stepanchuk, Howard Chu, The Flvstreamer Team; license: GPL
    Connecting …
    VLC media player 1.0.3 Goldeneye
    ERROR: HandleCtrl: Ignoring SWFVerification request, no CRYPTO support!
    Starting download at: -0.001 kB
    Metadata:
    audiocodecid 2.00
    audiodatarate 96.36
    canseektoend FALSE
    creationdate Tue May 25 20:37:32 2010
    duration 5415.62
    framerate 25.00
    height 406.00
    lastkeyframetimestamp 5415191.00
    lasttimestamp 5415617.00
    metadatacreator On2 Flix SDK for Dshow_2.2.16.0
    videocodecid 4.00
    videodatarate 1147.41
    width 720.00
    0.370 kB / 0.00 sec (0.0%)[0x948fca0] main interface error: no interface module matched « globalhotkeys,none »
    [0x948fca0] main interface error: no suitable interface module
    [0x93d58a8] main libvlc error: interface « globalhotkeys,none » initialization failed
    [0x93d58a8] main libvlc: Lancement de vlc avec l’interface par défaut. Utilisez « cvlc » pour démarrer VLC sans interface.
    95.280 kB / 0.99 sec (0.0%)swScaler: pal8 is not supported as output pixel format
    [0x985dd18] swscale scale error: could not init SwScaler and/or allocate memory
    QPainter::begin: Paint device returned engine == 0, type: 1
    QPainter::begin: Paint device returned engine == 0, type: 1
    6805.448 kB / 62.87 sec (1.1%)
    ERROR: RTMP_ReadPacket, failed to read RTMP packet header
    Download may be incomplete (downloaded about 1.10%), try resuming
    —————————————————————————-

    Donc pour les deux :
    ERROR: HandleCtrl: Ignoring SWFVerification request, no CRYPTO support!

    Par avance merci et bonne fin week-end ou bon début de semaine !
    😉

  18. tof says:

    En effet, avec ta ligne de commande chez moi ça stoppe à ~25%

    DEBUG: ReadN, RTMP socket closed by server
    ERROR: ReadPacket, failed to read RTMP packet header
    DEBUG: WriteStream returned: -1
    Download may be incomplete (downloaded about 25.60%), try resuming
    DEBUG: Closing connection.

    Pareil à ~50% quand j’utilise le connecteur « -e » pour faire un « resume ».
    Il semblerait que le serveur de stream n’envoie pas tout d’un coup mais des chunk (morceaux)… à intervalles réguliers de temps. C’est possible que le serveur envoie un paquet avec un header spécifique et attende une réponse du lecteur flash pour savoir si son tampon est à un certain niveau de vidage. Je penche pour le temps car chez toi c’est dès 1% que ça commence et chez moi à 25% (probablement parce que je d/l rapidement, connecté en fibre optique 100Mbps).

    Faudrait peut-être faire une boucle en bash pour à chaque fois que flvstreamer renvoie « Download may be incomplete (downloaded about xxxx%), try resuming » il relance flvstreamer en mode resume…

    Par contre je n’ai pas

    ERROR: HandleCtrl: Ignoring SWFVerification request, no CRYPTO support!

    Cela doit être du à ta version de flvstreamer (j’ai la 1.9 du repository Ubuntu).

    Je pense que je ne vais pas creuser plus loin, car je vais probablement m’équiper d’un tuner TNT USB + installer MythTV backend et MythWeb sur mon serveur debian @home, donc Arte+7 me sera complètement inutile à terme.

  19. cxtofe says:

    Bonjour !

    Chapeau bas, tof !

    J’espère résoudre ce petit désagrément et ne manquerai pas de revenir par chez vous… pour poster une suite voire lire et m’informer sur d’autres sujets. Tout aussi passionnants.

    Bonne continuation,
    cxtofe 😉

  20. cxtofe says:

    Bonjour,

    Je reviens vers vous pour ce lien
    http://www.encodage.org/phpBB/viewtopic.php?f=31&t=86&p=374#p374
    Et donc le logiciel TVO
    Voilà après plusieurs mises à jour ce logiciel fait ce qu’on lui demande. Simplement. Merveilleusement !

    Installer Wine et lance l’.exe directement. Mplayer installé. La suite est limpide.

    Voilou.
    cxtofe. 😉

  21. levy says:

    Merci pour la solution avec flvstreamer. En répetant la même commande avec l’option -e (resume), je réussis à récupérer l’ensemble du fichier.
    Mais quelle peine pour retrouver l’adresse du flux rtmp !
    J’utilise cacheviewer et je recherche les fichiers comportant PlayerXml pour m’aider.

  22. tof says:

    @levy:
    Ya une méthode assez simple par déduction pour récupérer l’adresse des flux, j’en parlais en commentaire plus haut.

    Que ce soit à directement à partir du site Arte+7 ou bien depuis le flux RSS (http://videos.arte.tv/fr/do_delegate/videos/arte7/index-3188666,view,rss.xml) tu récupère l’adresse url de la page de présentation de la video.
    Exemple pour « Les montagnes du monde » : http://videos.arte.tv/fr/videos/les_montagnes_du_monde-3290306.html
    De cette url tu ne gardes que le nombre à la fin, auquel tu ajoutes 4 (pour le français, ou 2 pour l’allemand, ça marche dans 90% des videos).

    Et le nombre que tu obtiens tu le glisses dans cette adresse à la place des xxxxxx:
    http://videos.arte.tv/fr/do_delegate/videos/v-xxxxxxx,view,asPlayerXml.xml

    3290306+4 = 3290310, ça te donne l’adresse du fichier XML final dans lequel tu trouvera les flux vidéo:
    http://videos.arte.tv/fr/do_delegate/videos/v-3290310,view,asPlayerXml.xml

    C’est encore plus simple si tu utilises un parser xml ou si tu scriptes ça pour l’avoir automatiquement (en bash, python, php, etc…), tu récupères le noeud « guid » du flux rss et t’as directement le nombre à mettre à la place des xxxxx sans calcul 😉

    Je vais voir si jamais j’ai un peu de temps de cerveau disponible pour faire un truc automatique en php… -> ça a été assez rapide à faire et c’est ici: http://www.galipe.net/example/plussept.php

  23. levy says:

    Merci tof pour ta réponse.
    Mais l’adresse de ton truc automatique est incorrect et malheureusement je connais trop peu de php (pour l’instant, car j’espère progresser) pour arriver à rédiger un tel script.
    Tes informations vont m’aider à retrouver les adresses des émissions d’arte.

  24. Anne Onyme says:

    Avec rtmpdump, il suffit de spécifier l’adresse du lecteur flash. Ainsi :

    rtmpdump -W http://bla/videoplayer.swf -r rtmp://bla?h=bla -o blablabla.mp4

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Vous pouvez utiliser ces balises et attributs HTML : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>