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.

#26 Le 24/05/2010, à 07:05

pascal92

Re : Arte +7 recorder version 4 (script shell temporaire)

Bonjour,

@ Malaria
Mon application est libre ?
Bein oui, mais ce n'est pas le problème...
Disons que je suis un programmeur du dimanche, et le langage de script que j'utilise
ne possède pas de fonction propre pour parser correctement du xml.
Alors j'ai fait ça, comme je pouvais et ce n'est franchement pas propre...:rolleyes:
En gros j'utilise une boucle en faisant une recherche ligne par ligne des items recherchés en prenant garde du fait que ce xml n'est pas standard (teaser sur plusieurs lignes par exemple).
Bref c'est pas très propre... mais si tu butes sur un point particulier j'essaierai de t'expliquer comment je me suis débrouillé.

@ Bigbig :
en faisant un wget sur http://videos.arte.tv/fr/videos/arte7#/fr/list/date//1/99/
tu devrais pouvoir récupérer le code sur ton système non ?

Pour Arte Live là je peux aider mais le mieux serait de créer un autre fil de discutions mais en gros :

Partir d'un des RSS pour la liste de programmes, par exemple pour les derniers programmes mis en ligne:
http://download.liveweb.arte.tv/o21/liveweb/rss/home-1-fr.rss
Après avoir parsé cette liste on peut choisir un programme par exemple :
http://liveweb.arte.tv/fr/video/Miss_Platnum_au_festival_Art_Rock_de_Saint_Brieuc/
Le code source de cette page nous fournis l' "eventId" --> 1115
Alors dans le fichier xml :
http://arte.vo.llnwd.net/o21/liveweb/events/event-1115.xml
nous retrouvons toutes les infos dont l'url HD :
rtmp://arte.fcod.llnwd.net/a2306/o25/MP4:liveweb/stream/1100_missplatnum_hd.mp4
soit pour enregistrer avec RtmpDump :
rtmpdump --host arte.fcod.llnwd.net --app a2306/o25 --playpath MP4:liveweb/stream/1100_missplatnum_hd.mp4 --flv "Miss Platnum au festival Art Rock de Saint Brieuc.mp4"

Ah si de mon coté j'ai un problème avec les flux de France 5 (sur Akamaistream), pour l'enregistrement ça passe mais pour les regarder via mplayer (hors navigateur) je bute sur un temps de connexion au serveur extrêmement long, si quelqu'un avait une idée ?

voilà @+

Dernière modification par pascal92 (Le 24/05/2010, à 08:19)

Hors ligne

#27 Le 24/05/2010, à 12:28

heuuuuu

Re : Arte +7 recorder version 4 (script shell temporaire)

Visiblement, l'url de la video "rtmp://..." n'est plus dans le fichier URL_XML2, donc impossible de récupérer la video...

Sinon, voila une petite version plus sympa un peu vite fait (mais qui marche pas du coup à cause de ça):

arte.sh

#!/bin/bash

HISTORIQUE=~/Videos/narte/.hist
output_dir=~/Videos/narte

function get_vid
{
  echo http://videos.arte.tv$1
  echo "$output_dir/$2"
  ./downloadArteFlv.sh http://videos.arte.tv$1 "$output_dir/$2"  &> /dev/null
  if [ $? -eq 0 ]
  then
    echo $1 >> $HISTORIQUE
  else
    echo -e "\033[01;31mUne erreur est apparue, l'emission $TITRE n'a pas pu etre telechargee\033[0m"
  fi
}

function get
{
  echo 
  echo -e "\033[1m$2\033[0m"
  echo "Date : $3"
  echo "Description : $4"
  REPONSE_OK="FALSE"
  while [[ $REPONSE_OK == "FALSE" ]]
  do 
    echo -n "Voulez-vous cette video ? [o/n] "
    read REPONSE <&1
    if [[ $REPONSE == "oui" || $REPONSE == "o" || $REPONSE == "OUI" || $REPONSE == "Oui" || $REPONSE == "O" ]]
    then
      get_vid $1 "$2.flv" &
      REPONSE_OK="TRUE"
    elif [[ $REPONSE == "non" || $REPONSE == "n" || $REPONSE == "NON" || $REPONSE == "Non" || $REPONSE == "N" ]]
    then
      echo $1 >> $HISTORIQUE
      REPONSE_OK="TRUE"
    else
      echo "Je n'ai pas compris votre reponse..."
    fi
  done
}

