AviGNU - Mot-clé - RTMPDumpGroupe d'utilisateurs de logiciels libres du Grand Avignon2024-01-02T17:40:01+01:00Administrateururn:md5:8ed776652564792dba453bac492a5a6cDotclearVoir et revoir les vidéos de Arte+7 en ligne de commandeurn:md5:38050fd407e376b93e356dfdbb158eab2013-06-23T09:06:00+02:002013-06-28T20:11:32+02:00Olivier DuchateauProgrammationArteGStreamerRTMPDumpShellXpath<p>Si vous souhaitez voir ou revoir facilement les vidéos du site <a href="http://videos.arte.tv/">Arte+7</a>, vous pouvez utiliser le script <em>shell</em> <sup>[<a href="http://avignu.tuxfamily.org/index.php?post/2013/06/23/Voir-et-revoir-les-vid%C3%A9os-de-Arte7-en-ligne-de-commande#pnote-75-1" id="rev-pnote-75-1">1</a>]</sup>), qui se trouve en annexe.</p>
<p>Il repose sur le fabuleux <em>framework</em>, <a href="http://gstreamer.freedesktop.org/">GStreamer</a>.</p>
<p><strong>Édit (mise à jour, 28 juin 2013) :</strong> Lisez bien les prérequis notamment si vous êtes sous Debian/Ubuntu ou LinuxMint.</p>
<div class="footnotes"><h4 class="footnotes-title">Note</h4>
<p>[<a href="http://avignu.tuxfamily.org/index.php?post/2013/06/23/Voir-et-revoir-les-vid%C3%A9os-de-Arte7-en-ligne-de-commande#rev-pnote-75-1" id="pnote-75-1">1</a>] Je me suis appuyé sur <a href="http://www.freebsd.org/cgi/man.cgi?query=sh&manpath=FreeBSD+9.1-RELEASE">sh(1)</a>, donc il fonctionne avec n'importe quel interpréteur de commandes tels que Bash, cshell, mksh, ...</p></div>
<p>Il fonctionne parfaitement sous FreeBSD (et bien entendu Linux).</p>
<h4>Les prérequis</h4>
<p>Les plugins <a href="http://gstreamer.freedesktop.org/src/gst-plugins-bad/">gst-plugins-bad</a> et <a href="http://gstreamer.freedesktop.org/src/gst-plugins-good/">gst-plugins-good</a> doivent être installés.</p>
<p>Assurez-vous que le plugin <strong>flv</strong> soit installé.</p>
<pre>gst-inspect flv</pre>
<p>Vous devriez avoir quelque chose qui ressemble à ça <sup>[<a href="http://avignu.tuxfamily.org/index.php?post/2013/06/23/Voir-et-revoir-les-vid%C3%A9os-de-Arte7-en-ligne-de-commande#pnote-75-1" id="rev-pnote-75-1">1</a>]</sup> :</p>
<pre>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</pre>
<p>Et <strong>rtmp</strong> (à taper dans une console, <code>gst-inspect rtmp</code>). Si vous utilisez ce logiciel, assurez-vous que <strong>realpath</strong> soit également installé (uniquement valable sous Linux).</p>
<pre>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</pre>
<p>Il utilise également des expressions <a href="http://fr.wikipedia.org/wiki/XPath">XPath</a>, donc vous devez avoir les deux bibliothèques <strong>libxml2</strong> et <strong>libxslt</strong> sur votre système.</p>
<h4>L'utilisation</h4>
<ol>
<li>Décompresser « l'archive », <code>gunzip arte_7.sh.gz</code></li>
<li>Rendre le script exécutable, <code>chmod u+x arte_7.sh</code></li>
<li>Connaître les différentes options, <code>./arte_7.sh -h</code></li>
</ol>
<pre>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
</pre>
<h5>Les options</h5>
<ul>
<li><strong>-f</strong> permet de télécharger la vidéo, il vous faut préalable installer <a href="http://rtmpdump.mplayerhq.hu/">rtmpdump</a>.</li>
<li><strong>-d</strong>, 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 (<code>$HOME</code>).</li>
<li><strong>-c</strong>, on sélectionne <strong>une</strong> vidéo parmi une liste.</li>
<li><strong>-r</strong>, le programme choisit au hasard une vidéo.</li>
<li><strong>-u</strong>, si l'on connaît la page Web de la vidéo.</li>
</ul>
<h4>Exemples d'utilisation</h4>
<h5>Voir</h5>
<p>Si l'on connait la page Web :</p>
<pre>./arte_7.sh -u http://videos.arte.tv/fr/videos/arte-journal--7557084.html</pre>
<p>Si on laisse le programme choisir une vidéo :</p>
<pre>./arte_7.sh -r</pre>
<p>Si l'on souhaite choisir une vidéo, parmi les vingt dernières recensées sur la page d'accueil :</p>
<pre>.arte_7.sh -c</pre>
<h5>Télécharger (option -f)</h5>
<p>Si l'on connait la page Web :</p>
<pre>./arte_7.sh -fu http://videos.arte.tv/fr/videos/arte-journal--7557084.html</pre>
<p>On peut également spécifier un dossier particulier (par exemple <code>Vidéos/Arte</code>) :</p>
<pre>./arte_7.sh -fu http://videos.arte.tv/fr/videos/arte-journal--7557084.html -d ~/Vidéos/Arte</pre>
<p>Si on laisse le programme choisir une vidéo :</p>
<pre>./arte_7.sh -fr</pre>
<p>Si on précise un dossier :</p>
<pre>./arte_7.sh -frd ~/Vidéos/Arte</pre>
<p>Si l'on souhaite choisir une vidéo, parmi les vingt dernières recensées sur la page d'accueil :</p>
<pre>.arte_7.sh -fc</pre>
<p>En précisant un dossier :</p>
<pre>.arte_7.sh -fcd ~/Vidéos/Arte</pre>
<p><strong>Édit (mise à jour, 18h50) :</strong> Si vous voulez avoir une notification quand vous visionnez une vidéo, vous pouvez appliquer le <em>patch</em> (<code>arte_7.diff</code>).</p>
<p>Il faut tout d'abord installer l'utilitaire <strong>patch</strong>. Ensuite pour mettre à jour le script, placez-vous à l'endroit où se trouve le script <code>arte_7.sh</code>. :</p>
<pre>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</pre>
<p>Il vous sera demander le nom du fichier à <em>patcher</em>, c'est bien évidemment <code>arte_7.sh</code> <sup>[<a href="http://avignu.tuxfamily.org/index.php?post/2013/06/23/Voir-et-revoir-les-vid%C3%A9os-de-Arte7-en-ligne-de-commande#pnote-75-2" id="rev-pnote-75-2">2</a>]</sup>.</p>
<p><strong>Édit (mise à jour, 28 juin 2013) :</strong> Le script a été mis à jour, il apporte une correction avec GStreamer 0.10 (lors du visionnage).</p>
<div class="footnotes"><h4 class="footnotes-title">Notes</h4>
<p>[<a href="http://avignu.tuxfamily.org/index.php?post/2013/06/23/Voir-et-revoir-les-vid%C3%A9os-de-Arte7-en-ligne-de-commande#rev-pnote-75-1" id="pnote-75-1">1</a>] La version peut être différente.</p>
<p>[<a href="http://avignu.tuxfamily.org/index.php?post/2013/06/23/Voir-et-revoir-les-vid%C3%A9os-de-Arte7-en-ligne-de-commande#rev-pnote-75-2" id="pnote-75-2">2</a>] <a href="http://dotclear.org/">Dotclear</a> transforme le "+" en "_", et <a href="http://tuxfamily.org/">TuxFamily</a> n'aime pas les scripts <em>shell</em>.</p></div>