<?xml 
version="1.0" encoding="utf-8"?><?xml-stylesheet title="XSL formatting" type="text/xsl" href="https://blog.roxing.net/spip.php?page=backend.xslt" ?>
<rss version="2.0" 
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:atom="http://www.w3.org/2005/Atom"
>

<channel xml:lang="fr">
	<title>blog.roxing.net</title>
	<link>http://blog.roxing.net/</link>
	<description>weblog roxing.net - astuces spip, php, bash, linux &amp; more</description>
	<language>fr</language>
	<generator>SPIP - www.spip.net</generator>
	<atom:link href="https://blog.roxing.net/spip.php?id_mot=84&amp;page=backend" rel="self" type="application/rss+xml" />

	<image>
		<title>blog.roxing.net</title>
		<url>https://blog.roxing.net/local/cache-vignettes/L144xH37/siteon0-6ddb5.png?1727125340</url>
		<link>http://blog.roxing.net/</link>
		<height>37</height>
		<width>144</width>
	</image>



<item xml:lang="fr">
		<title>youtube-dl + vlcopen</title>
		<link>https://blog.roxing.net/youtube-dl-vlcopen</link>
		<guid isPermaLink="true">https://blog.roxing.net/youtube-dl-vlcopen</guid>
		<dc:date>2015-04-07T19:52:19Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>placido</dc:creator>


		<dc:subject>bash</dc:subject>
		<dc:subject>script</dc:subject>
		<dc:subject>linux</dc:subject>
		<dc:subject>vlc</dc:subject>
		<dc:subject>openbox</dc:subject>
		<dc:subject>youtube-dl</dc:subject>
		<dc:subject>youtube</dc:subject>

		<description>&lt;p&gt;S'affranchir efficacement de flash pour lire les vid&#233;os directement dans VLC&lt;/p&gt;

-
&lt;a href="https://blog.roxing.net/billets" rel="directory"&gt;billets&lt;/a&gt;

