Shortcode per YouTube rivisto e migliorato

Uno shortcode per pubblicare un video da YouTube, potendo specificare dimensioni e punto di partenza, mentre nel feed visualizza il suo poster frame.

Ho rimesso mano a uno shortcode di cui vi avevo già scritto e che si è rivelato davvero comodo, quello per l’inserimento di un video di YouTube in un post. Le modifiche che ho apportato rispetto a quello già pubblicato riguardano due aspetti:

  1. la possibilità di far partire il video da un punto preciso;
  2. l’inserimento del poster frame del video se il post viene letto via feed.

Niente di particolarmente complicato, quindi, ma mi pare sempre interessante condividere con voi quanto combino.

Leggi tutto “Shortcode per YouTube rivisto e migliorato”

WordPress e Youtube: funzioni e shortcode

L’oEmbed di YouTube non produce markup HTML valido e il video risultante rimane sempre in cima ad ogni altro elemento della pagina, compreso un menu a discesa. Nell’articolo trovate una serie di nuove funzioni ad hoc con cui risolvere il problema in maniera elegante.

Sulla scia del post precedente, completo quanto già scritto con alcune indicazioni che magari possono tornare utili. L’argomento riguarda sempre WordPress e YouTube e come pubblicare un video evitando i problemi evidenziati prima. Alla funzione dell’articolo precedente qui aggiungo una carrellata di altre funzioni o, per essere più precisi, la medesima con alcune differenze: a seconda dei casi, può tornare utile l’una o l’altra.

Queste funzioni vanno inserite nel file functions.php del proprio tema: si scelga quella che più è congeniale con ciò che si deve fare o, se si vuole, possono essere usate tutte contemporaneamente.

Leggi tutto “WordPress e Youtube: funzioni e shortcode”

WordPress, YouTube e W3C

L’oEmbed di YouTube non produce markup HTML valido e il video risultante rimane sempre in cima ad ogni altro elemento della pagina, compreso un menu a discesa. Con una nuova funzione ad hoc possiamo risolvere il problema in maniera elegante.

Con la versione 2.9+ di WordPress abbiamo avuto un bel regalino che probabilmente farà felici quelli che sono soliti pubblicare video da YouTube: grazie a oEmbed, adesso, basta inserire nel pannello di scrittura l’URL della pagina del video per vedersi comparire magicamente il filmato. Ottima cosa, ma ci sono due problemi:

  1. il codice HTML non viene validato da W3C;
  2. il video rimane in cima a qualunque altro elemento della pagina, compreso un eventuale menu a discesa.

Per quanto riguarda il primo, la mancata validazione è dovuta alla presenza dell’elemento <embed> che non fa parte delle specifiche XHTML:

The <embed> element was created by Netscape as their method of embedding plug ins and players in web pages. It’s not part of the XHTML specification, and while some browsers other than Netscape support it, it’s not standards-compliant, so it’s out.

Per il secondo problema, esso è dovuto alla mancanza del parametro wmode=transparent: in questo modo esso viene a trovarsi sopra qualunque altro elemento della pagina, compreso un menu a discesa, come succede nello screenshot che segue:

Il video di YouTube sovrapposto al menu

Ho aperto un ticket sul Trac di WordPress: pur sapendo che non è un bug del CMS ma del provider che fornisce il codice oEmbed, ho fatto ugualmente presente il problema.

Come ho risolto

Mi sono creato una funzione ad hoc che mi fornisce uno shortcode semplice da usare nel pannello di scrittura: in questo modo ho il pieno controllo del markup HTML generato. Ecco la funzione:

function youtubevideo($atts) {
 extract(shortcode_atts(array(
  'video' => ''
 ), $atts));
 $videoid = substr($video, 31, 11);
 return '<p><object type="application/x-shockwave-flash" data="http://www.youtube.com/v/'.$videoid.'&amp;hl=it_IT" width="460" height="372">
  <param name="movie" value="http://www.youtube.com/v/'.$videoid.'&amp;hl=it_IT" />
  <param name="FlashVars" value="playerMode=embedded" />
  <param name="wmode" value="transparent" />
 </object></p>';
}
add_shortcode("youtube", "youtubevideo");

Questa funzione va incollata nel file functions.php del proprio tema, dove si può personalizzare la dimensione di uscita del video: qui è 460×372 pixel, ma ognuno può inserire il valore che preferisce. Da questo momento si ha a disposizione uno shortcode da usare così:

[youtube video=http://www.youtube.com/watch?v=kC9Ju63Bchk]

Basta inserire l’indirizzo del video che si deve pubblicare e WordPress scriverà tutto il resto. Questa volta valido per il W3C e senza sovrapposizioni.

YouTube e transcodifica in Theora

Come scaricare un file video da YouTube e convertirlo nel formato libero Theora.

fish_theora_org.png

Avrete letto il post precedente sulla conversione dei video di YouTube (formato .flv, cioè Flash Video) in altri formati. Non era elencato il formato video tipico di un sistema Linux, cioè il Theora.

Per questa operazione, uso il tool ffmpeg2theora, pensato specificamente per convertire un formato video in Theora. Questo tool, però, non accetta in ingresso tutti i formati. Per questo motivo non possiamo convertire direttamente un .flv in .ogg 1, ma passare da un formato intermedio, come l’Mpeg4.

Leggi tutto “YouTube e transcodifica in Theora”

Note

  1. L’Ogg, come si saprà, non è un codec video, ma un contenitore, che può avere dentro di sé i flussi video (Theora) e audio (Vorbis), o singolarmente solo video o solo audio. Allo stesso modo l’Avi è anch’esso un contenitore per flussi audio/video. Per maggiori informazioni sul Vorbis, si può leggere il mio post sui Profili di codifica dei file audio.