mkdir -p $output_dir
if [ ! -f $HISTORIQUE ]; then touch $HISTORIQUE; fi

wget -O /tmp/arte.xml http://videos.arte.tv/fr/videos/arte7 2> /dev/null
xsltproc xsl.xslt /tmp/arte.xml > /tmp/arte_videos

while read line
do
    ID=`echo $line | cut -d '|' -f1`
    TITRE=`echo $line | cut -d '|' -f2`
    DATE=`echo $line | cut -d '|' -f3`
    DESC=`echo $line | cut -d '|' -f4`
    grep -q $ID $HISTORIQUE || get "$ID" "$TITRE" "$DATE" "$DESC"
done < /tmp/arte_videos

exit 0

xsl.xslt (remplacer retours chariots par '& #10;' et les espaces par '& #32; ' (mais sans espace) dans la fonction translate (ça ne passe visiblement pas sur le forum).

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" xmlns:xhtml="http://www.w3.org/1999/xhtml">

<xsl:output method="text" />

<xsl:template match="/">

<xsl:for-each select="//xhtml:noscript//xhtml:div[@class='video']">

<xsl:value-of select="translate(xhtml:h2/xhtml:a/@href, '
',' ')" /> | <xsl:value-of select="translate(xhtml:h2/xhtml:a, '
',' ')" /> | <xsl:value-of select="translate(xhtml:p, '
',' ')" /> | <xsl:value-of select="translate(xhtml:div/xhtml:div/xhtml:p, '
',' ')" /><xsl:text>&#xa;</xsl:text>

</xsl:for-each>

</xsl:template>

</xsl:stylesheet>

downloadArteFlv.sh

#!/bin/bash

# L'URL de la page d'affichage de la vidéo
URL_PAGE="$1"

echo $2

# On stocke le code HTML de la page car on s'en sert 2 fois
HTML_PAGE="$(mktemp)"
wget -o /dev/null -O "$HTML_PAGE" "$URL_PAGE"

# On récupère l'URL du player
URL_PLAYER=`sed -n 's!<param name="movie" value="\([^\?]\+\)\?.*!\1!p' "$HTML_PAGE"`

# On récupère l'URL du 1er fichier XML, qui nous mène à un 2ème fichier XML, lequel contient l'URL RTMP
URL_XML1=`sed -n 's!vars_player.videorefFileUrl = "\([^"]\+\)";!\1!p' "$HTML_PAGE"`
URL_XML2=`wget -o /dev/null -O- "$URL_XML1" | sed -n 's!<video lang="fr" ref="\([^"]\+\)"/>!\1!p'`
URL_RTMP=`wget -o /dev/null -O- "$URL_XML2" | sed -n 's!<url quality="hd">\([^<]\+\)</url>!\1!p'`

echo URLRTMP : $URL_RTMP 
echo URLPLAYER : $URL_PLAYER

# On appelle la commande rtmpdump pour télécharger le fichier flv
rtmpdump -r "$URL_RTMP" --swfVfy "$URL_PLAYER" -o "$2"

RET=$?

# On efface le fichier temporaire dont on n'a plus besoin
rm "$HTML_PAGE"

echo $RET

exit $RET

edit: petite correction qui fait que ça marche pour les anciennes videos

Dernière modification par heuuuuu (Le 24/05/2010, à 13:55)


Quand les avions en papier ne partent plus au vent
On se dit que l'bon temps passe finalement...
...comme une étoile filante
http://forum.ubuntu-fr.org/viewtopic.php?id=139410

Hors ligne

#28 Le 24/05/2010, à 12:45

Malizor

Re : Arte +7 recorder version 4 (script shell temporaire)

heuuuuu a écrit :

Visiblement, l'url de la video "rtmp://..." n'est plus dans le fichier URL_XML2, donc impossible de récupérer la video...

Tu remarqueras que ça ne marche pas non plus avec le lecteur flash, donc c'est un bug et ça vient de chez eux.


« Prouver que j'ai raison serait accorder que je puis avoir tort. »  -  Beaumarchais  ← Le premier troll ?

Hors ligne

#29 Le 24/05/2010, à 12:59

heuuuuu

Re : Arte +7 recorder version 4 (script shell temporaire)

Non, je ne le remarque pas, car je n'ai pas de lecteur flash.

Donc là c'est normal qu'il n'y ai aucune video qui marche ?


Quand les avions en papier ne partent plus au vent
On se dit que l'bon temps passe finalement...
...comme une étoile filante
http://forum.ubuntu-fr.org/viewtopic.php?id=139410

Hors ligne

#30 Le 24/05/2010, à 13:21

Malizor

Re : Arte +7 recorder version 4 (script shell temporaire)

Oui, aucune des vidéos mises en ligne depuis hier ne fonctionne.
(et impossible de laisser des commentaires sur les vidéos, même si ça c'est moins grave).

Leur nouveau site n'est pas encore très au point... (et vu qu'on est en week-end prolongé et qu'il semble que le site soit géré en France...)


« Prouver que j'ai raison serait accorder que je puis avoir tort. »  -  Beaumarchais  ← Le premier troll ?

Hors ligne

#31 Le 24/05/2010, à 13:29

beudbeud

Re : Arte +7 recorder version 4 (script shell temporaire)

je pense qu'il faut attendre que tout ce mette en place pour ne pas coder pour rien.

Sinon je recherche des personne motiver pour m'aider pour la version bash et python de Arte +7 recorder car en ce moment je suis en plein exam donc j'ai pas beaucoup de temps a y consacrer

merci  de  me contacter par mail

Dernière modification par beudbeud (Le 24/05/2010, à 13:30)


Télécharger les émissions de Arte +7 avec Arte +7 recorder
Theme pour Ubuntu Bisigi Project

Vostro 1510 Ubuntu 10.04

Hors ligne

#32 Le 24/05/2010, à 13:56

heuuuuu

Re : Arte +7 recorder version 4 (script shell temporaire)

Malaria a écrit :

Oui, aucune des vidéos mises en ligne depuis hier ne fonctionne.
(et impossible de laisser des commentaires sur les vidéos, même si ça c'est moins grave).

Leur nouveau site n'est pas encore très au point... (et vu qu'on est en week-end prolongé et qu'il semble que le site soit géré en France...)

Ok merci, y'avais aussi une petite erreur dans mes fichiers, maintenant ça marche avec les anciennes videos...


Quand les avions en papier ne partent plus au vent
On se dit que l'bon temps passe finalement...
...comme une étoile filante
http://forum.ubuntu-fr.org/viewtopic.php?id=139410

Hors ligne

#33 Le 26/05/2010, à 23:23

suidacra

Re : Arte +7 recorder version 4 (script shell temporaire)

Bonjour, je serais intéressé par une méthode simplifiée de téléchargement des vidéos sur arte plus 7 sous Windows. N'ayant pas les compétences informatiques pour le faire, je me demandais si un plug-in firefox serait possible à réaliser à la manière de download helper?

Hors ligne

#34 Le 26/05/2010, à 23:29

Titanet

Re : Arte +7 recorder version 4 (script shell temporaire)

Salut, y a plus simple, va voir à cette adresse http://www.encodage.org/phpBB/viewtopic.php?f=31&t=65, je rêve de la même application sous Ubuntu !


"Ce n’est pas parce que les choses sont difficiles que nous n’osons pas, c’est parce que nous n’osons pas qu’elles sont difficiles." Sénèque

Sous Ubuntu 14.04 LTS (desktop), avec Ubuntu depuis The Hoary Hedgehog 5.04

Hors ligne

#35 Le 27/05/2010, à 09:15

suidacra

Re : Arte +7 recorder version 4 (script shell temporaire)

Ah ouais, pas mal du tout! Merci beaucoup!

Hors ligne

#36 Le 27/05/2010, à 17:31

kimble

Re : Arte +7 recorder version 4 (script shell temporaire)

Bonjour,
Merci à Titanet pour son lien.
Je ne connaissais pas ce logiciel (très sympa mais... sous wintruc) sad sad
Je suis en train d'essayer de l'utiliser avec Wine sous Lucid : pour le moment il semble qu'il y ait pas mal de choses qui ne fonctionnent pas mais ça a l'air d'enregistrer. A suivre.
Kimble

Dernière modification par kimble (Le 27/05/2010, à 17:35)


Ordinateur: HP DC5850 UT.Processeur AMD Phenom triple core 8600B (64 Bits)
O.S: Windows XP SP3 32 Bits et Ubuntu 64 bits 10.10  (En dual boot sur 2 disques séparés.)
Portable Asus N76VZ-V2G-T1002V Windows 7/Ubuntu 12 64 bits (En dual boot sur 2 disques séparés)
LIVEBOX 2 MINi liaison Ethernet. pour le bureau Wifi pour le portable (quand je peux me connecter )

Hors ligne

#37 Le 27/05/2010, à 18:15

pascal92

Re : Arte +7 recorder version 4 (script shell temporaire)

Bonsoir,

Toutes les applications externes à TVO ont pour origine linux, il n'y a pas de raison pour que l'un d'entre vous n'arrive pas à en faire + ou - rapidement un équivalent.
Comme je l'ai déjà dit, je ne suis pas un pro de la programmation, mais si quelqu'un à besoin de savoir comment j'ai pu faire tel ou tel chose, faites moi signe sur mon forum par exemple. Pas de soucis pour partager mon expérience.
Pour mémo,
les flux flv sont téléchargés avec RTMPDUMP,
les flux wmv avec Mplayer

Pour Arte+7, les wmv sont récupérés selon la méthode de bigbig.
Mais j'ai laissé la possibilité d'utiliser les flv (en espérant une amélioration)
Les wmv sont automatiquement ré-indexés avec asfbin.
Les flv H264 (Arte Live, Canal) sont encapsulés dans du MKV via mkvmerge.

Les flux de France 5 sont sur akamaistream, qui passent mal en ce moment avec les lecteurs externes. Ma version de MPlayer arrive tout de même à les enregistrer après un délai d'attente de 40s, le temps de faire différents essais sur le serveur avant de prendre le bon protocole que je n'arrive pas à définir directement (ASF/HTTP)

En lecture, les Flux FLV sont décodés par RTMPDUMP puis lus via le pipe stdin par Mplayer.

La recherche de clé pour la Web TV d'orange est faite sur le même principe que celui déjà décrit sur ce forum.

Le gros du travail étant de parser correctement les différentes playlists.

Et comme je risque encore de faire de nombreuses modifications le mieux est encore d'utiliser ce lien pour retrouver le dernière version de TVO :
http://www.encodage.org/phpBB/viewforum.php?f=31
Voilà pour ma pub d'une application Windows sur un forum Ubuntu wink

Dernière modification par pascal92 (Le 27/05/2010, à 18:40)

Hors ligne

#38 Le 28/05/2010, à 09:21

Styrinx

Re : Arte +7 recorder version 4 (script shell temporaire)

Bonjour,
je suis en train de travailler à un portage d'un TVO like, en java swing...
(seulement pour Arte, je suis un artégriste!)
donc ça devrait théoriquement tourner sous win et linux.
Page du projet: http://kenai.com/projects/arteseven

ArteSevenGui4.jpg

Dernière modification par Styrinx (Le 02/06/2010, à 11:04)

Hors ligne

#39 Le 29/05/2010, à 16:02

romeox

Re : Arte +7 recorder version 4 (script shell temporaire)

La dernière version en ligne de arte7+-recorder 5.0 fonctionne impeccable ..
smile

Hors ligne

#40 Le 29/05/2010, à 16:43

jojojcf

Re : Arte +7 recorder version 4 (script shell temporaire)

Bonjour,

Un grand merci pour tous ces efforts : cela fait effectivement plusieurs jours que je suis privé de arte+7 recorder.

J'avais la version 4 ; j'ai donc téléchargé la version 5. Mais problème : je sélectionne une émission, je clique sur "Download" et je vois apparaître le message "Il y a un problème avec votre connexion internet".

Lequel ? Puisque je suis correctement connecté et que je peux enregistrer d'autres choses.

Merci de vos lumières !

Hors ligne

#41 Le 29/05/2010, à 17:36

romeox

Re : Arte +7 recorder version 4 (script shell temporaire)

Je n'ai pas ce problème.
Est-ce que le paquetage python-beautifulsoup est installé ?
Apparemment, il est nécessaire pour le fonctionnement du programme...

Hors ligne

#42 Le 29/05/2010, à 18:03

general alcazar

Re : Arte +7 recorder version 4 (script shell temporaire)

Merci à beudbeud et aux autres, la mise à jour fonctionne parfaitement smile

edit:
Double merci !!
Et en + le streaming se fait en utilisant le player défini dans "préférences". Pour moi mplayer.

Dernière modification par general alcazar (Le 29/05/2010, à 18:07)

Hors ligne

#43 Le 29/05/2010, à 22:13

pgraber

Re : Arte +7 recorder version 4 (script shell temporaire)

Merci aux dévoués codeurs !

Serait-il possible d'obtenir les wmv au lieu des flv ?

La qualité est fort différente...
voir par exemple ce qu'on obtient avec TVO de pascal92 (mais pour Windows).

Pierre

Dernière modification par pgraber (Le 29/05/2010, à 22:13)

Hors ligne

#44 Le 30/05/2010, à 07:48

jojojcf

Re : Arte +7 recorder version 4 (script shell temporaire)

Réponse à Romeox. J'ai le paquetage python-beautifulsoup.

En fait, je viens de trouver la solution : c'est bizarre mais ça marche ! Après la sélection du programme, je vais dans "files" et je choisis le dossier dans lequel je désire enregistrer l'émission. Puis je clique sur "download". Résultat : apparaît alors le message d'erreur "Il y a un problème avec votre connexion internet".

Je retourne alors dans "files" et choisis à nouveau le dossier dans lequel j'enregistre (il a entretemps changé !). Je clique à nouveau sur "download" et ça marche !

Merci à tous ceux qui y ont contribué.

Hors ligne

#45 Le 01/06/2010, à 17:18

Lord Northam

Re : Arte +7 recorder version 4 (script shell temporaire)

pgraber a écrit :

Merci aux dévoués codeurs !

Serait-il possible d'obtenir les wmv au lieu des flv ?

La qualité est fort différente...
voir par exemple ce qu'on obtient avec TVO de pascal92 (mais pour Windows).

Pierre

Oui, en suivant les indications données par bigbig plus haut on peut créer un lien mms vers les .wmv

Ensuite, j'utilise mplayer pour les enregistrer et ça fonctionne fort bien.

Hors ligne

#46 Le 01/06/2010, à 21:40

Titanet

Re : Arte +7 recorder version 4 (script shell temporaire)

Lord Northam a écrit :

Oui, en suivant les indications données par bigbig plus haut on peut créer un lien mms vers les .wmv

Ensuite, j'utilise mplayer pour les enregistrer et ça fonctionne fort bien.

Salut Lord Northam, quand est-ce que tu nous sors ta version multi-téléchargement des .wmv comme tu as su le faire avec l'ancienne version du site Arte+7 ? On est prêt à te donner un coup de main s'il le faut.
Bon courage.


"Ce n’est pas parce que les choses sont difficiles que nous n’osons pas, c’est parce que nous n’osons pas qu’elles sont difficiles." Sénèque

Sous Ubuntu 14.04 LTS (desktop), avec Ubuntu depuis The Hoary Hedgehog 5.04

Hors ligne

#47 Le 01/06/2010, à 22:35

Lord Northam

Re : Arte +7 recorder version 4 (script shell temporaire)

Titanet a écrit :
Lord Northam a écrit :

Oui, en suivant les indications données par bigbig plus haut on peut créer un lien mms vers les .wmv

Ensuite, j'utilise mplayer pour les enregistrer et ça fonctionne fort bien.

Salut Lord Northam, quand est-ce que tu nous sors ta version multi-téléchargement des .wmv comme tu as su le faire avec l'ancienne version du site Arte+7 ? On est prêt à te donner un coup de main s'il le faut.
Bon courage.

Hey salut toi,

Bah ce script là est mort il y a une semaines, et ça m'embête bien puisqu'il était très adapté à mes besoins. Il fait quasi 1000 lignes, ce qui complique son adaptation au nouveau système, tellement il était construit sur l'ancien.

Je me suis donc limité à prendre le script de secours, le modifier pour récupérer une liste d'émission en fenêtre Zenity, gérer des nom de fichier à l'ancienne avec les dates correctes. Sur 23 émissions de cette semaine qui m'intéresse, j'en ai 21. Deux n'ont pas de lien valide en .wmv pour une raison que j'ignore.

Pour traiter l'URL, j'ai fouillé le code très propre et très bien commenté du gars qui a fait le plug-in Totem, en plus des indications de Bigbig.
À mon avis Beudbeud devrait pouvoir intégrer ça facilement à la version Python, moi je n'y connais rien du tout en Python et j'ai un bash fonctionnel mais très enfantin. xD

Je regrette quand même le bon vieux temps où il me suffisait de cocher 15-20 émissions pour qu'elles s'enregistrent seules avec redémarrage auto en cas de coupure de tout, car je pouvais lancer le script à l'unif sans devoir m'en préoccuper... En plus ça archivait tout, résumés et icônes des émissions. Le script générait une page HTML catalogue contenant toutes les émissions passées sur Arte+7 depuis plus d'un an, avec indications de celles que j'ai. C'est très pratique pour une recherche thématique quand on a comme moi un nombre d'émissions très élevé lol.

Hors ligne

#48 Le 02/06/2010, à 14:48

cauchy

Re : Arte +7 recorder version 4 (script shell temporaire)

Merci pour la réponse tout en haut !
De plus Arte+7 recorder remarche que demander de mieux.


S. Lejoly
Acer AspireOne 9' sous Ubuntu 32bits 10.04, Artic MC001E sous Mint 14 64bits , AMD Duron 1,4 GHz sous Debian Squeeze, Compaq AMD K6 533 MHz sous Asri éducation (Toutou linux) et Mac OS X 6.7 sur MacBook intel.

Hors ligne

#49 Le 04/06/2010, à 20:43

pasteque

Re : Arte +7 recorder version 4 (script shell temporaire)

Problèmes réguliers avec le script temporaire, RTMPDump renvoit souvent :
ERROR: ReadPacket, failed to read RTMP packet header
Download may be incomplete (downloaded about 36.00%), try resuming

Hors ligne

#50 Le 10/06/2010, à 01:12

BorX

Re : Arte +7 recorder version 4 (script shell temporaire)

Bon, j'ai enfin pu passer un peu de temps pour me refaire un script de base qui me convient smile

Chez moi, Arte+7Recorder v5 fonctionne pas mal du tout (chapeau bas accompagné de chaleureux remerciements à beudbeud, et aux autres développeurs et correcteurs).
Seulement, je fais également partie des déçus du format FLV, effectivement plus crade que WMV.

Alors j'ai refait mon petit script de base en suivant la méthode bigbig.
L'idée est d'avoir un script le plus simple possible, dépourvu de fonctionnalité secondaire qui complique les évolutions en cas d'urgence, et surtout qui décrit une méthode de base dont les autres softs plus élaborés peuvent s'inspirer.
Et puis, personnellement, je préfère également le format WMV, et ça ne me dérange pas (encore) de faire un copier/coller d'une URL dans un shell.

Bref, le script attend en paramètre l'URL de la page dont on souhaite télécharger la vidéo, comme ça :

$ ./arte http://videos.arte.tv/fr/videos/le_dessous_des_cartes-3242714.html
mms://artestras.wmod.llnwd.net/a3903/o35/geo/arte7/EUR_DE_FR/arteprod/A7_SGT_ENC_08_042143-030-A_PG_HQ_FR.wmv?e=1276125683&amp;h=1b00c88d9923b6213dae4eefa66b7dbc => le_dessous_des_cartes-3242714.wmv
50.41 MB / 50.44 MB (101.80 kB/s, 00:00:00 remaining)                                                                                                                                                  
Download complete!

Et il est fait comme ça :

#!/bin/bash

# Exemple d'application de la procédure :
# URL_PAGE=http://videos.arte.tv/fr/videos/magritte_le_jour_et_la_nuit-3245072.html
# OUT_FILENAME=magritte_le_jour_et_la_nuit-3245072.wmv
# URL_XML1=http://videos.arte.tv/fr/do_delegate/videos/magritte_le_jour_et_la_nuit-3245072,view,asPlayerXml.xml
# URL_XML2=http://videos.arte.tv/fr/do_delegate/videos/magritte_le_jour_et_la_nuit-3245076,view,asPlayerXml.xml
# NOM_WMV1=default/arteprod/A7_SGT_ENC_16_038909-000-A_PG_HQ_FR
# NOM_WMV2=default/arteprod/A7_SGT_ENC_08_038909-000-A_PG_HQ_FR.wmv
# URL_MIMMS='mms://artestras.wmod.llnwd.net/a3903/o35/geo/arte7/default/arteprod/A7_SGT_ENC_08_038909-000-A_PG_HQ_FR.wmv?e=1276178525&amp;h=81e555973304cbacd5fe15882cef8002'

# L'URL de la page d'affichage de la vidéo
URL_PAGE="$1"
[ -z "$URL_PAGE" ] && exit 1

# Le fichier de destination
OUT_FILENAME="$2"
[ -z "$OUT_FILENAME" ] && {
  OUT_FILENAME=$(sed -n 's!.*/\([^/]\+-[0-9]\+\)\.html!\1.wmv!p' <<< "$URL_PAGE")
}

# On récupère l'URL du 1er fichier XML, qui nous mène à un 2ème fichier XML duquel on déduit la fin de l'URL d'accès au fichier WMV
URL_XML1="$(wget -o /dev/null -O- "$URL_PAGE" | sed -n 's!vars_player.videorefFileUrl = "\([^"]\+\)";!\1!p')"
URL_XML2="$(wget -o /dev/null -O- "$URL_XML1" | sed -n 's!<video lang="fr" ref="\([^"]\+\)"/>!\1!p')"
NOM_WMV1="$(wget -o /dev/null -O- "$URL_XML2" | sed -n 's!<url quality="hd">rtmp.*/\([^/]\+/arteprod/A7[^\?]\+\)?.*!\1!p')"

# On modifie le nom du WMV (encodage -8) : par exemple ENC_14 -> ENC_06
NOM_WMVD="$(sed 's!\(.*ENC_\).*!\1!' <<< "$NOM_WMV1")"
ENC_VAL="$(sed 's!'$NOM_WMVD'\([^_]\+\)_.*!\1!' <<< "$NOM_WMV1")"
NOM_WMVF="$(sed 's!'$NOM_WMVD$ENC_VAL'\(_.\+\)!\1!' <<< "$NOM_WMV1")"
ENC_VAL=$(($ENC_VAL - 8))
[ $ENC_VAL -lt 10 ] && ENC_VAL="0$ENC_VAL"
NOM_WMV2="$NOM_WMVD$ENC_VAL$NOM_WMVF.wmv"

# On déduit l'URL mimms
URL_MIMMS="$(wget -o /dev/null -O- "http://artestras.wmod.rd.llnw.net/geo/arte7/$NOM_WMV2" | sed -n 's!.*REF HREF="\(mms[^"]\+\)".*!\1!p')"

# Et on lance mimms
mimms -r "$URL_MIMMS" "$OUT_FILENAME"

EDIT: Cette version du script tient compte des remarques émises par Malaria ci-après (jusqu'au post #55)

Lord Northam a écrit :

Pour traiter l'URL, j'ai fouillé le code très propre et très bien commenté du gars qui a fait le plug-in Totem, en plus des indications de Bigbig.

+1

Lord Northam a écrit :

À mon avis Beudbeud devrait pouvoir intégrer ça facilement à la version Python, moi je n'y connais rien du tout en Python et j'ai un bash fonctionnel mais très enfantin. xD

+1

Dernière modification par BorX (Le 10/06/2010, à 15:50)

Hors ligne