/ 
&lt;a href="https://blog.roxing.net/bash" rel="tag"&gt;bash&lt;/a&gt;, 
&lt;a href="https://blog.roxing.net/script-50" rel="tag"&gt;script&lt;/a&gt;, 
&lt;a href="https://blog.roxing.net/gnu-linux" rel="tag"&gt;linux&lt;/a&gt;, 
&lt;a href="https://blog.roxing.net/vlc" rel="tag"&gt;vlc&lt;/a&gt;, 
&lt;a href="https://blog.roxing.net/openbox-85" rel="tag"&gt;openbox&lt;/a&gt;, 
&lt;a href="https://blog.roxing.net/youtube-dl" rel="tag"&gt;youtube-dl&lt;/a&gt;, 
&lt;a href="https://blog.roxing.net/youtube" rel="tag"&gt;youtube&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;p&gt;Vous le savez comme moi, flash c'est le mal. Et voici LA solution qui vous fera franchir le pas d'un bannissement (esp&#233;rons permanent) du vil greffon sans pour autant faire une croix sur les vid&#233;os des plateformes d'h&#233;bergement (youtube, dailymotion, vimeo, etc).&lt;/p&gt;
&lt;p&gt;Cela consiste en l'emploi coordonn&#233; de &lt;strong&gt;deux scripts&lt;/strong&gt; qui vont vous permettre de lire directement une vid&#233;o distante dans votre lecteur habituel (VLC, mplayer ou autre).&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;1) Installation de youtube-dl&lt;/h2&gt;
&lt;p&gt;Sous GNU-Linux, la m&#233;thode que je trouve la plus simple est de passer par le gestionnaire d'environnement python pip.&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='2' class='spip_cadre spip_cadre_block' dir='ltr'&gt;sudo apt-get install python-pip
sudo pip install youtube-dl&lt;/textarea&gt;
&lt;p&gt;Veillez &#224; mettre &#224; jour l'application de temps en temps, car les plugins de gestion par plateforme sont nombreux et les modifications fr&#233;quentes.&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='2' class='spip_cadre spip_cadre_block' dir='ltr'&gt;sudo pip install -U youtube-dl&lt;/textarea&gt;&lt;h2 class=&#034;spip&#034;&gt;2) Lancement illico gr&#226;ce &#224; vlcopen.sh&lt;/h2&gt;
&lt;p&gt;&lt;a href=&#034;https://github.com/rg3/youtube-dl&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;youtude-dl&lt;/a&gt; est un super logiciel, efficace dans bien des situations, mais son utilisation en ligne de commande s'av&#232;re &#224; la longue un peu r&#233;dhibitoire pour une utilisation en tant que simple utilisateur.&lt;/p&gt;
&lt;p&gt;D'o&#249; le recours &#224; un second script, mis &#224; disposition par &lt;a href=&#034;https://gist.github.com/swarminglogic/0cd2f6d55390243e693b&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;swarminglogic&lt;/a&gt;,qui va apporter un peu de souplesse d'utilisation et ouvrir la vid&#233;o encore plus vite que si vous y aviez acc&#233;d&#233;e directement depuis la page youtube, gr&#226;ce &#224; un raccourci clavier.&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='95' class='spip_cadre spip_cadre_block' dir='ltr'&gt;#!/bin/bash if [ $# -eq 1 ] ; then path=$1
else clipboard=$(xclip -selection clipboard -o) if [ $(&lt;&lt;&lt;$clipboard grep -P &#034;^http&#034;) ] ; then path=$clipboard else if [ -t 1 ] ; then echo &#034;Bad clipboard path: $clipboard&#034; &gt;&amp;2 else notify-send &#034;Bad clipboard path: $clipboard&#034; fi exit 1 fi
fi #$1 processid, $2 tempdir $3 logfile
function cleanup { echo &#034;-------------------------------------------&#034; echo &#034;Cleaning up&#034; kill -9 $1 &amp;&gt; /dev/null if [ -n &#034;$2&#034; ] ; then rm $2/* ; fi if [ -n &#034;$2&#034; ] ; then rmdir $2 ; fi if [ -n &#034;$3&#034; ] ; then rm $3 ; fi
} echo &#034;Opening $path&#034;
tmpvlcopen=/tmp/vlcopen/
[ ! -d $tmpvlcopen ] &amp;&amp; mkdir $tmpvlcopen
tmpdir=$(mktemp -d --tmpdir=$tmpvlcopen) # If the tmpdir path doesn't include &#034;/tmp/vlcopen&#034; something went bad!
if [ &#034;${tmpdir/$tmpvlcopen}&#034; = &#034;$tmpdir&#034; ] ; then echo &#034;Aborting: failed to create proper temporary directories&#034; &gt;&amp;2 exit 1
fi cd $tmpdir
echo &#034;Temporary directory: $tmpdir&#034;
echo &#034;Getting video: $path&#034;
downloadlog=$(tempfile)
(youtube-dl --restrict-filenames --no-part &#034;$path&#034; &amp;&gt; $downloadlog)&amp;
processId=$!
echo &#034;ProcessID: $processId&#034;
echo &#034;Waiting for file creation&#034; count=0
while [ $(ls -1 | wc -l) -eq 0 ] ; do # check if process is done. if ! kill -0 $processId &amp;&gt;/dev/null ; then if [ -t 1 ] ; then echo &#034;-------------------------------------------&#034;&gt;&amp;2 echo &#034;Error: youtube-dl finished without output.&#034; &gt;&amp;2 echo &#034;Error: Bad URL?&#034; &gt;&amp;2 echo &#034;---------------- Download Log -------------&#034;&gt;&amp;2 cat $downloadlog &gt;&amp;2 else notify-send &#034;Bad URL: $path $(cat $downloadlog)&#034; fi cleanup $processId &#034;$tmpdir&#034; &#034;$downloadlog&#034; exit 0 fi sleep 0.5 ((count++)) if [ $count -eq 20 ] ; then if [ -t 1 ] ; then echo &#034;Timed out&#034; &gt;&amp;2 else notify-send &#034;Timed out&#034; fi exit 0 fi
done sleep 0.1
echo &#034;Opening file: $(ls -1 | head -n 1)&#034;
vlc &#034;$(ls -1 | head -n 1)&#034; &amp;&gt;/dev/null
cleanup $processId &#034;$tmpdir&#034; &#034;$downloadlog&#034;&lt;/textarea&gt;
&lt;p&gt;Ce script se comporte comme une capsule pour youtube-dl. Il va analyser le contenu du presse-papier, et s'il d&#233;tecte une url prise en charge, va cr&#233;er un r&#233;pertoire temporaire, y t&#233;l&#233;charger la vid&#233;o, l'ouvrir avec VLC apr&#232;s quelques instants et supprimer automatiquement tous les fichiers temporaires &#224; la fermeture.&lt;/p&gt;
&lt;p&gt;Il suffit d'enregistrer le script (sous le nom vlcopen.sh par exemple) dans un r&#233;pertoire inclus dans votre &lt;i&gt;$PATH&lt;/i&gt;, le rendre ex&#233;cutable (&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;chmod +x vlcopen.sh&lt;/code&gt;) et d'associer un raccourci clavier &#224; son ex&#233;cution.&lt;/p&gt;
&lt;p&gt;Typiquement sous openbox, j'ai rajout&#233; une section comme suit &#224; mon rc.xml.&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='9' class='spip_cadre spip_cadre_block' dir='ltr'&gt;&lt;keybind key=&#034;W-y&#034;&gt; &lt;action name=&#034;Execute&#034;&gt; &lt;startupnotify&gt; &lt;enabled&gt;true&lt;/enabled&gt; &lt;name&gt;vlcopen&lt;/name&gt; &lt;/startupnotify&gt; &lt;command&gt;vlcopen.sh&lt;/command&gt; &lt;/action&gt;
&lt;/keybind&gt;&lt;/textarea&gt;
&lt;p&gt;D&#232;s lors, dans les faits, lorsque je veux regarder une vid&#233;o, je fais un&lt;i&gt; clic-droit &gt; copier l'url de la page&lt;/i&gt; soit sur la page courante, soit sur le lien &#224; analyser, puis &lt;kbd&gt;super&lt;/kbd&gt; + &lt;kbd&gt;y&lt;/kbd&gt; (oui j'ai choisi &lt;kbd&gt;y&lt;/kbd&gt; pour &#034;youtube&#034; mais &#224; vous d'adapter au besoin), et voil&#224; !&lt;/p&gt;
&lt;p&gt;Seul b&#233;mol, si la vid&#233;o est longue et que vous &#234;tes impatient, vous ne pourrez pas avancer directement la lecture &#224; un point qui n'a pas encore &#233;t&#233; t&#233;l&#233;charg&#233;.&lt;/p&gt;&lt;/div&gt;
		&lt;div class="hyperlien"&gt;Voir en ligne : &lt;a href="https://gist.github.com/swarminglogic/0cd2f6d55390243e693b" class="spip_out"&gt;github.com/swarminglogic&lt;/a&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>



</channel>

</rss>
