Old:Visualizzare filmati YouTube con Gnash e GreaseMonkey
Introduzione
Da buon utente Debian si è sempre alla ricerca di qualche strumento libero per liberarci da quelle cattive abitudini di utilizzare software proprietario ;-). Fra i casi più comuni, le catene di flash sono state per anni un qualcosa di difficile dalle quali liberarsi. Dal 2005 GNU ha incominciato lo sviluppo di un software libero che potesse leggere e dunque riprodurre i filmati in formato flash: nacque così gnash .
Mentre le prime versioni presentavano qualche difficoltà d'utilizzo, il software è migliorato di tempo in tempo arrivando ai giorni attuali in grado di sostituire completamente il suo compagno proprietario. Una delle "ultime difficoltà" riguardava proprio YoutTube appunto; con quest'ultimo non si arrivava a sfruttare il plugin di gnash per iceweasel, cosa che rendeva il software non ancora "pronto" per tutti.
Da qualche mese si è però arrivati ad un ottimo compromesso d'utilizzo sfruttando GreaseMonkey, un estensione di firefox (e dunque di iceweasel), per poter vedere i filmati di YouTube con il player embed di gnash tramite uno script. In questa guida vedremo passo per passo come installare tutto ciò.
Installare gnash e il plugin per iceweasel
Evidentemente dovrete avere iceweasel installato. Se non fosse il caso potrete installarlo come sempre tramite Apt con la vostra interfaccia preferita.
# aptitude install iceweasel
Attualmente ho installato la versione 3.5.9-3 da squeeze. In seguito installeremo gnash allo stesso modo:
# aptitude install gnash
Su squeeze attualmente siamo alla versione 0.8.7-2. Per utilizzare il plugin di gnash con iceweasel installeremo ancora il pacchetto
# aptitude install mozilla-plugin-gnash
alla stessa versione di gnash. A questo punto siamo già liberi di navigare con iceweasel e il nuovo plugin di gnash. Almeno fino a YouTube non dovremmo avere particolari problemi e ci potremo già godere i benefici di un ulteriore plugin free in più sul nostro PC o - meglio detto - un plugin non-free in meno :-)-
Installare GreaseMonkey
Per installare GreaseMonkey potremo ancora una volta usufruire di Apt:
# aptitude install xul-ext-greasemonkey
Il pacchetto iceweasel-greasemonkey, presente in tutte le release, verrà sostituito da xul-ext-greasemonkey appunto in squeeze ed è per questo che se ne consiglia l'installazione. Se siete su stable o vi date al "mix" o potrete installare il primo pacchetto citato (in ogni caso non ho provato con stable e non posso dirvi se e come funziona).
Preparare lo script che cambierà il player di default di YouTube da flash a gnash
Grazie a Toon che ci mette a disposizione il suo script per utilizzare appunto il player "embed" di gnash con YouTube. Copiate dunque il seguente script
// ==UserScript== // @name YouTube Gnash Script // @namespace http://*.youtube.com/watch?v=* // @description Enables Gnash Playback On YouTube // @include http://*.youtube.com/watch?v=* // ==/UserScript== var goodlink, goodlink2; goodlink = document.getElementsByTagName("link").item(4).href; goodlink2 = goodlink.replace(/.*watch\?v=(.*)/i, "$1"); goodlink2 = "http://www.youtube.com/v/"+goodlink2; goodlink2 = "<object width='640' height='505'><param name='movie' value='"+goodlink2+"&hl=nl_NL&fs=1&'></param><param name='allowFullScreen' \ value='true'></param><param name='allowscriptaccess' value='always'></param><embed src='"+goodlink2+"&hl=nl_NL&fs=1&' \ type='application/x-shockwave-flash' allowscriptaccess='always' allowfullscreen='true' width='640' height='505'></embed></object>"; document.getElementById("watch-video").innerHTML = goodlink2;
e salvatelo in un file ad esempio chiamato gnash-youtube.user.js ( la variabile goodlink2 va scritta su una linea continua; i backslash \ sono stati aggiunti per segnalare la continuità appunto della linea, ma vanno poi eliminati). Se gnash-youtube potrà essere sostituito da quello che volete voi, l'estensione user.js sarà obbligatoria per far riconoscere a GreaseMonkey lo script. Mi sono permesso una piccolissima modifica all' include in quanto se richiamerete lo script da YouTube senza digitare il "www" prima del nome non verrà eseguito lo script. Inoltre l'include con "*.youtube[...]" mi dava dei freeze indesiderati (mistero...). Per dunque cambiare gli include come sopra descritto potrete applicare la seguente patch allo script
--- gnash-youtube.user.js 2010-05-25 23:00:23.000000000 +0200 +++ gnash-youtube-new.user.js 2010-05-25 23:03:30.000000000 +0200 @@ -2,7 +2,8 @@ // @name YouTube Gnash Script // @namespace http://*.youtube.com/watch?v=* // @description Enables Gnash Playback On YouTube -// @include http://*.youtube.com/watch?v=* +// @include http://www.youtube.com/watch?v=* +// @include http://youtube.com/watch?v=* // ==/UserScript==
oppure semplicemente cambiare gli "@include" a manina (oppure ancora cambiarli dalla comoda interfaccia direttamente da iceweasel in un secondo tempo).
Installare lo script
Per installare lo script salvato in gnash-youtube-new.user.js ci basterà aprirlo con iceweasel ("apri file..."); a questo punto GreaseMonkey lo riconoscerà come "suo" script e ci proporrà di installarlo:
A questo punto basterà cliccare su "Install" e lo script verrà installato. Non ci resta ora che provare lo script con ad esempio la mitica free software song di rms -> http://www.youtube.com/watch?v=9sJUDx7iEJw :-).
Interfaccia GreaseMonkey
In conclusione, come antecedentemente citato per cambiare gli include ad uno script, sarà possibile in egual modo utilizzare la comoda interfaccia di GreaseMonkey direttamente da iceweasel. Per aprirla andremo sotto "Tools" (o "Strumenti") -> "GreaseMonkey" -> "Manage User Scripts"
potremo poi cliccare sugli include da cambiare e con il pulsante "Edit..." modificare gli stessi
Conclusioni
Se YouTube poteva essere il freno di gnash e causa di un plugin non-free sul nostro sistema, grazie a GreaseMonkey e a Toon possiamo ora tranquillamente navigare con il plugin di gnash senza più invidia verso il fratellone flash. Non mi resta che dire:
Happy Debian & Happy Gnash :-) !
Brunitika 23:29, 25 mag 2010 (CEST)