<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Fansub Streaming &#187; Ressources</title>
	<atom:link href="http://www.fansub-streaming.eu/blog/category/ressources/feed" rel="self" type="application/rss+xml" />
	<link>http://www.fansub-streaming.eu/blog</link>
	<description>Actu numérique, Japon et streaming de fansub d&#039;animes</description>
	<lastBuildDate>Sat, 04 Feb 2012 11:37:19 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Linux-tan</title>
		<link>http://www.fansub-streaming.eu/blog/linux-tan.html</link>
		<comments>http://www.fansub-streaming.eu/blog/linux-tan.html#comments</comments>
		<pubDate>Tue, 17 Jan 2012 22:57:00 +0000</pubDate>
		<dc:creator>Mitsukarenai</dc:creator>
				<category><![CDATA[Ressources]]></category>

		<guid isPermaLink="false">http://www.fansub-streaming.eu/blog/?p=33781</guid>
		<description><![CDATA[<p>(Wikipedia)</p> <p>&#8216;connaissez Nanami, la mascotte (officielle) de Windows 7 ?</p> <p class="wp-caption-text">Fond d&#39;écran officiel d&#39;une édition limitée de Windows 7 Ultimate</p> <p>Oui les japonais ont une tradition: celle de personnifier un peu tout. Systèmes d&#8217;exploitation, antivirus, plugins, navigateurs&#8230; On les désigne les &#171;&#160;OS-tan&#160;&#187;. Et bien sûr GNU/Linux ne déroge pas à la règle: Linux-tan. Beaucoup moins répandu que ses consœurs systèmes. La version actuelle représente plusieurs éléments typiques du monde Linux, tels que GRUB, LiLo, gcc, Gnome, &#8230; et les <p>[ <a href="http://www.fansub-streaming.eu/blog/linux-tan.html">Continuer à lire Linux-tan</a> ]</p>]]></description>
			<content:encoded><![CDATA[<p>(<a href="http://en.wikipedia.org/wiki/OS-tan">Wikipedia</a>)</p>
<p>&#8216;connaissez Nanami, la mascotte (officielle) de Windows 7 ?</p>
<div id="attachment_33782" class="wp-caption alignnone" style="width: 310px"><a href="http://static.fansub-streaming.eu/2012/01/Nanami.jpg"><img class="size-medium wp-image-33782" title="Nanami" src="http://static.fansub-streaming.eu/2012/01/Nanami-300x187.jpg" alt="" width="300" height="187" /></a><p class="wp-caption-text">Fond d&#39;écran officiel d&#39;une édition limitée de Windows 7 Ultimate</p></div>
<p>Oui les japonais ont une tradition: celle de personnifier un peu tout. Systèmes d&#8217;exploitation, antivirus, plugins, navigateurs&#8230; On les désigne les &laquo;&nbsp;OS-tan&nbsp;&raquo;. Et bien sûr GNU/Linux ne déroge pas à la règle: Linux-tan. Beaucoup moins répandu que ses consœurs systèmes. La version actuelle représente plusieurs éléments typiques du monde Linux, tels que GRUB, LiLo, gcc, Gnome, &#8230; et les cornes du GNU.</p>
<p>J&#8217;avais trouvé cette image:</p>
<p><a href="http://static.fansub-streaming.eu/2012/01/linux.jpg"><img class="alignnone size-medium wp-image-33783" title="linux" src="http://static.fansub-streaming.eu/2012/01/linux-182x300.jpg" alt="" width="182" height="300" /></a></p>
<p>Et j&#8217;me suis dit qu&#8217;on peut mieux faire. J&#8217;ai renforcé contraste et saturation, corrigé les misères provoquées par JPEG et détouré sur fond transparent.</p>
<div id="attachment_33784" class="wp-caption alignnone" style="width: 192px"><a href="http://static.fansub-streaming.eu/2012/01/linux-tan.png"><img class="size-medium wp-image-33784" title="linux-tan" src="http://static.fansub-streaming.eu/2012/01/linux-tan-182x300.png" alt="" width="182" height="300" /></a><p class="wp-caption-text">Linux-tan</p></div>
<p>Les 10% de Linuxiens (et les autres) apprécieront de l&#8217;ajouter à leurs fonds d&#8217;écran favoris, Linux-tan s&#8217;insère bien sur fond noir-bleu, marin, là où vivent les manchots.</p>
<p>&gt;&gt; les OS-tan sont souvent représentées avec un tour de poitrine proportionnel à la consommation mémoire du système représenté. Peu de RAM consommée = mascotte plate comme un tatami.</p>
<p>Cadeau bonus: la mascotte de Wikipedia, Wikipe-tan.</p>
<p><a href="http://static.fansub-streaming.eu/2012/01/Wikipe-tan.png"><img class="alignnone size-medium wp-image-33785" title="Wikipe-tan" src="http://static.fansub-streaming.eu/2012/01/Wikipe-tan-157x300.png" alt="" width="157" height="300" /></a></p>
<p>EDIT: tant qu&#8217;à faire, voici quelques OS-tan pour les distributions GNU/Linux, par <a href="http://juzo-kun.deviantart.com/">juzo-kun</a>. (licence Creative Commons by-nc)</p>
<p><a href="http://static.fansub-streaming.eu/2012/01/Blender_and_Yafray_by_juzo_kun.jpg"><img class="alignnone size-medium wp-image-33794" title="Blender_and_Yafray_by_juzo_kun" src="http://static.fansub-streaming.eu/2012/01/Blender_and_Yafray_by_juzo_kun-294x300.jpg" alt="" width="294" height="300" /></a><a href="http://static.fansub-streaming.eu/2012/01/Spaceship____another_version_by_juzo_kun.jpg"><img class="alignnone size-medium wp-image-33807" title="Spaceship____another_version_by_juzo_kun" src="http://static.fansub-streaming.eu/2012/01/Spaceship____another_version_by_juzo_kun-300x201.jpg" alt="" width="300" height="201" /></a><a href="http://static.fansub-streaming.eu/2012/01/OS_tan_fanart__patch_time____by_juzo_kun.jpg"><img class="alignnone size-medium wp-image-33806" title="OS_tan_fanart__patch_time____by_juzo_kun" src="http://static.fansub-streaming.eu/2012/01/OS_tan_fanart__patch_time____by_juzo_kun-252x300.jpg" alt="" width="252" height="300" /></a><a href="http://static.fansub-streaming.eu/2012/01/OS_tan_fanart__Linux_tan_by_juzo_kun.jpg"><img class="alignnone size-medium wp-image-33805" title="OS_tan_fanart__Linux_tan_by_juzo_kun" src="http://static.fansub-streaming.eu/2012/01/OS_tan_fanart__Linux_tan_by_juzo_kun-300x225.jpg" alt="" width="300" height="225" /></a><a href="http://static.fansub-streaming.eu/2012/01/Linux_tan_vs__XP_kun_II_by_juzo_kun.jpg"><img class="alignnone size-medium wp-image-33804" title="Linux_tan_vs__XP_kun_II_by_juzo_kun" src="http://static.fansub-streaming.eu/2012/01/Linux_tan_vs__XP_kun_II_by_juzo_kun-234x300.jpg" alt="" width="234" height="300" /></a><a href="http://static.fansub-streaming.eu/2012/01/Linux_tan_fanart__Ubuntu_by_juzo_kun.jpg"><img class="alignnone size-medium wp-image-33803" title="Linux_tan_fanart__Ubuntu_by_juzo_kun" src="http://static.fansub-streaming.eu/2012/01/Linux_tan_fanart__Ubuntu_by_juzo_kun-300x225.jpg" alt="" width="300" height="225" /></a><a href="http://static.fansub-streaming.eu/2012/01/Linux_tan_fanart__Suse_by_juzo_kun.jpg"><img class="alignnone size-medium wp-image-33802" title="Linux_tan_fanart__Suse_by_juzo_kun" src="http://static.fansub-streaming.eu/2012/01/Linux_tan_fanart__Suse_by_juzo_kun-300x225.jpg" alt="" width="300" height="225" /></a><a href="http://static.fansub-streaming.eu/2012/01/Linux_tan_fanart__Slackware_by_juzo_kun.jpg"><img class="alignnone size-medium wp-image-33801" title="Linux_tan_fanart__Slackware_by_juzo_kun" src="http://static.fansub-streaming.eu/2012/01/Linux_tan_fanart__Slackware_by_juzo_kun-300x225.jpg" alt="" width="300" height="225" /></a><a href="http://static.fansub-streaming.eu/2012/01/Linux_tan_fanart__Red_Hat_by_juzo_kun.jpg"><img class="alignnone size-medium wp-image-33800" title="Linux_tan_fanart__Red_Hat_by_juzo_kun" src="http://static.fansub-streaming.eu/2012/01/Linux_tan_fanart__Red_Hat_by_juzo_kun-300x225.jpg" alt="" width="300" height="225" /></a><a href="http://static.fansub-streaming.eu/2012/01/Linux_tan_fanart__Mandriva_by_juzo_kun.jpg"><img class="alignnone size-medium wp-image-33799" title="Linux_tan_fanart__Mandriva_by_juzo_kun" src="http://static.fansub-streaming.eu/2012/01/Linux_tan_fanart__Mandriva_by_juzo_kun-300x225.jpg" alt="" width="300" height="225" /></a><a href="http://static.fansub-streaming.eu/2012/01/Linux_tan_fanart__Knoppix_by_juzo_kun.jpg"><img class="alignnone size-medium wp-image-33798" title="Linux_tan_fanart__Knoppix_by_juzo_kun" src="http://static.fansub-streaming.eu/2012/01/Linux_tan_fanart__Knoppix_by_juzo_kun-300x225.jpg" alt="" width="300" height="225" /></a><a href="http://static.fansub-streaming.eu/2012/01/Linux_tan_fanart__Gentoo_by_juzo_kun.jpg"><img class="alignnone size-medium wp-image-33797" title="Linux_tan_fanart__Gentoo_by_juzo_kun" src="http://static.fansub-streaming.eu/2012/01/Linux_tan_fanart__Gentoo_by_juzo_kun-300x225.jpg" alt="" width="300" height="225" /></a><a href="http://static.fansub-streaming.eu/2012/01/Linux_tan_fanart__Debian_by_juzo_kun.jpg"><img class="alignnone size-medium wp-image-33796" title="Linux_tan_fanart__Debian_by_juzo_kun" src="http://static.fansub-streaming.eu/2012/01/Linux_tan_fanart__Debian_by_juzo_kun-300x225.jpg" alt="" width="300" height="225" /></a><a href="http://static.fansub-streaming.eu/2012/01/Linux_tan_fanart__ArchLinux_by_juzo_kun.jpg"><img class="alignnone size-medium wp-image-33795" title="Linux_tan_fanart__ArchLinux_by_juzo_kun" src="http://static.fansub-streaming.eu/2012/01/Linux_tan_fanart__ArchLinux_by_juzo_kun-300x225.jpg" alt="" width="300" height="225" /></a></p>
 <p><a href="http://www.fansub-streaming.eu/blog/?flattrss_redirect&amp;id=33781&amp;md5=d15c79aabd14b5daf8f585c8e902f17f" title="Flattr" target="_blank"><img src="https://www.fansub-streaming.eu/blog/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.fansub-streaming.eu/blog/linux-tan.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<atom:link rel="payment" href="http://www.fansub-streaming.eu/blog/?flattrss_redirect&amp;id=33781&amp;md5=d15c79aabd14b5daf8f585c8e902f17f" type="text/html" />"
	</item>
		<item>
		<title>Sauvegardes</title>
		<link>http://www.fansub-streaming.eu/blog/sauvegardes.html</link>
		<comments>http://www.fansub-streaming.eu/blog/sauvegardes.html#comments</comments>
		<pubDate>Mon, 19 Dec 2011 23:53:27 +0000</pubDate>
		<dc:creator>Mitsukarenai</dc:creator>
				<category><![CDATA[Ressources]]></category>

		<guid isPermaLink="false">http://www.fansub-streaming.eu/blog/?p=32956</guid>
		<description><![CDATA[<p>Oui, ça fait quelques temps que je n&#8217;ai plus avancé dans ma rubrique &#171;&#160;Créer son propre blog&#160;&#187; Le sujet du jour: les sauvegardes.</p> <p>Comme pour toute chose, l&#8217;informatique ça peut casser. Panne électrique, infection virus, café renversé sur la tour, exploitation de faille de sécurité, &#8230; bête erreur de manipulation quand vous avez la tête dans le cul après une soirée&#8230; L&#8217;informatique a aujourd&#8217;hui une importance cruciale, et une importance croissante. Avec la quantité de données et l&#8217;illusion qu&#8217;elles seront <p>[ <a href="http://www.fansub-streaming.eu/blog/sauvegardes.html">Continuer à lire Sauvegardes</a> ]</p>]]></description>
			<content:encoded><![CDATA[<p>Oui, ça fait quelques temps que je n&#8217;ai plus avancé dans ma rubrique &laquo;&nbsp;Créer son propre blog&nbsp;&raquo; <img src='http://www.fansub-streaming.eu/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Le sujet du jour: les sauvegardes.</p>
<p>Comme pour toute chose, l&#8217;informatique ça peut casser. Panne électrique, infection virus, café renversé sur la tour, exploitation de faille de sécurité, &#8230; bête erreur de manipulation quand vous avez la tête dans le cul après une soirée&#8230; L&#8217;informatique a aujourd&#8217;hui une importance cruciale, et une importance croissante. Avec la quantité de données et l&#8217;illusion qu&#8217;elles seront toujours disponibles, la sauvegarde est <del>parfois</del> souvent négligée. Et quand arrive ce qui devait arriver, vous n&#8217;avez plus que vos yeux pour pleurer si vous n&#8217;aviez rien prévu.</p>
<p>Je pourrais consacrer un article entier par rapport aux données stockées chez Google ou Facebook sachant que l&#8217;un comme l&#8217;autre peuvent tout vous supprimer sans prévenir; en fait on va rester dans la suite de mes articles et considérer la sauvegarde de votre blog.</p>
<p>Rappel de votre situation: vous avez un blog indépendant (hébergé chez vous, sur serveur dédié ou mutualisé) dans lequel vous avez commencé à rédiger et diffuser des streams. D&#8217;innombrables heures de boulot, qui peuvent disparaître en un instant en cas de négligence. Fansub Streaming par exemple, c&#8217;est en moyenne 3 heures par jour&#8230; depuis 2008. Mieux vaut avoir un système de sauvegarde fiable pour avoir l&#8217;esprit tranquille <img src='http://www.fansub-streaming.eu/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<h3>Export WordPress</h3>
<p>Soyez contents, WordPress dispose d&#8217;une fonction d&#8217;export vraiment utile. (Outils &gt; Exporter)</p>
<p>Vous pouvez sélectionner articles et/ou pages, vous pourrez alors télécharger un fichier XML contenant tout le texte. Vous pouvez réimporter ce fichier, vos articles seront recrées. Je publie de temps en temps <a href="http://www.fansub-streaming.eu/blog/tout-fansub-streaming-en-1-fichier.html">une copie de ce fichier</a> d&#8217;export pour permettre aux internautes de &laquo;&nbsp;ressusciter&nbsp;&raquo; mon blog (mais attention si vous m&#8217;imitez: pensez à enlever l&#8217;adresse IP et email des commentaires !!). Si vous voulez faire de l&#8217;archivage, je vous conseille de compresser le fichier. Format zip ou mieux 7zip, il se laisse bien compresser.</p>
<h3>Export de la base de données</h3>
<p>Si vous avez un mutualisé alors peut être que l&#8217;hébergeur propose une fonctionnalité de dump de la base de données (comme OVH), sinon passez par l&#8217;interface de gestion (PHPMyAdmin ou autre) ou lancez cette commande dans le shell (maison/dédié):</p>
<p><span style="font-family: courier new,courier;">mysqldump -h serveur -u utilisateur -pmotdepasse base_de_donnees &gt; fichier_dump.sql</span></p>
<p>Cette méthode permet d&#8217;avoir une copie à l&#8217;identique de la base de données. Je le fais par exemple lors d&#8217;une grosse modification (substitution de texte automatique dans 1700 articles) pour qu&#8217;en cas de pépin, j&#8217;ai juste à vider la base de données cassée et réimporter le fichier de dump pour retrouver l&#8217;état précédent en quelques secondes.</p>
<h3>Export des fichiers</h3>
<p>Quand vous ne faites que du texte dans votre blog, vos précieuses créations sont stockées dans la base de données. Mais si vous insérez images, musiques, vidéos,&#8230; ? Il y a de bonnes chances que vous ne voulez pas les intégrer en base64 dans la base de données (sauf envie de bourrer cette dernière et tuer votre système dans la gestion d&#8217;un si gros volume) et donc vous les stockez en binaire sur le serveur. En mutualisé, vous avez sans doute un accès FTP. Maison ou dédié, un accès SSH (et donc SFTP). Avec ces 2 méthodes, vous pouvez récupérer les données du serveur vers votre propre disque dur. Vous pouvez bien sûr synchroniser les données du serveur avec votre disque dur, mais sachez qu&#8217;en cas de suppression accidentelle d&#8217;un fichier sur votre serveur, vous n&#8217;aurez plus de copie dans votre sauvegarde (en fait ça aide juste quand le serveur est complètement HS).</p>
<h3>Miroir via flux RSS</h3>
<p>Si vous avez plusieurs hébergements, vous pouvez mettre en place un système de miroirs, pour donner un accès temporaire aux données ou contourner une censure. Par exemple un <a href="http://www.fansub-streaming.eu/blog/creer-un-wordpress-auto-alimente-par-flux-rss.html">WordPress auto-alimenté par le flux RSS</a>, ou un plus simple <a href="http://www.fansub-streaming.eu/blog/the-autoblog-project.html">autoblog</a>. Quand il s&#8217;agit de texte, on peut aussi avoir une sorte de sauvegarde courte durée avec le cache des moteurs de recherche, ou une sauvegarde (très) longue durée avec les copies d&#8217;Archive.org. Un peu pareil.</p>
<h3>Conservation &amp; protection des sauvegardes</h3>
<p>C&#8217;est bien beau de sauvegarder son blog, toujours est-il que ces sauvegardes doivent être protégées pour être utiles <img src='http://www.fansub-streaming.eu/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Pour tout ce qui est texte et dump de base de données, compressez. Gain de place assuré, et protection contre la corruption. Si vous avez beaucoup de fichiers récupérés de votre FTP/SFTP, vous pouvez vous contenter de les &laquo;&nbsp;empaqueter&nbsp;&raquo; sans compression (format tar, ou zip/7zip sans compression). Avoir juste 1 fichier à copier, vous allez voir, c&#8217;est plus pratique. Et ça protège contre les corruptions, aussi.</p>
<p>Garder vos sauvegardes sur disque dur interne de votre pc ? Je conseille franchement pas: entre plantages du système, corruptions et pertes en cas de panne, ça peut vite tourner au désastre. Mes recommandations:</p>
<ul>
<li>copie sur 2 disques durs externes (dont 1 que vous conservez précieusement et ne laissez pas branché)</li>
<li>copie sur DVD-R/BD-R  (pas RW !! ça a une durée de vie beaucoup plus faible)</li>
<li>copie sur clé USB / volume SSD (ça ne craint pas les chocs, c&#8217;est pas mécanique, très résistant contre les sinistres et parfait pour des sauvegardes occasionnelles)</li>
<li>copie sur Freenet</li>
</ul>
<p>Ah oui, je vais m&#8217;attarder un peu sur ce dernier point <img src='http://www.fansub-streaming.eu/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Comme vous le savez sans doute, amis défenseurs de la liberté d&#8217;expression, Freenet est un réseau à stockage réparti: les données présentes sur Freenet sont disséminées en morceaux sur tous les disques durs des nœuds du réseau. Vu le nombre de nœuds présents et vu les caractéristiques de ce réseau, je ne pense pas mentir en disant que c&#8217;est sans doute le mécanisme de sauvegarde le plus puissant que je connaisse. Ce qui est sur Freenet reste sur Freenet: il faut attendre très longtemps pour <strong>qu&#8217;éventuellement</strong> plus aucun nœud n&#8217;a de morceaux du fichier dans son store, rendant ainsi le fichier indisponible. Chaque morceau de fichier étant chiffré, il n&#8217;y a d&#8217;ailleurs pas de risque que des indiscrets jette un œil à vos sauvegardes s&#8217;il ne possède ni identifiant ni clé de déchiffrement (pour faire simple: le lien Freenet du fichier).</p>
<p>L&#8217;idéal: inclure le fichier de sauvegarde dans un Freesite. L&#8217;adresse SSK/USK ne changeant pas, vous pouvez très facilement retrouver les insertions précédentes, et ainsi pérenniser la présence des fichiers de sauvegarde sur le réseau. Au final ça paraît similaire à un stockage en cloud comme Dropbox, mais en mieux <img src='http://www.fansub-streaming.eu/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  Note: puisque l&#8217;insertion sur Freenet prend beaucoup de temps, privilégiez tout ce qui est texte, et compressez. Inutile de gâcher de l&#8217;espace de store des nœuds qui aurait pu être mieux utilisé.</p>
<p>Il existe aussi d&#8217;autres méthodes de conservation des sauvegardes, je peux citer la méthode du volume SSD (auto-alimenté par port USB) qu&#8217;on coule dans le béton, la transmission radio vers l&#8217;espace (en visant des objets à une certaine distance, on peut faire un &laquo;&nbsp;écho&nbsp;&raquo; des ondes radio revenant sur Terre des années plus tard), la gravure holographique dans du verre, quartz ou diamant (c&#8217;est ce qui résiste le mieux pour de très longues durées), le coffre fort ignifugé en manganèse dans votre chambre, la duplication sur Multiupload,&#8230;</p>
<p>Tout ce qu&#8217;il faut, c&#8217;est que votre sauvegarde soit récente et fiable au moment où vous en avez besoin. Et puisque l&#8217;échéance est impossible à prévoir, partez du principe que tout peut chavirer demain <img src='http://www.fansub-streaming.eu/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Ça vous aidera à aborder le problème avec sérénité.</p>
<p>Mon prochain article, au sujet des statistiques avec Piwik, n&#8217;arrivera sans doute qu&#8217;en 2012 <img src='http://www.fansub-streaming.eu/blog/wp-includes/images/smilies/happy.png' alt='^^' class='wp-smiley' />  Mais il arrivera, promis !</p>
<p>(voir <a href="http://www.fansub-streaming.eu/blog/ressources">page ressources</a> pour l’arborescence des articles)</p>
 <p><a href="http://www.fansub-streaming.eu/blog/?flattrss_redirect&amp;id=32956&amp;md5=64c30094917ba257acb32d99b31b441e" title="Flattr" target="_blank"><img src="https://www.fansub-streaming.eu/blog/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.fansub-streaming.eu/blog/sauvegardes.html/feed</wfw:commentRss>
		<slash:comments>9</slash:comments>
		<atom:link rel="payment" href="http://www.fansub-streaming.eu/blog/?flattrss_redirect&amp;id=32956&amp;md5=64c30094917ba257acb32d99b31b441e" type="text/html" />"
	</item>
		<item>
		<title>[bash] Des infohash tu collecteras !</title>
		<link>http://www.fansub-streaming.eu/blog/bash-des-infohash-tu-collecteras.html</link>
		<comments>http://www.fansub-streaming.eu/blog/bash-des-infohash-tu-collecteras.html#comments</comments>
		<pubDate>Wed, 30 Nov 2011 00:24:33 +0000</pubDate>
		<dc:creator>Mitsukarenai</dc:creator>
				<category><![CDATA[Ressources]]></category>

		<guid isPermaLink="false">http://www.fansub-streaming.eu/blog/?p=32810</guid>
		<description><![CDATA[<p>Yop </p> <p>J&#8217;avais évoqué un projet sur le forum du Parti Pirate il y a de ça.. fort longtemps: collecter des infohash et afficher un lien magnet aléatoire, pour démontrer la facilité avec laquelle on peut pérenniser la disponibilité d&#8217;un contenu grâce à son URI. À l&#8217;époque, j&#8217;étais pas encore aussi avancé en Streisandages/Flambises. Bref l&#8217;autre jour j&#8217;ai relu quelques lulz avec The Pirate Bay (leur page &#171;&#160;legal&#160;&#187;) et puis ça aujourd&#8217;hui.</p> <p>Le script que je présente ici est en <p>[ <a href="http://www.fansub-streaming.eu/blog/bash-des-infohash-tu-collecteras.html">Continuer à lire [bash] Des infohash tu collecteras !</a> ]</p>]]></description>
			<content:encoded><![CDATA[<p>Yop <img src='http://www.fansub-streaming.eu/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>J&#8217;avais <a href="http://forum.partipirate.org/post37744.html#p37744">évoqué un projet</a> sur le forum du Parti Pirate il y a de ça.. fort longtemps: collecter des infohash et afficher un lien magnet aléatoire, pour démontrer la facilité avec laquelle on peut pérenniser la disponibilité d&#8217;un contenu grâce à son <a href="https://secure.wikimedia.org/wikipedia/fr/wiki/Uniform_Resource_Identifier">URI</a>. À l&#8217;époque, j&#8217;étais pas encore aussi avancé en Streisandages/Flambises. Bref l&#8217;autre jour j&#8217;ai relu quelques lulz avec The Pirate Bay (leur page &laquo;&nbsp;legal&nbsp;&raquo;) <a href="http://www.numerama.com/magazine/20752-l-ifpi-veut-etendre-le-blocage-de-the-pirate-bay-en-finlande.html">et puis ça</a> aujourd&#8217;hui.</p>
<p>Le script que je présente ici est en bash et crée des fichiers, du nom de l&#8217;infohash, dans un dossier. J&#8217;ai d&#8217;ailleurs testé avec succès un système d&#8217;export-gestion en PHP, un peu dans le genre de <a href="http://static.fansub-streaming.eu/gravatars/">la mosaïque de gravatars</a>. Genre un appel au script &laquo;&nbsp;hash.php?infohash=gnagnagna&nbsp;&raquo;, qui crée un fichier &laquo;&nbsp;gnagnagna&nbsp;&raquo; dans un dossier, ce dernier étant scanné par un autre script PHP pour générer un listing mis en forme &laquo;&nbsp;magnet:?xt=urn:btih:gnagnagna&nbsp;&raquo;. Bref !</p>
<p>Ce script bash génère un identifiant aléatoire, un nombre compris entre 3200000 (pas trouvé de torrents plus anciens) et 7000000 (pas de torrents plus récents). Par exemple: 4972155 (nombre aléatoire qu&#8217;il vient de me sortir).</p>
<p>Le script va ensuite essayer de récupérer la page &laquo;&nbsp;http://thepiratebay.org/torrent/4972155&#8243;. Bingo, le torrent est existant (berk, un warez à code source fermé pour Windows, où il y a ni seeds ni leechs). Le script recherche le lien magnet, ce lien est nettoyé pour ne garder que l&#8217;infohash. Ici: 64c4b48784b4f8cdbabb38caecca4dcb20d061fd. Courte vérification si l&#8217;infohash est bien long de 40 caractères, et si c&#8217;est le cas un fichier nommé &laquo;&nbsp;64c4b48784b4f8cdbabb38caecca4dcb20d061fd&nbsp;&raquo; est crée dans le dossier.</p>
<p>Et ainsi de suite <img src='http://www.fansub-streaming.eu/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  J&#8217;ai mis un &laquo;&nbsp;sleep&nbsp;&raquo; de 0.5 secondes, histoire de ne pas inutilement surcharger le serveur.</p>
<p><a href="http://pastebin.com/9fejcDyP">Sur le pastebin</a> j&#8217;ai rajouté une section pour Isohunt, mais c&#8217;est bien moins efficace: beaucoup trop de références dont beaucoup supprimées et serveur assez lent. Place au code !</p>
<p><code><span style="color: #0000ff;">#!/bin/bash</span><br />
<span style="color: #ff0000;">mkdir</span> -p <span style="color: #ff00ff;">"infohashes"</span><br />
<span style="color: #ff0000;">cd</span> <span style="color: #ff00ff;">"infohashes"</span><br />
<span style="color: #ff0000;">while true; do</span><br />
<span style="color: #00ccff;">target</span>=`<span style="color: #ff0000;">shuf</span> -i <span style="color: #ff00ff;">3200000</span>-<span style="color: #ff00ff;">7000000</span> -n 1`<br />
<span style="color: #00ccff;">hash</span>=`<span style="color: #ff0000;">wget</span> -U <span style="color: #ff00ff;">"Mozilla/5.0 (X11; Linux x86_64; rv:8.0) Gecko/20100101 Firefox/8.0"</span> -O - <span style="color: #ff00ff;">http://thepiratebay.org/torrent/</span><span style="color: #00ccff;">$target</span> | <span style="color: #ff0000;">grep</span> -o <span style="color: #ff00ff;">"href=\"magnet:?xt=urn:btih:[^[:space:]]*\""</span> -m1 | <span style="color: #ff0000;">sed</span> -e <span style="color: #ff00ff;">"s/href=\"magnet:?xt=urn:btih://"</span> | <span style="color: #ff0000;">cut</span> -c 1-40`<br />
<span style="color: #ff0000;">if</span> [ <span style="color: #ff00ff;">"${#hash}"</span>=40 ]; <span style="color: #ff0000;">then</span> <span style="color: #ff0000;">echo</span> <span style="color: #ff00ff;">""</span> &gt;"<span style="color: #00ccff;">$hash</span>";<span style="color: #ff0000;">fi</span><br />
<span style="color: #ff0000;">sleep</span> 0.5<br />
<span style="color: #ff0000;">done</span></code></p>
<p><a href="http://static.fansub-streaming.eu/2011/11/hashfinder.7z">Télécharger (7z)</a></p>
<p>Amusez vous bien <img src='http://www.fansub-streaming.eu/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
 <p><a href="http://www.fansub-streaming.eu/blog/?flattrss_redirect&amp;id=32810&amp;md5=c3f9c171d5c83e6d68491053d0354562" title="Flattr" target="_blank"><img src="https://www.fansub-streaming.eu/blog/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.fansub-streaming.eu/blog/bash-des-infohash-tu-collecteras.html/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		<atom:link rel="payment" href="http://www.fansub-streaming.eu/blog/?flattrss_redirect&amp;id=32810&amp;md5=c3f9c171d5c83e6d68491053d0354562" type="text/html" />"
	</item>
		<item>
		<title>Faire une archive des BD de PirateSourcil</title>
		<link>http://www.fansub-streaming.eu/blog/faire-une-archive-des-bd-de-piratesourcil.html</link>
		<comments>http://www.fansub-streaming.eu/blog/faire-une-archive-des-bd-de-piratesourcil.html#comments</comments>
		<pubDate>Wed, 23 Nov 2011 12:18:51 +0000</pubDate>
		<dc:creator>Mitsukarenai</dc:creator>
				<category><![CDATA[Ressources]]></category>

		<guid isPermaLink="false">http://www.fansub-streaming.eu/blog/?p=32769</guid>
		<description><![CDATA[<p>Pas le temps d&#8217;expliquer, je sais le code est dégueulasse et mal optimisé, feel free to improve parce que moi, là, pas le temps et crève la dalle.</p> <p> #!/bin/bash mkdir piratesourcil cd piratesourcil ANNEE=2009 while [ $ANNEE -lt 2012 ]; do for ((MOIS=1;MOIS&#60;=12;MOIS+=1)); do mkdir "$ANNEE`printf "_%02d" $MOIS`" cd "$ANNEE`printf "_%02d" $MOIS`" wget -O - "http://piratesourcil.blogspot.com/$ANNEE`printf "_%02d" $MOIS`_01_archive.html" &#124; grep -o src=\"[^[:space:]]*.png &#124; sed -e "s/src=\"//" &#62;&#62; url.txt puf -vvv -xg -U "Mozilla/5.0 (X11; Linux x86_64; rv:8.0) Gecko/20100101 Firefox/8.0" <p>[ <a href="http://www.fansub-streaming.eu/blog/faire-une-archive-des-bd-de-piratesourcil.html">Continuer à lire Faire une archive des BD de PirateSourcil</a> ]</p>]]></description>
			<content:encoded><![CDATA[<p>Pas le temps d&#8217;expliquer, je sais le code est dégueulasse et mal optimisé, feel free to improve parce que moi, là, pas le temps et crève la dalle.</p>
<p><code><br />
#!/bin/bash<br />
mkdir piratesourcil<br />
cd piratesourcil<br />
ANNEE=2009<br />
while [  $ANNEE -lt 2012 ]; do<br />
for ((MOIS=1;MOIS&lt;=12;MOIS+=1)); do<br />
mkdir "$ANNEE`printf "_%02d" $MOIS`"<br />
cd "$ANNEE`printf "_%02d" $MOIS`"<br />
wget -O - "http://piratesourcil.blogspot.com/$ANNEE`printf "_%02d" $MOIS`_01_archive.html" | grep -o src=\"[^[:space:]]*.png | sed -e "s/src=\"//" &gt;&gt; url.txt<br />
puf -vvv -xg -U "Mozilla/5.0 (X11; Linux x86_64; rv:8.0) Gecko/20100101 Firefox/8.0" -i url.txt<br />
rm "bonus.png" "croquis.png" "icone+bonus.png" "barbecue.png" "grand+gagnant.png" "barbecue+avec+du+monde.png" "barbecue+sans+personne.png" "icone+bonus+grd+jeu+concours.png" "pour+voir+ttes+les+participations.png" "100906125420525434.png" "festiblog.png" "fairepart.png" "iconebonus.png" "icone+bonus.png" "article%2Bvid%25C3%25A9o.png" "cliquezici.png" "icone%2Bbonus.png" "22481364.png" "prendstaphoto.png" "click%2Bn%2Bload%2Bpub.png" "barbecuei.png" "verylowbarbecueespace.png" "espacevide.png" "verylowsupergeanbarbecu.png" "cliqueziciw.png" "jeneseraipaspresentaufe.png" "clem+et+swell.png" "voscadeaux.png" "vos+cadeaux.png" "url.txt" "10062005180393961.png" "100418064110180624.png" "100418064303424326.png" "100418064346913681.png" "joueurdugrenier.png" "lelombrik.png" "logodbm.png" "somerights20.png"<br />
cd ..<br />
rm -rf "2009_07" "2009_06" "2009_05" "2009_04" "2009_03" "2009_02" "2009_01"<br />
done<br />
let ANNEE=ANNEE+1<br />
done<br />
cd ..<br />
cd piratesourcil_pre<br />
for mois in *; do<br />
mv "$mois" "liste_$mois"<br />
mkdir "$mois"<br />
wget -P "$mois" -i "liste_$mois"<br />
cd "$mois"<br />
for articles in *; do<br />
mkdir "${articles%.????}"<br />
cat "$articles" | grep -o "href=\"http[^[:space:]]*\"&gt;&lt;img" | sed -e "s/href=\"//" | sed -e "s/\"&gt;&lt;img//" | sed -e "s/-h\//\//" &gt;&gt; "${articles%.????}-url.txt"<br />
puf -vvv -P "${articles%.????}" -U "Mozilla/5.0 (X11; Linux x86_64; rv:8.0) Gecko/20100101 Firefox/8.0" -i "${articles%.????}-url.txt"<br />
rm "${articles%.????}-url.txt" "$articles"<br />
cd "${articles%.????}"<br />
for artimg in *; do<br />
mv "$artimg" "../${articles%.????}_$artimg"<br />
done<br />
cd ..<br />
rm -rf "${articles%.????}"<br />
done<br />
cd ..<br />
mv "$mois" ../piratesourcil/<br />
done<br />
</code></p>
<p>Tel quel il fonctionnera qu&#8217;à moitié, il vous faut le bête listing d&#8217;articles d&#8217;avant 2009/08 (pas eu le temps de chercher plus efficace, désolé). Le dossier est à mettre au même endroit que le script. <strong>Après usage, si vous voulez ré-utiliser ce dossier, vous devrez renommer les fichiers contenus en enlevant le préfixe &laquo;&nbsp;liste_&nbsp;&raquo;.</strong> Bah oui, sur GNU/Linux on ne peut pas appeler un dossier pareil qu&#8217;un fichier, et ma méthode est conne.</p>
<p><a href="http://static.fansub-streaming.eu/2011/11/piratesourcil_script.zip">Pack script + dossier des refs pré-2009/08</a></p>
<p>Et voilà ce que vous obtenez une fois le script exécuté. <a href="http://static.fansub-streaming.eu/2011/11/piratesourcil_archive.zip">Archive des BD de PirateSourcil</a> (100 Mo, les lapinous)</p>
<p>ps: je persiste et signe, Blogspot c&#8217;est à brûler par le feu jusqu&#8217;à ce que cendres en reste.</p>
 <p><a href="http://www.fansub-streaming.eu/blog/?flattrss_redirect&amp;id=32769&amp;md5=1734fa473fc479c85eb47a8d1ca8dc6e" title="Flattr" target="_blank"><img src="https://www.fansub-streaming.eu/blog/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.fansub-streaming.eu/blog/faire-une-archive-des-bd-de-piratesourcil.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<atom:link rel="payment" href="http://www.fansub-streaming.eu/blog/?flattrss_redirect&amp;id=32769&amp;md5=1734fa473fc479c85eb47a8d1ca8dc6e" type="text/html" />"
	</item>
		<item>
		<title>[bash] Playlist de webradios anime</title>
		<link>http://www.fansub-streaming.eu/blog/bash-playlist-de-webradios-anime.html</link>
		<comments>http://www.fansub-streaming.eu/blog/bash-playlist-de-webradios-anime.html#comments</comments>
		<pubDate>Wed, 16 Nov 2011 12:15:35 +0000</pubDate>
		<dc:creator>Mitsukarenai</dc:creator>
				<category><![CDATA[Ressources]]></category>

		<guid isPermaLink="false">http://www.fansub-streaming.eu/blog/?p=32678</guid>
		<description><![CDATA[<p>J&#8217;ai mis à jour la page des webradios/TV </p> <p>Le répertoire Xiph, résultats pour &#171;&#160;anime&#160;&#187;: et si on se faisait une compil&#8217; de ces webradios, tout dans une liste de lecture, 1 seul stream par radio ? J&#8217;ai un peu tâtonné jusqu&#8217;à obtenir exactement ce que je voulais. Mais voilà:</p> <p>#!/bin/bash wget -O page1 "http://dir.xiph.org/search?search=anime" wget -O page2 "http://dir.xiph.org/search?search=anime&#38;page=1" cat page1 page2 &#62; page rm page1 page2 grep -o /listen/[^[:space:]]*/listen.xspf page &#124; sed -e "s/\/listen/http:\/\/dir.xiph.org\/listen/" &#62; radios mkdir temp while <p>[ <a href="http://www.fansub-streaming.eu/blog/bash-playlist-de-webradios-anime.html">Continuer à lire [bash] Playlist de webradios anime</a> ]</p>]]></description>
			<content:encoded><![CDATA[<p>J&#8217;ai mis à jour la <a href="http://www.fansub-streaming.eu/blog/webradio-tv">page des webradios/TV</a> <img src='http://www.fansub-streaming.eu/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Le répertoire Xiph, <a href="http://dir.xiph.org/search?search=anime">résultats pour &laquo;&nbsp;anime&nbsp;&raquo;</a>: et si on se faisait une compil&#8217; de ces webradios, tout dans une liste de lecture, 1 seul stream par radio ? J&#8217;ai un peu tâtonné jusqu&#8217;à obtenir exactement ce que je voulais. Mais voilà:</p>
<p><code><span style="color: #0000ff;">#!/bin/bash</span><br />
<span style="color: #ff0000;">wget</span> -O page1 <span style="color: #ff00ff;">"http://dir.xiph.org/search?search=anime"</span><br />
<span style="color: #ff0000;">wget</span> -O page2 <span style="color: #ff00ff;">"http://dir.xiph.org/search?search=anime&amp;page=1"</span><br />
<span style="color: #ff0000;">cat</span> page1 page2 &gt; page<br />
<span style="color: #ff0000;">rm</span> page1 page2<br />
<span style="color: #ff0000;">grep</span> -o <span style="color: #ff00ff;">/listen/[^[:space:]]*/listen.xspf</span> page | <span style="color: #ff0000;">sed</span> -e <span style="color: #ff00ff;">"s/\/listen/http:\/\/dir.xiph.org\/listen/"</span> &gt; radios<br />
<span style="color: #ff0000;">mkdir</span> temp<br />
<span style="color: #ff0000;">while</span> <span style="color: #ff0000;">read</span> <span style="color: #339966;">line</span>; <span style="color: #ff0000;">do</span> <span style="color: #ff0000;">wget</span> -O <span style="color: #ff00ff;">"temp/`<span style="color: #3366ff;">date +%s%N</span>`"</span> "<span style="color: #339966;">$line</span>" ; <span style="color: #ff0000;">done</span> &lt; radios<br />
<span style="color: #ff0000;">for</span> <span style="color: #339966;">file</span> <span style="color: #ff0000;">in</span> temp/*; <span style="color: #ff0000;">do</span> <span style="color: #ff0000;">grep</span> -m 1 -o <span style="color: #ff00ff;">"&lt;track&gt;&lt;location&gt;[^[:space:]]*&lt;/location&gt;&lt;/track&gt;"</span> <span style="color: #339966;">$file</span> &gt;&gt; track  ; <span style="color: #ff0000;">done</span><br />
<span style="color: #339966;">streams</span>=`<span style="color: #3366ff;">cat track</span>`<br />
<span style="color: #ff0000;">echo</span> <span style="color: #ff00ff;">'&lt;?xml version="1.0" encoding="UTF-8"?&gt;&lt;playlist version="1" xmlns="http://xspf.org/ns/0/"&gt;&lt;title&gt;Mix&lt;/title&gt;&lt;info&gt;&lt;/info&gt;&lt;trackList&gt;'<span style="color: #339966;">$streams</span>'&lt;/trackList&gt;&lt;/playlist&gt;'</span> &gt; Anime_mix.xspf<br />
<span style="color: #ff0000;">rm</span> track radios page<br />
<span style="color: #ff0000;">rm</span> -rf temp</code></p>
<p>Une fois exécuté, ce script sort un fichier &laquo;&nbsp;Anime_mix.xspf&nbsp;&raquo; contenant 1 stream par webradio, à ouvrir dans un lecteur comme VLC <img src='http://www.fansub-streaming.eu/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Au moment où j&#8217;écris ça, c&#8217;est une playlist de 25 streams qu&#8217;on obtient.</p>
<ol>
<li>on récupère les 2 pages de résultats avec wget (on peut ajouter le téléchargement de 3, 4&#8230; autant de pages de résultats qu&#8217;il faut)</li>
<li>on fusionne ces pages en 1 seule, et on enlève les 2 pages individuelles</li>
<li>on &laquo;&nbsp;attrape&nbsp;&raquo; le lien vers les listes de lecture dans la page, et on le transforme en lien absolu</li>
<li>on crée un dossier et on y récupère avec wget toutes les listes de lecture trouvées</li>
<li>pour chaque liste de lecture dans le dossier, on extrait uniquement la première référence de piste (track) car beaucoup de radios ont plusieurs pistes sur des serveurs différents</li>
<li>on &laquo;&nbsp;reconstruit&nbsp;&raquo; une liste de lecture avec toutes les références de pistes</li>
<li>et on nettoie les fichiers de travail</li>
</ol>
<p>Le fichier de sortie est un peu barbare (pas de retour à la ligne entre les pistes, pas de titre ni info,..) mais VLC le traite sans problème <img src='http://www.fansub-streaming.eu/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  Adaptez selon vos besoins (mot clé de la page de résultats, nombres de pages à scanner, type de playlist à sortir&#8230;).</p>
<p><a href="http://static.fansub-streaming.eu/2011/11/anime_playlist.zip">Télécharger le script</a></p>
<p><a href="http://static.fansub-streaming.eu/2011/11/Anime_mix.xspf_.zip">Télécharger un exemple de playlist</a></p>
<p>Amusez-vous bien <img src='http://www.fansub-streaming.eu/blog/wp-includes/images/smilies/happy.png' alt='^^' class='wp-smiley' /> </p>
 <p><a href="http://www.fansub-streaming.eu/blog/?flattrss_redirect&amp;id=32678&amp;md5=73128a565274419480f45b42be1a62b1" title="Flattr" target="_blank"><img src="https://www.fansub-streaming.eu/blog/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.fansub-streaming.eu/blog/bash-playlist-de-webradios-anime.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<atom:link rel="payment" href="http://www.fansub-streaming.eu/blog/?flattrss_redirect&amp;id=32678&amp;md5=73128a565274419480f45b42be1a62b1" type="text/html" />"
	</item>
		<item>
		<title>[bash] Hardsub ASS avec mencoder</title>
		<link>http://www.fansub-streaming.eu/blog/bash-hardsub-ass-avec-mencoder.html</link>
		<comments>http://www.fansub-streaming.eu/blog/bash-hardsub-ass-avec-mencoder.html#comments</comments>
		<pubDate>Tue, 08 Nov 2011 00:26:19 +0000</pubDate>
		<dc:creator>Mitsukarenai</dc:creator>
				<category><![CDATA[Ressources]]></category>

		<guid isPermaLink="false">http://www.fansub-streaming.eu/blog/?p=32577</guid>
		<description><![CDATA[<p>Yop </p> <p>Les fansubbeurs le savent, pour hardsubber (ou &#171;&#160;burn&#160;&#187; en anglais) des sous-titres ASS/SSA (à effets donc), les outils ne sont pas légion. Avidemux est le plus simple d&#8217;usage, en fait il exploite une fonctionnalité d&#8217;un autre outil, lui très puissant (pas autant que ffmpeg je trouve): mencoder. (on ajouterait Avisynth+MeGUI, mais non en fait). Avidemux a une fonction d&#8217;encodage par lot, mais c&#8217;est super-fastidieux à préparer (avant je copiais-collais le script et l&#8217;éditais avec un bête éditeur de <p>[ <a href="http://www.fansub-streaming.eu/blog/bash-hardsub-ass-avec-mencoder.html">Continuer à lire [bash] Hardsub ASS avec mencoder</a> ]</p>]]></description>
			<content:encoded><![CDATA[<p>Yop <img src='http://www.fansub-streaming.eu/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Les fansubbeurs le savent, pour hardsubber (ou &laquo;&nbsp;burn&nbsp;&raquo; en anglais) des sous-titres ASS/SSA (à effets donc), les outils ne sont pas légion. Avidemux est le plus simple d&#8217;usage, en fait il exploite une fonctionnalité d&#8217;un autre outil, lui très puissant (pas autant que ffmpeg je trouve):  mencoder. (on ajouterait Avisynth+MeGUI, mais non en fait). Avidemux a une fonction d&#8217;encodage par lot, mais c&#8217;est super-fastidieux à préparer (avant je copiais-collais le script et l&#8217;éditais avec un bête éditeur de texte pour ne pas devoir me taper toutes les étapes dans Avidemux). Bon entrons dans le vif du sujet: exploitons mencoder, qui fait partie de mplayer.</p>
<p><code><span style="color: #0000ff;">#!/bin/bash</span><br />
<span style="color: #ff0000;">for</span> <span style="color: #800080;">file</span> <span style="color: #ff0000;">in</span> *; <span style="color: #ff0000;">do</span><br />
<span style="color: #ff0000;">mkfifo</span> <span style="color: #ff00ff;">fifo.y4m</span><br />
<span style="color: #ff0000;">mplayer</span> <span style="color: #008000;">-ass -sub</span> <span style="color: #ff00ff;">"sub/</span><span style="color: #800080;">$file</span><span style="color: #ff00ff;">.ass"</span> <span style="color: #008000;">-nosound -quiet -benchmark -vo yuv4mpeg:</span><span style="color: #ff00ff;">file=fifo.y4m</span> <span style="color: #ff00ff;">"</span><span style="color: #800080;">$file</span><span style="color: #ff00ff;">"</span> <span style="color: #ff0000;">&amp;</span><br />
<span style="color: #ff0000;">mencoder</span> <span style="color: #008000;">-cache 8192 -audiofile</span> <span style="color: #ff00ff;">"</span><span style="color: #800080;">$file</span><span style="color: #ff00ff;">"</span> <span style="color: #008000;">-mc 0 -oac mp3lame -lameopts cbr=1:br=128 -ovc x264 -x264encopts crf=18:frameref=8:bframes=3:b_adapt:weight_b:partitions=all:8x8dct:me=esa:subq=7:trellis=2:threads=auto -o</span> <span style="color: #ff00ff;">"</span><span style="color: #800080;">${file</span><span style="color: #ff00ff;">%.???}.avi"</span> <span style="color: #ff00ff;">fifo.y4m</span><br />
<span style="color: #ff0000;">rm</span> <span style="color: #ff00ff;">fifo.y4m</span><br />
<span style="color: #ff0000;">done</span></code></p>
<p>Vous avez l&#8217;impression que j&#8217;ai brûlé les étapes ? <img src='http://www.fansub-streaming.eu/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Ce script est à placer dans un dossier avec les vidéos à encoder. Les sous-titres sont à mettre dans un sous-dossier &laquo;&nbsp;sub&nbsp;&raquo;. Si vous voulez par exemple encoder &laquo;&nbsp;05.mkv&nbsp;&raquo;, le fichier de sous-titres doit s’appeler &laquo;&nbsp;05.mkv.ass&nbsp;&raquo;. Je n&#8217;entre pas dans les détails de la construction de fichiers MKV avec MkvMergeGUI et <a href="http://www.fansub-streaming.eu/blog/bash-extraire-les-pistes-dun-fichier-mkv.html">mon script d&#8217;extraction de pistes</a>.</p>
<p>Après exécution, vous obtenez un fichier -par exemple 05.avi. Bon le conteneur de sortie peut ne pas être AVI, je l&#8217;ai mis parce que c&#8217;est un container n&#8217;acceptant que pistes audio et vidéo (preuve donc à la lecture que les sous-titres sont incrustés dans la vidéo). Oui je sais, utiliser un puissant encodeur comme x264 et un crache-bouillie comme mp3lame.. L&#8217;AVI a ses contraintes.</p>
<p>(les windowsiens auront beau clamer &laquo;&nbsp;we are <a href="http://static.fansub-streaming.eu/2011/11/os.png">the 85%</a> sur FS&nbsp;&raquo;, ils ne pourront qu&#8217;au mieux s&#8217;inspirer de la ligne de commande pour concocter leur propre batch <img src='http://www.fansub-streaming.eu/blog/wp-includes/images/smilies/icon_razz.gif' alt=':p' class='wp-smiley' />   )</p>
<p>J&#8217;ai pas souvent à hardsubber des animes, mais souffrez de voir le résultat de ce script dans les rééditions HD de Hen Zemi <img src='http://www.fansub-streaming.eu/blog/wp-includes/images/smilies/153.gif' alt=':blah:' class='wp-smiley' />  (upload courant de l&#8217;après-midi)</p>
 <p><a href="http://www.fansub-streaming.eu/blog/?flattrss_redirect&amp;id=32577&amp;md5=6ffb1596fd74130cb673696f7de3ff7e" title="Flattr" target="_blank"><img src="https://www.fansub-streaming.eu/blog/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.fansub-streaming.eu/blog/bash-hardsub-ass-avec-mencoder.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<atom:link rel="payment" href="http://www.fansub-streaming.eu/blog/?flattrss_redirect&amp;id=32577&amp;md5=6ffb1596fd74130cb673696f7de3ff7e" type="text/html" />"
	</item>
		<item>
		<title>Un projet de portail vidéo simplifié (0.3-pre)</title>
		<link>http://www.fansub-streaming.eu/blog/un-projet-de-portail-video-simplifie.html</link>
		<comments>http://www.fansub-streaming.eu/blog/un-projet-de-portail-video-simplifie.html#comments</comments>
		<pubDate>Sat, 29 Oct 2011 15:52:10 +0000</pubDate>
		<dc:creator>Mitsukarenai</dc:creator>
				<category><![CDATA[Ressources]]></category>

		<guid isPermaLink="false">http://www.fansub-streaming.eu/blog/?p=32491</guid>
		<description><![CDATA[<p>J&#8217;ai eu dans l&#8217;idée de faire un truc simple à maintenir, à la &#171;&#160;upload and forget&#160;&#187; . Alors j&#8217;ai pris mes petites mains et j&#8217;ai commis quelques heures de codage. Selon mes tests, c&#8217;est fonctionnel mais aussi très brouillon. Et, non, c&#8217;est pas pour Fansub Streaming: je tiens à mon blog, cette intégration &#171;&#160;tout en un&#160;&#187; de passions compatibles. J&#8217;imagine plutôt ce genre de portail pour le cadre familial, une gestion simplifiée pour ranger et partager des vidéos selon les <p>[ <a href="http://www.fansub-streaming.eu/blog/un-projet-de-portail-video-simplifie.html">Continuer à lire Un projet de portail vidéo simplifié (0.3-pre)</a> ]</p>]]></description>
			<content:encoded><![CDATA[<p>J&#8217;ai eu dans l&#8217;idée de faire un truc simple à maintenir, à la &laquo;&nbsp;upload and forget&nbsp;&raquo; . Alors j&#8217;ai pris mes petites mains et j&#8217;ai commis quelques heures de codage. Selon mes tests, c&#8217;est <strong>fonctionnel</strong> mais aussi <strong>très brouillon</strong>. Et, non, c&#8217;est pas pour Fansub Streaming: je tiens à mon blog, cette intégration &laquo;&nbsp;tout en un&nbsp;&raquo; de passions compatibles. J&#8217;imagine plutôt ce genre de portail pour le cadre familial, une gestion simplifiée pour ranger et partager des vidéos selon les sujets (un dossier &laquo;&nbsp;Vacances à Cannes&nbsp;&raquo; , un dossier &laquo;&nbsp;Anniversaire de Lulu&nbsp;&raquo; ,..).</p>
<p>Vraiment simple à maintenir: créer un dossier, et mettre dedans les vidéos WebM. C&#8217;est tout: PHP se charge de créer les listes, le titre de page, et afficher la vidéo, tout en 1 fichier PHP.</p>
<p>Je bosserai dessus de temps en temps, j&#8217;ai par exemple quelques idées comme: génération de balises meta description (ça c&#8217;est franchement facultatif, c&#8217;est pas destiné à une SEO de la mort), utiliser une image d&#8217;illustration pour la liste des dossiers, changer la couleur du dégradé CSS facilement en éditant une variable, compter et afficher à côté de la liste des dossiers le nombre de vidéos que chacun contient,&#8230; Et rationaliser le code existant (parce que là pour l&#8217;instant c&#8217;est très artisanal, même si avec le recul je me dis que ça permet à PHP de traiter juste ce qu&#8217;il faut).</p>
<p><strong>Maintenant, important: remontez-moi des vulnérabilités de parcours</strong> (faire lister un autre dossier à PHP, l&#8217;ouverture de fichiers qui ne devraient pas l&#8217;être genre un WebM sur un serveur externe,&#8230;). J&#8217;ai bien fait plusieurs barrages notamment contre le listing de dossier parent, si un truc anormal est possible sans que ça sorte un code erreur 404 non trouvé ou 400 mauvaise requête, courir m&#8217;avertir <img src='http://www.fansub-streaming.eu/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Aussi si vous arrivez à obtenir des pages avec des messages d&#8217;erreur PHP (vu que le serveur retourne un état 200 ok, pas bon).</p>
<p>Principe de fonctionnement: le PHP a 3 &laquo;&nbsp;modes de fonctionnement&nbsp;&raquo;: si rien n&#8217;est donné, lister les dossiers. Si un dossier est donné (serie), lister le contenu du dossier. Si dossier est donné et un fichier est donné (episode), afficher la lecture de la vidéo. Dans les listings, les &laquo;&nbsp;-&nbsp;&raquo; (tirets/moins) sont remplacés par des &nbsp;&raquo; &nbsp;&raquo; (espaces) et le texte est capitalisé en mode titre (première lettre de chaque mot en majuscule). Le listing des fichiers montre sous la forme: dossier &#8211; fichier. Pour des raisons de sécurité, seuls les fichiers WebM peuvent être appelés via le PHP (si vous essayez de passer &laquo;&nbsp;index.php&nbsp;&raquo; en fichier, PHP retournerait un code de lecture vidéo pour &laquo;&nbsp;index.php.webm&nbsp;&raquo; &#8211; sauf que PHP vérifie la présence effective du fichier WebM).</p>
<p>Donc je m&#8217;adresse aussi aux non-programmeurs PHP: maltraitez-le pour trouver des bugs <img src='http://www.fansub-streaming.eu/blog/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<h3>Code</h3>
<p><a href="http://static.fansub-streaming.eu/portail-video/">testing</a>: améliorations cosmétiques CSS</p>
<p>07/11/2011: [ <a href="http://static.fansub-streaming.eu/2011/10/0-3_index.php_.zip">version 0.3-pre</a>/ <a href="http://static.fansub-streaming.eu/2011/10/0-3.pdf">PDF</a>] Forçage type string, dimensions vidéo en CSS, inversion de condition (Jerry Wham), exclusion antislash + strpos au lieu de preg match (Ludo).</p>
<p>31/10/2011: [<a href="http://static.fansub-streaming.eu/2011/10/0-2_index.php_.zip">version 0.2-pre</a> / <a href="http://static.fansub-streaming.eu/2011/10/0-2.pdf">PDF</a>] changement détection anti-point (détecte si 1er caractère = point), substitution de _ au lieu de &#8211; pour les espaces, bugfix points dans les noms de fichiers, changement de la fonction de listage dossiers, ordre alphabétique de la liste de dossiers, rajout d&#8217;un lien retour à la liste des dossiers, lien de retour au contenu d&#8217;un dossier dynamique, personnalisation plus simple de diverses variables PHP, un peu de cosmétique dans les variables.</p>
<p>29/10/2011: [<a href="http://static.fansub-streaming.eu/2011/10/0-1_index.php_.zip">version 0.1-pre</a> / <a href="http://static.fansub-streaming.eu/2011/10/0-1.pdf">PDF</a>] version publique initiale.</p>
 <p><a href="http://www.fansub-streaming.eu/blog/?flattrss_redirect&amp;id=32491&amp;md5=d63a2df34f55e39273df7faad7438404" title="Flattr" target="_blank"><img src="https://www.fansub-streaming.eu/blog/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.fansub-streaming.eu/blog/un-projet-de-portail-video-simplifie.html/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		<atom:link rel="payment" href="http://www.fansub-streaming.eu/blog/?flattrss_redirect&amp;id=32491&amp;md5=d63a2df34f55e39273df7faad7438404" type="text/html" />"
	</item>
		<item>
		<title>Cache local de Gravatars</title>
		<link>http://www.fansub-streaming.eu/blog/cache-local-de-gravatars.html</link>
		<comments>http://www.fansub-streaming.eu/blog/cache-local-de-gravatars.html#comments</comments>
		<pubDate>Mon, 17 Oct 2011 19:02:40 +0000</pubDate>
		<dc:creator>Mitsukarenai</dc:creator>
				<category><![CDATA[Ressources]]></category>

		<guid isPermaLink="false">http://www.fansub-streaming.eu/blog/?p=32439</guid>
		<description><![CDATA[<p>Les éléments chargés depuis un site externe, c&#8217;est mal: ça ralentit le chargement, et déjà ça fout la merde si le site tombe. Hop, on va faire un cache local de gravatars en PHP pour WordPress.</p> <p>Dans un dossier réservé au cache, foutez un fichier &#171;&#160;get.php&#160;&#187; dont le contenu est:</p> <p>&#60;?php $expire = time() -604800 ; $hash = ereg_replace("[^a-f0-9]", "", $_GET['g'] ); $newfile = $hash.'.png'; if (isset($_GET['g'])) { $file = 'https://secure.gravatar.com/avatar/'.$hash.'?s=60&#38;d=wavatar'; if(file_exists($newfile) &#38;&#38; filemtime($newfile) &#60; $expire) { unlink($newfile); } if <p>[ <a href="http://www.fansub-streaming.eu/blog/cache-local-de-gravatars.html">Continuer à lire Cache local de Gravatars</a> ]</p>]]></description>
			<content:encoded><![CDATA[<p>Les éléments chargés depuis un site externe, c&#8217;est mal: ça ralentit le chargement, et déjà ça fout la merde si le site tombe. Hop, on va faire un cache local de gravatars en PHP pour WordPress.</p>
<p>Dans un dossier réservé au cache, foutez un fichier &laquo;&nbsp;get.php&nbsp;&raquo; dont le contenu est:</p>
<p><code><span style="color: #ff0000;">&lt;?php</span><br />
<span style="color: #339966;">$expire</span> = time<span style="color: #ff0000;">()</span> -<span style="color: #ff00ff;">604800</span> <span style="color: #ff0000;">;</span><br />
<span style="color: #339966;">$hash</span> = ereg_replace<span style="color: #ff0000;">(</span><span style="color: #ff00ff;">"[^a-f0-9]"</span>, <span style="color: #ff00ff;">""</span>, <span style="color: #339966;">$_GET[</span><span style="color: #ff00ff;">'g'</span><span style="color: #339966;">]</span> <span style="color: #ff0000;">);</span><br />
<span style="color: #339966;">$newfile</span> = <span style="color: #339966;">$hash</span><span style="color: #ff0000;">.</span><span style="color: #ff00ff;">'.png'</span><span style="color: #ff0000;">;</span><br />
<span style="color: #ff0000;">if</span> (isset<span style="color: #ff0000;">(</span><span style="color: #339966;">$_GET[</span><span style="color: #ff00ff;">'g'</span><span style="color: #339966;">]</span><span style="color: #ff0000;">)</span>)<br />
{<br />
<span style="color: #339966;">$file</span> = <span style="color: #ff00ff;">'https://secure.gravatar.com/avatar/'</span><span style="color: #ff0000;">.</span><span style="color: #339966;">$hash</span><span style="color: #ff0000;">.</span><span style="color: #ff00ff;">'?s=60&amp;d=wavatar'</span><span style="color: #ff0000;">;</span><br />
<span style="color: #ff0000;">if</span>(file_exists<span style="color: #ff0000;">(</span><span style="color: #339966;">$newfile</span><span style="color: #ff0000;">)</span> <span style="color: #ff0000;">&amp;&amp;</span> filemtime<span style="color: #ff0000;">(</span><span style="color: #339966;">$newfile</span><span style="color: #ff0000;">)</span> <span style="color: #ff0000;">&lt;</span> <span style="color: #339966;">$expire</span>)<br />
{ unlink<span style="color: #ff0000;">(</span><span style="color: #339966;">$newfile</span><span style="color: #ff0000;">);</span> }<br />
<span style="color: #ff0000;">if</span> (file_exists<span style="color: #ff0000;">(</span><span style="color: #339966;">$newfile</span><span style="color: #ff0000;">)</span>)<br />
{ }<br />
<span style="color: #ff0000;">else</span><br />
{ copy<span style="color: #ff0000;">(</span><span style="color: #339966;">$file</span>, <span style="color: #339966;">$newfile</span><span style="color: #ff0000;">);</span> }<br />
header<span style="color: #ff0000;">(</span><span style="color: #ff00ff;">'Location: '</span><span style="color: #ff0000;">.</span><span style="color: #339966;">$newfile</span><span style="color: #ff0000;">.</span><span style="color: #ff00ff;">''</span><span style="color: #ff0000;">);</span> }<br />
<span style="color: #ff0000;">else</span><br />
{ <span style="color: #ff0000;">echo</span> <span style="color: #ff00ff;">"erreur"</span><span style="color: #ff0000;">;</span> }<br />
<span style="color: #ff0000;">?&gt;</span><br />
</code></p>
<p>Pour expire, mettez la durée de conservation du cache, en secondes (ici: 7 jours, le gravatar local doit être mis à jour au cas où le visiteur a changé le sien). $newfile désigne le nom du fichier local, $file le fichier original sur Gravatar.</p>
<p>Si le paramètre &laquo;&nbsp;g&nbsp;&raquo; est donné, définir $file. Dans la même condition, si le fichier existe et a expiré, il est supprimé. Si le fichier existe, (il se passe rien, le fichier n&#8217;a pas expiré car la condition précédente ne l&#8217;a pas supprimé), sinon le fichier est téléchargé. Une fois la condition remplie, le navigateur est redirigé vers le fichier local. Si &laquo;&nbsp;g&nbsp;&raquo; n&#8217;est pas donné, afficher un message d&#8217;erreur.</p>
<p>Ainsi, pour mon gravatar à moi: <a href="http://static.fansub-streaming.eu/gravatars/get.php?g=b7d5d74f0a697028afecb8055e963d50">http://static.fansub-streaming.eu/gravatars/get.php?g=b7d5d74f0a697028afecb8055e963d50</a></p>
<p>Bon, on a donc un script qui télécharge les avatars depuis Gravatar et redirige plutôt l&#8217;utilisateur vers le fichier local <img src='http://www.fansub-streaming.eu/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Reste à configurer WordPress pour exploiter ça.</p>
<p>Pour ce faire, le plus simple c&#8217;est de créer une extension: en cas de mise à jour de WordPress, vos modifications sont conservées. Mettez ça dans un fichier PHP que vous uploadez dans /wp-content/plugins/. C&#8217;est du code qui modifie la fonction get_avatar de /wp-includes/pluggable.php grâce à un filtre.  <strong>Vers la fin, vous devez modifier la ligne pour qu&#8217;elle corresponde à l&#8217;URL absolue de votre site !</strong> C&#8217;est du code testé opérationnel sur WordPress 3.2.1, vérifiez la compatibilité après mise à jour.<strong><br />
</strong></p>
<p><code><span style="color: #ff0000;">&lt;?php</span><br />
<span style="color: #0000ff;">/*</span><br />
<span style="color: #0000ff;"> Plugin Name: Hack Gravatar</span><br />
<span style="color: #0000ff;"> Plugin URI: http://www.fansub-streaming.eu/</span><br />
<span style="color: #0000ff;"> Description: Hack cache local gravatars</span><br />
<span style="color: #0000ff;"> Version: 1.0</span><br />
<span style="color: #0000ff;"> Author: Mitsu</span><br />
<span style="color: #0000ff;"> Author URI: http://www.fansub-streaming.eu/</span><br />
<span style="color: #0000ff;"> */</span><br />
add_filter(<span style="color: #ff00ff;">'get_avatar'</span>, <span style="color: #ff00ff;">'be_gravatar_filter'</span>, <span style="color: #ff00ff;">10</span>, <span style="color: #ff00ff;">5</span>);<br />
<span style="color: #ff0000;">function</span> be_gravatar_filter(<span style="color: #339966;">$avatar</span>, <span style="color: #339966;">$id_or_email</span>, <span style="color: #339966;">$size</span>, <span style="color: #339966;">$default</span>, <span style="color: #339966;">$alt</span>) {<br />
<span style="color: #339966;">$email</span> = <span style="color: #ff00ff;">''</span>;<br />
<span style="color: #ff0000;">if</span> ( is_numeric(<span style="color: #339966;">$id_or_email</span>) ) {<br />
<span style="color: #339966;">$id</span> = (int) <span style="color: #339966;">$id_or_email</span>;<br />
<span style="color: #339966;">$user</span> = get_userdata(<span style="color: #339966;">$id</span>);<br />
<span style="color: #ff0000;">if</span> ( <span style="color: #339966;">$user</span> )<br />
<span style="color: #339966;">$email</span> = <span style="color: #339966;">$user-&gt;user_email</span>;<br />
} <span style="color: #ff0000;">elseif</span> ( is_object(<span style="color: #339966;">$id_or_email</span>) ) {<br />
<span style="color: #339966;">$allowed_comment_types</span> = apply_filters( <span style="color: #ff00ff;">'get_avatar_comment_types'</span>, array( <span style="color: #ff00ff;">'comment'</span> ) );<br />
<span style="color: #ff0000;">if</span> ( ! <span style="color: #ff0000;">empty</span>( <span style="color: #339966;">$id_or_email-&gt;comment_type</span> ) <span style="color: #ff0000;">&amp;&amp;</span> ! in_array( <span style="color: #339966;">$id_or_email</span>-&gt;comment_type, (array) <span style="color: #339966;">$allowed_comment_types</span> ) )<br />
<span style="color: #ff0000;">return</span> <span style="color: #ff00ff;">false</span>;<br />
<span style="color: #ff0000;">if</span> ( !<span style="color: #ff0000;">empty</span>(<span style="color: #339966;">$id_or_email</span>-&gt;user_id) ) {<br />
<span style="color: #339966;">$id</span> = (int) <span style="color: #339966;">$id_or_email</span>-&gt;user_id;<br />
<span style="color: #339966;">$user</span> = get_userdata(<span style="color: #339966;">$id</span>);<br />
if ( <span style="color: #339966;">$user</span>)<br />
<span style="color: #339966;">$email</span> = <span style="color: #339966;">$user</span>-&gt;user_email;<br />
} <span style="color: #ff0000;">elseif</span> ( !<span style="color: #ff0000;">empty</span>(<span style="color: #339966;">$id_or_email</span>-&gt;comment_author_email) ) {<br />
<span style="color: #339966;">$email</span> = <span style="color: #339966;">$id_or_email</span>-&gt;comment_author_email;<br />
}<br />
} <span style="color: #ff0000;">else</span> {<br />
<span style="color: #339966;">$email</span> = <span style="color: #339966;">$id_or_email</span>;<br />
}<br />
if ( <span style="color: #ff0000;">empty</span>(<span style="color: #339966;">$default</span>) ) {<br />
<span style="color: #339966;">$avatar_default</span> = get_option(<span style="color: #ff00ff;">'avatar_default'</span>);<br />
<span style="color: #ff0000;">if</span> ( empty(<span style="color: #339966;">$avatar_default</span>) )<br />
<span style="color: #339966;">$default</span> = <span style="color: #ff00ff;">'mystery'</span>;<br />
<span style="color: #ff0000;">else</span><br />
<span style="color: #339966;">$default</span> = <span style="color: #339966;">$avatar_default</span>;<br />
}<br />
<span style="color: #ff0000;">if</span> ( !empty(<span style="color: #339966;">$email</span>) )<br />
<span style="color: #339966;">$email_hash</span> = md5( strtolower( <span style="color: #339966;">$email</span> ) );<br />
<span style="color: #339966;">$return</span> = <span style="color: #ff00ff;">'&lt;img hspace="5" align="left" src="http://<span style="background-color: #ffff00;">mettez_ici_votre_site</span>/get.php?g='</span>.<span style="color: #339966;">$email_hash</span>.<span style="color: #ff00ff;">'" width="'</span>.<span style="color: #339966;">$size</span>.<span style="color: #ff00ff;">'" height="'</span>.<span style="color: #339966;">$size</span>.<span style="color: #ff00ff;">'" alt="'</span>.<span style="color: #339966;">$alt</span>.<span style="color: #ff00ff;">'" /&gt;'</span>;<br />
<span style="color: #ff0000;">return</span> <span style="color: #339966;">$return</span>;<br />
}<br />
<span style="color: #ff0000;">?&gt;</span></code></p>
<p>Ça vous donne pas envie d&#8217;apprendre le PHP, toutes ces belles couleurs ? <img src='http://www.fansub-streaming.eu/blog/wp-includes/images/smilies/icon_razz.gif' alt=':p' class='wp-smiley' /> </p>
<p>Bon c&#8217;est en grosse partie une reprise de la fonction get_avatar originale. Dans le cas présent, la fonction get_avatar est substituée par la fonction be_gravatar_filter (vous pouvez nommer ça différemment, j&#8217;ai juste eu la flemme de changer le morceau de code trouvé sur l&#8217;interweb). La partie intéressante c&#8217;est tout à la fin, à partir du moment où le hash est calculé à partir de l&#8217;email. La valeur de $return est affichée sur votre blog, donc c&#8217;est là où vous veillerez à entrer l&#8217;URL de votre site (à &laquo;&nbsp;mettez_ici_votre_site&nbsp;&raquo;).</p>
<p>Reste plus qu&#8217;à activer l&#8217;extension, et voilà le travail <img src='http://www.fansub-streaming.eu/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Là où les gravatars étaient chargés (notamment dans les commentaires), les navigateurs vont plutôt tenter de récupérer une image à travers le get.php, tandis que ce dernier se charge de télécharger le fichier (le cas échéant) et pointer vers le bon fichier.</p>
<p><a href="http://static.fansub-streaming.eu/2011/10/gravatar.png"><img class="alignnone size-medium wp-image-32440" title="gravatar" src="http://static.fansub-streaming.eu/2011/10/gravatar-300x237.png" alt="" width="300" height="237" /></a></p>
<p>Mission accomplie <img src='http://www.fansub-streaming.eu/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>ps: je dédicace cet article à Gnuzer, dont le HTTPS Everywhere trimera un peu moins à forcer le HTTPS à chaque image Gravatar à charger &#8211; en même temps Gravatar ne pourra pas tracer les internautes, le script get.php agissant un peu comme un proxy.</p>
<p>Cachez bien <img src='http://www.fansub-streaming.eu/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>edit: ah vous vouliez une <a href="http://static.fansub-streaming.eu/gravatars/">jolie mosaïque de tous les gravatars cachés</a> ? <img src='http://www.fansub-streaming.eu/blog/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
 <p><a href="http://www.fansub-streaming.eu/blog/?flattrss_redirect&amp;id=32439&amp;md5=78c89c4b0cfd07e7f97ebc9bbe0166d1" title="Flattr" target="_blank"><img src="https://www.fansub-streaming.eu/blog/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.fansub-streaming.eu/blog/cache-local-de-gravatars.html/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		<atom:link rel="payment" href="http://www.fansub-streaming.eu/blog/?flattrss_redirect&amp;id=32439&amp;md5=78c89c4b0cfd07e7f97ebc9bbe0166d1" type="text/html" />"
	</item>
		<item>
		<title>[bash] Extraire les pistes d&#8217;un fichier MKV</title>
		<link>http://www.fansub-streaming.eu/blog/bash-extraire-les-pistes-dun-fichier-mkv.html</link>
		<comments>http://www.fansub-streaming.eu/blog/bash-extraire-les-pistes-dun-fichier-mkv.html#comments</comments>
		<pubDate>Sat, 08 Oct 2011 14:13:12 +0000</pubDate>
		<dc:creator>Mitsukarenai</dc:creator>
				<category><![CDATA[Ressources]]></category>

		<guid isPermaLink="false">http://www.fansub-streaming.eu/blog/?p=32333</guid>
		<description><![CDATA[<p>Un épisode d&#8217;Ore no Imouto est sorti Comme d&#8217;habitude c&#8217;est un softsub, et donc comme d&#8217;habitude je dois le hardsubber pour en faire un stream. Et ça me gonfle grave d&#8217;utiliser MKVExtractGUI avec WINE, il bloque souvent. Pire: il y a 9 polices de caractère à cocher pour qu&#8217;elles soient extraites (c&#8217;est chiant). Dont acte, je me suis fait un petit script bash qui fait tout le boulot. Il suffit de mettre le script dans un dossier avec le fichier <p>[ <a href="http://www.fansub-streaming.eu/blog/bash-extraire-les-pistes-dun-fichier-mkv.html">Continuer à lire [bash] Extraire les pistes d&#8217;un fichier MKV</a> ]</p>]]></description>
			<content:encoded><![CDATA[<p>Un épisode d&#8217;Ore no Imouto est sorti <img src='http://www.fansub-streaming.eu/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Comme d&#8217;habitude c&#8217;est un softsub, et donc comme d&#8217;habitude je dois le hardsubber pour en faire un stream. Et ça me gonfle grave d&#8217;utiliser MKVExtractGUI avec WINE, il bloque souvent. Pire: il y a 9 polices de caractère à cocher pour qu&#8217;elles soient extraites (c&#8217;est chiant). Dont acte, je me suis fait un petit script bash qui fait tout le boulot. Il suffit de mettre le script dans un dossier avec le fichier MKV, et automagiquement vous obtenez l&#8217;ASS et les TTF.</p>
<p><code><span style="color: #0000ff;">#!/bin/bash</span><br />
<span style="color: #ff0000;">for</span> <span style="color: #3366ff;">file</span> <span style="color: #ff0000;">in</span> *<span style="color: #ff0000;">; do</span><br />
<span style="color: #008000;">mkvextract</span> tracks <span style="color: #ff00ff;">"</span><span style="color: #3366ff;">$file</span><span style="color: #ff00ff;">"</span> 3:<span style="color: #ff00ff;">"</span><span style="color: #3366ff;">$file</span><span style="color: #ff00ff;">.ass"</span><br />
<span style="color: #3366ff;">i</span>=1<br />
<span style="color: #ff0000;">while</span> [ <span style="color: #3366ff;">$i</span> -le 20 ]<span style="color: #ff0000;">; do</span><br />
<span style="color: #008000;">mkvextract</span> attachments <span style="color: #ff00ff;">"</span><span style="color: #3366ff;">$file</span><span style="color: #ff00ff;">"</span> <span style="color: #3366ff;">$i</span><br />
<span style="color: #ff0000;">let</span> $[ i+=1 ]<br />
<span style="color: #ff0000;">done</span><br />
<span style="color: #ff0000;"> done</span></code></p>
<p>(dans le cas présent, la piste 3 est considérée sous-titre, et un maximum de 20 fichiers joints sont considérés polices TTF &#8211; faites attention à ça si vous avez un fichier avec plusieurs pistes audio et sous-titres, ou des id mélangés, et des fichiers joints qui ne sont pas des TTF &#8211; donc vérifiez bien la structure de votre fichier MKV avant).</p>
<p>Simple, rapide, efficace.</p>
 <p><a href="http://www.fansub-streaming.eu/blog/?flattrss_redirect&amp;id=32333&amp;md5=5f4350a00422420e7dafeae99f8082f7" title="Flattr" target="_blank"><img src="https://www.fansub-streaming.eu/blog/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.fansub-streaming.eu/blog/bash-extraire-les-pistes-dun-fichier-mkv.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<atom:link rel="payment" href="http://www.fansub-streaming.eu/blog/?flattrss_redirect&amp;id=32333&amp;md5=5f4350a00422420e7dafeae99f8082f7" type="text/html" />"
	</item>
		<item>
		<title>Encodage (créer des fichiers WebM)</title>
		<link>http://www.fansub-streaming.eu/blog/encodage-creer-des-fichiers-webm.html</link>
		<comments>http://www.fansub-streaming.eu/blog/encodage-creer-des-fichiers-webm.html#comments</comments>
		<pubDate>Thu, 06 Oct 2011 13:14:17 +0000</pubDate>
		<dc:creator>Mitsukarenai</dc:creator>
				<category><![CDATA[Ressources]]></category>

		<guid isPermaLink="false">http://www.fansub-streaming.eu/blog/?p=32321</guid>
		<description><![CDATA[<p>Asseyez-vous confortablement, réglez la hauteur de votre siège et éclairez suffisamment la pièce. Oh accessoirement, ouvrez la fenêtre si votre ordinateur se prend un peu trop pour un convecteur électrique Car aujourd&#8217;hui, nous allons voir comment encoder des fichiers vidéos au format WebM. Il y a fort à parier que vous n&#8217;avez jamais rencontré ce format de fichier pour des films partagés sur les réseaux P2P et les stockages de fichiers, et il y a bien une raison à cela: <p>[ <a href="http://www.fansub-streaming.eu/blog/encodage-creer-des-fichiers-webm.html">Continuer à lire Encodage (créer des fichiers WebM)</a> ]</p>]]></description>
			<content:encoded><![CDATA[<p>Asseyez-vous confortablement, réglez la hauteur de votre siège et éclairez suffisamment la pièce. Oh accessoirement, ouvrez la fenêtre si votre ordinateur se prend un peu trop pour un convecteur électrique <img src='http://www.fansub-streaming.eu/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Car aujourd&#8217;hui, nous allons voir comment <strong>encoder des fichiers vidéos au format WebM</strong>. Il y a fort à parier que vous n&#8217;avez jamais rencontré ce format de fichier pour des films partagés sur les réseaux P2P et les stockages de fichiers, et il y a bien une raison à cela: d&#8217;une part c&#8217;est un format crée il y a peu, et d&#8217;autre part son principal intérêt c&#8217;est le streaming vidéo en HTML 5, un cadre encore un peu expérimental.</p>
<p>Néanmoins: lorsqu&#8217;on veut proposer du streaming sans utiliser Flash ni aucun autre module propriétaire (type Silverlight, RealVideo, &#8230;), la norme HTML 5 est déjà incontournable. Pour plus d&#8217;informations sur les formats utilisés en HTML 5 et leur intégration, <a href="http://www.fansub-streaming.eu/blog/streams-formats-et-integration.html">voir mon précédent article sur le sujet</a> <img src='http://www.fansub-streaming.eu/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Petits rappels avant de commencer: Un WebM est toujours de type WEBM-VP8-VORBIS.</p>
<ul>
<li>WebM c&#8217;est le conteneur: il est dérivé du conteneur Matroska, connu pour sa grande flexibilité: c&#8217;est l&#8217;enveloppe permettant de &laquo;&nbsp;mélanger&nbsp;&raquo; correctement les flux audio, vidéo et sous-titres tout en gardant la chronologie et la synchronisation. (voir <a href="https://www.xiph.org/video/vid1.shtml">A Digital Media Primer for Geeks</a>, chapitre &laquo;&nbsp;Containers&nbsp;&raquo;)</li>
<li>VP8 c&#8217;est le format du flux vidéo. Dernier né de On2 avant rachat par Google, VP8 comporte beaucoup des avantages de H.264 sur les formats antérieurs. Comme la plupart des formats vidéo actuels VP8 utilise une compression <a href="https://secure.wikimedia.org/wikipedia/fr/wiki/DCT">DCT</a> des images: l&#8217;animation n&#8217;est pas crée à partir d&#8217;images fixes complètes, mais à partir de certaines images fixes et des images intermédiaires &laquo;&nbsp;différentielles&nbsp;&raquo; calculées à partir des images précédentes ou suivantes: le mécanisme d&#8217;<a href="https://secure.wikimedia.org/wikipedia/fr/wiki/Inter-trame">inter-trames</a>.</li>
<li>Vorbis c&#8217;est le format du flux audio. Pourfendeur du célèbre MPEG-1/2 Audio Layer 3 &laquo;&nbsp;MP3&#8243; et rival de AAC. Ce format est la référence en matière de formats multimédia libres pour la compression audio à pertes, tout particulièrement pour la musique.</li>
</ul>
<p>Pour lire les fichiers WebM, il y a de plus en plus de logiciels qui sont capables de faire le décodage. J&#8217;imagine que les logiciels les plus utiles pour ce format sont votre navigateur web (Firefox, Opera, Chrome-Chromium,..) et VideoLan VLC <img src='http://www.fansub-streaming.eu/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>C&#8217;est pour créer des fichiers WebM qu&#8217;on entre dans le vif du sujet: il n&#8217;existe encore que peu d&#8217;encodeurs, ils peuvent être lents et de mauvaise qualité.</p>
<ul>
<li>VLC permet d&#8217;encoder au format WebM, mais je le déconseille: encodage très lent et qualité médiocre, car débit fixe.</li>
</ul>
<p>La meilleure solution à l&#8217;heure actuelle, c&#8217;est utiliser la librairie d&#8217;encodage officielle (libvpx) avec un très répandu et puissant encodeur: <strong>ffmpeg</strong>.</p>
<h3>Firefogg</h3>
<p>FFmpeg est un encodeur en ligne de commande -stop, ne vous enfuyez pas: il existe de très nombreuses interfaces pour régler les paramètres d&#8217;encodage de ffmpeg. Vous préférez ce qui est gratuit, mis à jour tout seul, léger, et même avec code source libre ? Bonne nouvelle: vous pouvez installer <a href="http://firefogg.org/">Firefogg</a> dans votre navigateur Firefox <img src='http://www.fansub-streaming.eu/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Je recommande vivement à ceux qui ne sont pas experts en encodage vidéo.</p>
<p>Une fois le module installé, rendez-vous sur la <a href="http://firefogg.org/make/index.html">page de création de vidéo</a>.</p>
<ul>
<li>cliquez sur le bouton &laquo;&nbsp;select file&nbsp;&raquo; et choisissez le fichier à encoder</li>
<li>choisissez le format (WebM). Vous pouvez utiliser un preset si applicable à votre vidéo, ou sinon choisir custom</li>
<li>si vous choisissez custom, de nombreuses options vous sont présentées, comme les dimensions, le nombre d&#8217;images par seconde, le débit, la qualité, ..</li>
<li>enfin, cliquez sur encode, choisissez l&#8217;emplacement d&#8217;enregistrement, et admirez le spectacle.</li>
</ul>
<p>Dans ce processus, Firefogg passe à ffmpeg les paramètres qui vont bien et rapporte à l&#8217;utilisateur l&#8217;avancement de l&#8217;encodage (pourcentage et temps restant). La vidéo est bel et bien encodée avec <strong>votre processeur</strong>, et le résultat reste bien sur <strong>votre ordinateur</strong>. Ce n&#8217;est pas un service d&#8217;encodage en ligne.</p>
<p>Astuce: allez dans votre profil Firefox (local settings\application data ou appdata\roaming selon votre version de Windows, ou simplement ~/.mozilla pour GNU/Linux et MacOS), dossier extensions/firefogg@firefogg.org/bin. Là dedans vous pouvez retrouver le fameux exécutable binaire de ffmpeg <img src='http://www.fansub-streaming.eu/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  Vous pouvez également voir la ligne de commande passée à ffmpeg dans le gestionnaire des tâches.</p>
<h3>GNU/Linux: compiler ffmpeg</h3>
<p>Puisque je suis d&#8217;un naturel paresseux, je me suis fait un script bash pour utiliser ce qu&#8217;il y a de plus récent pour mon Linux Mint Debian <img src='http://www.fansub-streaming.eu/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Les utilisateurs d&#8217;une distribution non dérivée de Debian/Ubuntu sauront adapter les commandes. Aussi: évitez d&#8217;utiliser l&#8217;option make -j 9 si vous ne possédez pas un processeur à 6 coeurs <img src='http://www.fansub-streaming.eu/blog/wp-includes/images/smilies/icon_mrgreen.gif' alt=':mrgreen:' class='wp-smiley' />  -j 5 conviendra la plupart du temps. (c&#8217;est le nombre de tâches de compilation simultanées).</p>
<p>Ce script nettoie les compilations précédentes, met à jour les outils de développement, récupère et compile libmp3lame, clone les projets x264, libvpx et ffmpeg, récupère mkclean, et compile le tout. En 5 minutes c&#8217;est torché <img src='http://www.fansub-streaming.eu/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><code>#!/bin/bash<br />
sudo apt-get update<br />
sudo rm -r /usr/local/src/*<br />
sudo apt-get remove ffmpeg x264 libx264-dev lame libmp3lame-dev libvpx<br />
sudo apt-get install git yasm checkinstall build-essential libvorbis-dev libxvidcore-dev libfaac-dev  libfaad2  libtheora-dev libdirac-dev libvdpau-dev libopenjpeg-dev libopencore-amrwb-dev libopencore-amrnb-dev libgsm1-dev libschroedinger-dev libspeex-dev libdc1394-22-dev libsdl1.2-dev libx11-dev<br />
cd<br />
wget http://sourceforge.net/projects/lame/files/lame/3.98.4/lame-3.98.4.tar.gz &amp;&amp;  tar -zxvf lame-3.98.4.tar.gz &amp;&amp; rm lame-3.98.4.tar.gz<br />
git clone git://git.videolan.org/x264.git<br />
git clone http://git.chromium.org/webm/libvpx.git<br />
git clone git://git.videolan.org/ffmpeg.git<br />
# verifier version sur http://sourceforge.net/projects/matroska/files/mkclean/<br />
wget http://sourceforge.net/projects/matroska/files/mkclean/mkclean-0.8.6.tar.bz2 &amp;&amp;  tar -jxvf mkclean-0.8.6.tar.bz2 &amp;&amp; rm mkclean-0.8.6.tar.bz2<br />
sudo mv ~/lame-3.98.4/ /usr/local/src/<br />
sudo mkdir -p /usr/local/share/doc/lame/html /usr/local/share/man/man1 /usr/local/include<br />
cd /usr/local/src/lame-3.98.4<br />
./configure<br />
make -j 9<br />
sudo checkinstall --pkgversion "1:3.98.4" --backup=no --default<br />
cd<br />
sudo mv ~/x264/ /usr/local/src/<br />
sudo mkdir -p /usr/local/lib/pkgconfig<br />
cd /usr/local/src/x264<br />
./configure --prefix=/usr --enable-shared<br />
make -j 9<br />
sudo checkinstall --pkgname=x264 --pkgversion "20:0.svn`git rev-list HEAD | wc -l`" --backup=no --default<br />
cd<br />
cd ~/libvpx_src<br />
mkdir "`date '+%d-%m-%Y'`"<br />
cp ~/libvpx/ ~/libvpx_src/`date '+%d-%m-%Y'`<br />
sudo mv ~/libvpx/ /usr/local/src/<br />
cd /usr/local/src/libvpx<br />
./configure<br />
make -j 9<br />
sudo checkinstall --backup=no --default<br />
cd<br />
sudo mv ~/ffmpeg/ /usr/local/src/<br />
cd /usr/local/src/ffmpeg<br />
./configure --enable-libmp3lame --enable-libxvid --enable-libvorbis --enable-gpl --enable-libfaac --enable-libtheora --enable-zlib --disable-shared --enable-libx264 --enable-libdirac --enable-nonfree --enable-version3 --enable-libschroedinger --enable-avfilter --enable-libspeex --enable-libopenjpeg --enable-libgsm --enable-postproc --enable-pthreads --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-ffplay --enable-pthreads --prefix=/usr/local --enable-x11grab --enable-runtime-cpudetect --enable-bzlib --enable-libdc1394 --enable-libvpx --enable-librtmp --enable-openal<br />
sudo make clean<br />
make -j 9<br />
sudo checkinstall --pkgname=ffmpeg --pkgversion "20:0.8" --backup=no --default<br />
cd<br />
sudo mv ~/mkclean-0.8.6/ /usr/local/src/<br />
cd /usr/local/src/mkclean-0.8.6<br />
./configure<br />
make -j 9 -C mkclean<br />
sudo checkinstall --backup=no --default</code></p>
<p>Le ffmpeg obtenu est très gros du coup: il contient plein de librairies.</p>
<h3>L&#8217;encodage avec ffmpeg</h3>
<ul>
<li>Méthode standard:</li>
</ul>
<p><code>ffmpeg -i "video" "video.webm"</code></p>
<ul>
<li>Profil ancien de Fansub Streaming: encodage à partir des fichiers d&#8217;archive:</li>
</ul>
<p><code>ffmpeg -i "video" -rc_lookahead 16 -keyint_min 0 -g 360 -skip_threshold 0 -level 116 -qmax 40 -threads 0 "video.webm"</code></p>
<ul>
<li>Profil LD ancien de Fansub Streaming: encodage à partir des fichiers originaux (avec redimensionnement, tout le dossier):</li>
</ul>
<p><code>#!/bin/bash<br />
redimensionner() {<br />
dimension="$(ffmpeg -i "$1" 2&gt;&amp;1 | grep Video: | sed 's/.*Video:.*, \([0-9]*x[0-9]*\).*/\1/')"<br />
local hauteur=${dimension#*x}<br />
local largeur=${dimension%x*}<br />
let "result=640*${hauteur}/${largeur}"<br />
echo "-s 640x$result";<br />
}<br />
for file in *; do<br />
dim=`redimensionner "$file"`;<br />
ffmpeg -i "$file" $dim -sws_flags lanczos -ac 2 -ar 48000 -rc_lookahead 16 -keyint_min 0 -g 360 -skip_threshold 0 -level 116 -qmax 40 -threads 0 "${file%.???}.webm"<br />
done</code></p>
<ul>
<li>Profil HD version 1 de Fansub Streaming à partir du fichier original (HD 720p) avec optimisation mkclean, tout le dossier:</li>
</ul>
<p><code>#!/bin/bash<br />
for file in *; do<br />
ffmpeg -i "$file" -vcodec libvpx -vb 800k -rc_lookahead 16 -keyint_min 0 -g 120 -skip_threshold 0 -level 116 -quality best -speed 0 -slices 4 -threads 6 -acodec libvorbis -ac 2 "${file%.???}.webm"<br />
mkclean --optimize --remux "${file%.???}.webm" "${file%.???}c.webm"<br />
rm "${file%.???}.webm"<br />
mv "${file%.???}c.webm" "${file%.???}.webm"<br />
done</code></p>
<ul>
<li><strong>Profil HD version 2 de Fansub Streaming</strong> pour AMV à partir du fichier original (HD 720p), 2 passes qualité haute avec optimisation mkclean, tout le dossier:</li>
</ul>
<p><code>#!/bin/bash<br />
for file in *; do<br />
ffmpeg -i "$file" -vcodec libvpx -vb 2000k -rc_lookahead 16 -keyint_min 0 -g 120 -skip_threshold 0 -level 116 -quality best -speed 0 -slices 4 -threads 6 -pass 1 -passlogfile pass1.fpf -an "${file%.???}.webm"<br />
ffmpeg -i "$file" -vcodec libvpx -vb 2000k -rc_lookahead 16 -keyint_min 0 -g 120 -skip_threshold 0 -level 116 -quality best -speed 0 -slices 4 -threads 6 -pass 2 -passlogfile pass1.fpf -acodec libvorbis -ac 2 -y "${file%.???}.webm"<br />
rm pass1.fpf-0.log<br />
mkclean --optimize --remux "${file%.???}.webm" "${file%.???}c.webm"<br />
rm "${file%.???}.webm"<br />
mv "${file%.???}c.webm" "${file%.???}.webm"<br />
done</code></p>
<p>(les séries sont encodées avec le profil HD v2, mais avec <span style="font-family: courier new,courier;">-vb 800k</span>)</p>
<p>Inspirez-vous des paramètres pour déterminer ce qui correspond le mieux à vos besoins <img src='http://www.fansub-streaming.eu/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Testez, testez, testez. Jouez avec la variable &laquo;&nbsp;-vb&nbsp;&raquo; , essayez avec -quality good, comparez les temps d&#8217;encodage,..</p>
<h3>D&#8217;autres encodeurs</h3>
<p>Il existe pas mal d&#8217;encodeurs ou d&#8217;interfaces pour encodeur, capables de faire des fichiers WebM (Miro, Arista, ..). Ou sinon il y a une autre méthode: utiliser un service d&#8217;encodage en ligne (encoding.com, zencoder,..) ou carrément un portail vidéo pour récupérer la vidéo ensuite (Youtube). Mais je préviens: niveau qualitatif, <a href="https://identi.ca/notice/80498058">c&#8217;est pas top</a> <img src='http://www.fansub-streaming.eu/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Avant de mettre le fichier WebM en ligne, vérifiez s&#8217;il est joué correctement par les navigateurs web.</p>
<p>Voilà, à présent vous savez créer et intégrer des streams WebM <img src='http://www.fansub-streaming.eu/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Prochain article: la sauvegarde <img src='http://www.fansub-streaming.eu/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>(voir <a href="http://www.fansub-streaming.eu/blog/ressources">page ressources</a> pour l’arborescence des articles)</p>
 <p><a href="http://www.fansub-streaming.eu/blog/?flattrss_redirect&amp;id=32321&amp;md5=9914650d9b36e6c51764bdd9a62bf114" title="Flattr" target="_blank"><img src="https://www.fansub-streaming.eu/blog/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.fansub-streaming.eu/blog/encodage-creer-des-fichiers-webm.html/feed</wfw:commentRss>
		<slash:comments>11</slash:comments>
		<atom:link rel="payment" href="http://www.fansub-streaming.eu/blog/?flattrss_redirect&amp;id=32321&amp;md5=9914650d9b36e6c51764bdd9a62bf114" type="text/html" />"
	</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Page Caching using disk: basic
Database Caching 14/27 queries in 0.023 seconds using disk: basic

Served from: www.fansub-streaming.eu @ 2012-02-05 09:46:25 -->
