Association du Grand Avignon des utilisateurs de Linux / *BSD, et de logiciels libres.

Voir et revoir les vidéos de Arte+7 en ligne de commande

Si vous souhaitez voir ou revoir facilement les vidéos du site Arte+7, vous pouvez utiliser le script shell [1]), qui se trouve en annexe.

Il repose sur le fabuleux framework, GStreamer.

Édit (mise à jour, 28 juin 2013) : Lisez bien les prérequis notamment si vous êtes sous Debian/Ubuntu ou LinuxMint.

Note

[1] Je me suis appuyé sur sh(1), donc il fonctionne avec n'importe quel interpréteur de commandes tels que Bash, cshell, mksh, ...

Il fonctionne parfaitement sous FreeBSD (et bien entendu Linux).

Les prérequis

Les plugins gst-plugins-bad et gst-plugins-good doivent être installés.

Assurez-vous que le plugin flv soit installé.

gst-inspect flv

Vous devriez avoir quelque chose qui ressemble à ça [1] :

Plugin Details:
  Name:			flv
  Description:		FLV muxing and demuxing plugin
  Filename:		/usr/lib/gstreamer-1.0/libgstflv.so
  Version:		1.0.7
  License:		LGPL
  Source module:	gst-plugins-good
  Source release date:	2013-04-26
  Binary package:	Fedora GStreamer-plugins-good package
  Origin URL:		http://download.fedoraproject.org

  flvmux: FLV muxer
  flvdemux: FLV Demuxer

  2 features:
  +-- 2 elements

Et rtmp (à taper dans une console, gst-inspect rtmp). Si vous utilisez ce logiciel, assurez-vous que realpath soit également installé (uniquement valable sous Linux).

Plugin Details:
  Name:			rtmp
  Description:		RTMP source and sink
  Filename:		/usr/lib/gstreamer-1.0/libgstrtmp.so
  Version:		1.0.6
  License:		LGPL
  Source module:	gst-plugins-bad
  Source release date:	2013-03-22
  Binary package:	gst-plugins-bad 1.0 rpmfusion rpm
  Origin URL:		http://rpmfusion.org/

  rtmpsrc: RTMP Source
  rtmpsink: RTMP output sink

  2 features:
  +-- 2 elements

Il utilise également des expressions XPath, donc vous devez avoir les deux bibliothèques libxml2 et libxslt sur votre système.

L'utilisation

  1. Décompresser « l'archive », gunzip arte_7.sh.gz
  2. Rendre le script exécutable, chmod u+x arte_7.sh
  3. Connaître les différentes options, ./arte_7.sh -h
Usage: arte_7.sh [-f] [-d DIRECTORY]  [-r] [-u URL]
Options
	-f	Download video
	-d	Define output directory
	-c	Select video from list
	-r	Select random video from the latest programs
	-u	Link to Web page of program

If -f option is not mentioned video is displayed
Les options
  • -f permet de télécharger la vidéo, il vous faut préalable installer rtmpdump.
  • -d, pour spécifier un répertoire où sera stocké la vidéo, elle est optionnelle. Par défaut la vidéo est enregistrée à la racine de votre espace de travail ($HOME).
  • -c, on sélectionne une vidéo parmi une liste.
  • -r, le programme choisit au hasard une vidéo.
  • -u, si l'on connaît la page Web de la vidéo.

Exemples d'utilisation

Voir

Si l'on connait la page Web :

./arte_7.sh -u http://videos.arte.tv/fr/videos/arte-journal--7557084.html

Si on laisse le programme choisir une vidéo :

./arte_7.sh -r

Si l'on souhaite choisir une vidéo, parmi les vingt dernières recensées sur la page d'accueil :

.arte_7.sh -c
Télécharger (option -f)

Si l'on connait la page Web :

./arte_7.sh -fu http://videos.arte.tv/fr/videos/arte-journal--7557084.html

On peut également spécifier un dossier particulier (par exemple Vidéos/Arte) :

./arte_7.sh -fu http://videos.arte.tv/fr/videos/arte-journal--7557084.html -d ~/Vidéos/Arte

Si on laisse le programme choisir une vidéo :

./arte_7.sh -fr

Si on précise un dossier :

./arte_7.sh -frd ~/Vidéos/Arte

Si l'on souhaite choisir une vidéo, parmi les vingt dernières recensées sur la page d'accueil :

.arte_7.sh -fc

En précisant un dossier :

.arte_7.sh -fcd ~/Vidéos/Arte

Édit (mise à jour, 18h50) : Si vous voulez avoir une notification quand vous visionnez une vidéo, vous pouvez appliquer le patch (arte_7.diff).

Il faut tout d'abord installer l'utilitaire patch. Ensuite pour mettre à jour le script, placez-vous à l'endroit où se trouve le script arte_7.sh. :

patch < arte_7.diff

can't find file to patch at input line 4
Perhaps you should have used the -p or --strip option?
The text leading up to this was:
--------------------------
|diff -r be0185ff34d1 -r 1211163acf91 arte+7.sh
|--- a/arte+7.sh	Sat Jun 22 19:54:57 2013 +0000
|+++ b/arte+7.sh	Sun Jun 23 18:03:34 2013 +0000
--------------------------
File to patch: arte_7.sh
patching file arte_7.sh

Il vous sera demander le nom du fichier à patcher, c'est bien évidemment arte_7.sh [2].

Édit (mise à jour, 28 juin 2013) : Le script a été mis à jour, il apporte une correction avec GStreamer 0.10 (lors du visionnage).

Notes

[1] La version peut être différente.

[2] Dotclear transforme le "+" en "_", et TuxFamily n'aime pas les scripts shell.