SpVideo, una classe php per i video di Youtube e Vimeo.

SpVideo è la classe in PHP 5 che ho scritto per gestire i video dei due maggiori servizi di condivisione del settore: YouTube e Vimeo. Grazie a spVideo a partire dal semplice indirizzo della pagina (su YouTube o Vimeo) contente il video, è possibile ricavare numerosi elementi, come titolo, descrizione, autore del video, ma anche l'immagine di anteprima e il codice HTML per l'embed (valido XHTML strict). SpVideo si appoggia alle API rispettive di Youtube e Vimeo, ma non richiede autenticazione ne l'utilizzo di una developer key. È possibile usare due modalità per accedere ai dati: XML o preferibilmente, il più comodo e performante JSON.

Inclusione della classe.

SpVideo si compone di tre classi, due specifiche una per YouTube e una per Vimeo che possono operare anche in modalità standalone, e una classe principale che funge da ponte tra le precedenti, in modo da poter utilizzare indifferentemente i video di entrambi i servizi. L'utilizzo è semplice, una volta scelto il formato delle APi a cui accedere, JSON o XML, è necessario caricare nella root del sito o nella directory solitamente utilizzata per gli include il contenuto della cartella sp.video dell'archivio di download. È sufficiente includere solo il file relativo alla classe principale (sp.video.php) che funge da "wrapper" e che alla bisogna si occupa di utlizzare le due classi dedicate. Naturalmente è possibile gestire i percorsi e la struttura delle cartelle come meglio si crede.

include("sp.video/json/sp.video.php");
// or xml source
include("sp.video/xml/sp.video.php");

Costruttore e metodi.

Per inizializzare la classe è sufficente richiamare il costruttore (spVideo::init) che richiede un argomento obbligatorio: l'indirizzo della pagina dove è visibile il video che vogliamo processare.

$player_one =  spVideo::init('http://vimeo.com/7560716');

$player_two =  spVideo::init('http://www.youtube.com/watch?v=SuNprTu5Y5c');
// $player_two =  spVideo::init('http://www.youtube.com/watch?v=J4nJQfVknzg&feature=related');

Per quanto riguarda gli altri metodi utili che spVideo mette a disposizione eccone un rapido elenco:

  • getTitle(), permette di ottenere il titolo del video.
  • getDescription(), come sopre per il testo descrittivo.
  • getAuthor(), stesso discorso, permette di ottenere il nome dell'autore del video.
  • getTags(), permette di accedere alle keywords correlate al video.
  • getThumb(), permette di ottenere l'indirizzo delle diverse immagini anteprima: i formati disponibili dipendono dalla sorgente del video, se YouTube o Vimeo. Questo metodo accetta un parametro facoltativo che permette la scelta dell'immagine. I valori consentiti sono small (default), medium, large.
  • getPlayer(), permette di ottenere l'indirizzo del player di Youtube o Vimeo. Questo metodo è utile soprattutto nei casi in cui si vuole gestire manualmente l'embed del video con diverse modalità (esempi sono l'uso di librerie come SWfObject e similari o lightbox e finestre modali).
  • embedVideo(): questo metodo restituisce il codice html necessario per l'embed del video in una pagina web, una modalità di inclusione pienamente compatibile e valida  XHTML strict. Il metodo embedVideo() prevede la possibilità di utilizzare un argomento facoltativo, un array di proprietà con cui è possibile personalizzare l'aspetto e le funzionalità del player(altezza, larghezza, colore, alta definizione, etc.). Vediamo le varie opzioni disponibili e i loro valori di default:
$defaultoptions = array(
    			'width' => '425',
    			'height' => '350',
			'color' => 'CCCCCC',
			'fullscreen' => 1,
			'autoplay' => 0,
			'loop' => 0,
			'hd' => 0 // alta definzione
  			);

Il codice seguente propone un sempio funzionante con l'utilizzo base di tutti i metodi applicati su un video appartenente a Viemo:

include("sp.video/json/sp.video.php");
$player_one =  spVideo::init('http://vimeo.com/7560716');
echo "<p><strong>Title</strong>: ".$player_one->getTitle()."</p>";
echo "<p><strong>Description</strong>: ".$player_one-> getDescription()."</p>";
echo "<p><strong>Author</strong>: ".$player_one-> getAuthor()."</p>";
echo "<p><strong>Keywords</strong>: ".$player_one->getTags()."</p>";
echo "<p><img src="".$player_one-> getThumb('small')."" /></p>";
echo "<div>".$player_one-> embedVideo()."</div>";

Requisiti e download.

Le classi che compongono SpVideo richiedono PHP versione 5 o superiore: è necessaria la presenza della libreria Curl. La presenza del modulo nativo JSON è raccomandata ma non strettamente necessaria.

Tutto il codice è rilasciato con licenza open source MIT, è possibile utilizzarlo e modificarlo liberamente a proprio rischio e pericolo. Suggerimenti e contributi sono bene accetti.

DOWNLOAD SPVIDEO v 1.0

Utilizzo in modalità standalone con YouTube o Vimeo.

Non sempre si ha la necessità di prelevare i video contemponeareamente da entrambi i servizi di condivisione: se siamo interessati solo all'utilizzo di YouTube, o viceversa di Vimeo, possiamo includere direttamente solo la sottoclasse relativa. La sintassi di inizializzazione è un po' diversa, rispettivamente è necessario invocare new spYouTube e new spVimeo in luogo di spVideo::init(). I metodi e la loro applicazione invece rimangono gli stessi. Nel codice seguente degli esempi di inclusione utilizzando il sorgente di dati JSON.

include("sp.video/json/sp.youtube.json.php");

$test =  new spYouTube('http://www.youtube.com/watch?v=y9Xtn_KwsW4&feature=fvw');
echo "<h1>".$test->getTitle()."</h1>";
echo "<div>".$test-> embedVideo()."</div>";

// or Vimeo

// include("sp.video/json/sp.vimeo.json.php");

// $test =  new spVimeo('http://vimeo.com/5555555');
// echo "<div>".$test-> embedVideo()."</div>";
  • Social:
  • delicious
  • digg
  • diggita
  • facebook
  • google
  • reddit
  • segnalo
  • technorati
  • technotizie
  • twitter
  • yahoo
  • wikio

Commenti

1) 03 maggio 2010 - inserito da seo lace

I am hvaing a hell of a time seeing your website in Opera 7.7, juist fgiured I imght tel you about it.
Inserisci un commento
codice di sicurezza

(*) Campi obbligatori

L'html nel testo del commento è abilitato: i tag consentiti sono: a, em, strong, p, code, pre, quote e br.

Gli attributi dei tag utilizzabili sono title e href.

follow me on Twitter