Go Back   Forum > Streaming > Guide

LOGIN

Register FAQ Live Now! Rules Live TV Arcade Search Today's Posts Mark Forums Read






× Notice: This forum is read-only.The content of the community may not be verified or updated. More info
Reply
 
Thread Tools Search this Thread Display Modes Translate
  #1  
Old 11-27-2006, 12:57 AM
Ogher Ogher is offline
Amministratore offroad
 
Ogher's Avatar
 

Join Date: Jul 2005
Location: Foam pit
Posts: 1,872
Ogher is on a distinguished road
Send a message via MSN to Ogher
Default

Come mettere gli stream in una pagina web con il PHP


Premessa
Prima di cominciare la lettura vi segnalo subito dei link utili per i più curiosi:
-Php (Wikipedia)
-Guida di base al php (html.it)
-Manuale ufficiale

Ricordo che essendo un linguaggio di scripting il codice scritto nelle pagine *.php deve essere interpretato da un server; quindi, se aprite le pagine con un browser, queste non funzioneranno.
Il metodo più semplice per provare le pagine è registrarsi uno spazio su un
hosting gratuito (es: altervista, netsons, ecc) e uploadare tutto lì.


Cominciamo...
Il codice che andremo ad usare per integrare i vari player nelle nostre pagine è lo stesso che ABNormal ha già illustrato qui ma queste pagine saranno dinamiche.
Esempio: noi abbiamo 100 canali televisivi da mostrare nel nostro sito, usando l'html "puro" dovremo creare 100 pagine diverse (che palle), mentre questo problema può essere risolto da una sola pagina php.
Per fare ciò useremo le variabili di tipo GET e passeremo l'url del canale da visualizzare alla nostra pagina che contiene il player.
La variabile $_GET['nome_variabile'] è spiegata bene qui (Messaggio ai più pigri: son poche righe leggetele... )

Quindi creremo la pagina "player.php" e passeremo con GET l'url del canale così "player.php?url=mms://mioserver:nnnn"

Dato che il procedimento è sempre lo stesso, vi faccio vedere come realizzare la pagine per il windows media player, il procedimento è lo stesso per tutti i player

player1.php , versione ultra semplice

PHP Code:
 <div align="center">
<!-- For 
Internet Explorer Windows Media Player -->
<
object classid="CLSID:6BF52A52-394A-11D3-B153-00C04F79FAA6"  type="application/x-oleobject" width="320" height="305"  codebase="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=6,4,5,715"  standby="Loading Microsoft Windows Media Player components...">
  <
param name="url" value=" <?php echo $_GET['url']; ?>">
  <
param name="autostart" value="true">
  <
param name="ShowStatusBar" value="true">
  <
param name="volume" value="100">
  <!-- For 
other browsers Windows Media Player -->
  <!--[if !
IE]> <-->
  <
object width="320" height="305" type="application/x-mplayer2" >
   [
HTML]<param name="fileName" value="<?php echo $_GET['url']; ?>">[/HTML]
   <
param name="autostart" value="1">
   <
param name="ShowStatusBar" value="1">
   <
param name="volume" value="0">
  </
object>
 <!--> <![endif]>
 </
object>
 </
div


Come potete notare dove bisognerebbe scrivere l'url del canale ho inserito :
PHP Code:
<?php echo $_GET['url']; ?>

sono i tag che dicono al server che lì in mezzo c'è del codice php
echo è una funzione che serve a stampare sullo schermo
Quindi quando la pagina verrà interpretata dal server al posto di questo piccolo pezzetto di codice ci sarà scritto l'url che abbiamo passato alla pagina.
Esempio: se l'abbiamo chiamata con "player.php?url=mms://mioserver:nnnn" se andiamo nel codice troveremo:
HTML Code:
<param name="url" value="mms://mioserver:nnnn">


player2.php , inseriamo qualche controllo

Ora inseriamo nella paginetta un altro pezzettino di codice che serve a controllare l'url:

PHP Code:
 if (!isset($_GET['url']) OR strpos($_GET['url'], 'mms://'0)=== false)
die(
"<center><h2>Url non valido!</h2></center>");
?>
<div align="center">
<!-- For Internet Explorer * Windows Media Player -->
<object classid="CLSID:6BF52A52-394A-11D3-B153-00C04F79FAA6"  type="application/x-oleobject" width="320" height="305"  codebase="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=6,4,5,715"  standby="Loading Microsoft Windows Media Player components...">
  <param name="url" value=" <?php echo $_GET['url']; ?>">
  <param name="autostart" value="true">
  <param name="ShowStatusBar" value="true">
  <param name="volume" value="100">
  <!-- For other browsers * Windows Media Player -->
  <!--[if !IE]> <-->
  <object width="320" height="305" type="application/x-mplayer2" >
   <param name="fileName" value="<?php echo $_GET['url']; ?>">
   <param name="autostart" value="1">
   <param name="ShowStatusBar" value="1">
   <param name="volume" value="0">
  </object>
 <!--> <![endif]>
 </object>
 </div> 

In italiano andrebbe letto così:
se la variabile $_GET['url'] non esiste o se non comincia per mms:// interrompi la pagina (die) e stampa "Url non valido!". Poi il codice è uguale a player1.php
Quindi se per sbaglio apriamo player.php senza passargli l'url oppure con un link sbagliato (ad esempio uno di sopcast) possiamo accorgerci dell'errore.

Esempio più interessante

Nel prossimo esempio uso una tabella sulla colonna di sinistra ci sono i link ai canali, su quella di destra c'è un iframe in cui viene caricato il player.

index.html
HTML Code:
<div align="center"><table border="1"> <tr> <td><table border="1"> <tr><td><a target="frame" href="prova.php?url=mms://canale1&nome=Canale di prova 1">Link 1</a></td></tr> <tr><td><a target="frame" href="prova.php?url=mms://canale2&nome=Canale di prova 2">Link 2</a></td></tr> <tr><td>Link 1</td></tr> <tr><td>Link 1</td></tr> <tr><td>Link 1</td></tr> <tr><td>Link 1</td></tr> <tr><td>Link 1</td></tr> <tr><td>Link 1</td></tr> <tr><td>Link 1</td></tr> <tr><td>Link 1</td></tr> <tr><td>Link 1</td></tr> <tr><td>Link 1</td></tr> <tr><td>Link 1</td></tr> </table></td> <td><iframe name="frame" src="player3.php" frameborder="0" width="330" height="315" scrolling = no></iframe></td> </tr> </table> </div>

player3.php
PHP Code:
<?php
if (!isset($_GET['url']) OR strpos($_GET['url'], 'mms://'0)=== false)
die(
"<center><h2>Url non valido!</h2></center>");
?>
<div align="center">
<h2><?php echo $_GET['nome'];?></h2>
<!-- For Internet Explorer * Windows Media Player -->
<object classid="CLSID:6BF52A52-394A-11D3-B153-00C04F79FAA6"  type="application/x-oleobject" width="320" height="305"  codebase="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=6,4,5,715"  standby="Loading Microsoft Windows Media Player components...">
  <param name="url" value=" <?php echo $_GET['url']; ?>">
  <param name="autostart" value="true">
  <param name="ShowStatusBar" value="true">
  <param name="volume" value="100">
  <!-- For other browsers * Windows Media Player -->
  <!--[if !IE]> <-->
  <object width="240" height="200" type="application/x-mplayer2" >
   <param name="fileName" value="<?php echo $_GET['url']; ?>">
   <param name="autostart" value="1">
   <param name="ShowStatusBar" value="1">
   <param name="volume" value="0">
  </object>
 <!--> <![endif]>
 </object>
 </div>


C'è poco da commentare, è molto semplice. Come potete vedere qui sotto mi sono costruito il link prova.php?url=mms://canale1&nome=Canale e ho aggiunto anche la variabile 'nome' così nel sopra il player verrà visualizzato il nome del canale (ho aggiunto un pezzettino di codice in player3 che stampa la variabile nome).
Potete vede questa paginetta in azione qui

Concludendo...
Ho appena accennato all'argomento php, ma spero di avervi spiegato lo stretto necessario per cominciare a fare qualche paginetta interessante, con un po' di impegno si possono ottenere ottimo risultati.

Per delucidazioni, segnalazioni e quant' altro son qua

ciaoo
__________________
"Ad Ancelotti glielo dico sempre: 'Immagina se avessi i piedi buoni, non sapremmo dove mettere le coppe...'." G.Gattuso
"Chi vince a Siena ritorna a Siena, chi vince ad Atene va a Tokyo.." C.Pellegatti
"Meglio 1-0 per noi che 1-0 per loro.." C.Pellegatti
Io sono contro l'uso di animazioni al posto del testo su MSN
Non mandatemi messaggi privati con richieste d'aiuto su partite/software, alle partite non rispondo e per i software ci sono i sottoforum dedicati.


Reply With Quote
  #2  
Old 02-15-2010, 03:22 AM
giorgio_perkins giorgio_perkins is offline
Junior Member
 

Join Date: Feb 2010
Posts: 1
giorgio_perkins is on a distinguished road
Default

io provo a chiedere


Ogher ... ho notato il tuo STRAORDINARIO post.. e mi permetto di chiederti chiarimenti..
Sto realizzando un player appoggiato a wmp che riceva il canale streaming di una emittente.. ( cosa facilissima ).. Ebbene, il DJ che lavora nella emittente è un mio carissimo amico e pertanto vorrei ripetere SOLO il programma che fa lui il venrdì dalle 21 alle 23.. ( quì le cose si complicano.. ) Pertanto avevo pensato di chiamare la variabile <param name="enabled" value=" <?php echo $_GET['enabled']; ?>">, dalla player.php per posizionarla nella pagina html .
Nella player.php ho recuperato il giorno della settimana ( venerdì = 5 ) e l'ora con i minuti..

<?php
$giorno = date("w" ,date);
$ora = date(H ,date);
$minuti = date(i ,date);
if (($giorno=="5")&&(ora<23)&&(ora>21)) player.php?enabled=-1;
else player.php?enabled=0;
?>

pertanto pensavo di passare l'informazione enabled 0 / -1 alla pagina html e di attivare il funzionamento del player o disattivarlo.
Chiaramente essendo una pagina statica chi si fosse collegato nella fascia oraria di trasmissione , non sarebbe stato "scaraventato fuori" al termine dell'orario ma sarebbe rimasto collegato fino al primo refresh di pagina che avesse volontariamente fatto.. chiunque avesse tentato il collegamento nei giorni e fasce orarie non consentiti , avrebbe trovato il player visibile ma disattivato ( vedi pure il mio sito xxx.giorgioperkins.it alla voce streamers )
Pensi di potermi dare una spinterella ad uscire dal problema? ti sarei grato.. Giorgio Perkins DJ..


Reply With Quote
  #3  
Old 02-15-2010, 01:32 PM
Ogher Ogher is offline
Amministratore offroad
 
Ogher's Avatar
 

Join Date: Jul 2005
Location: Foam pit
Posts: 1,872
Ogher is on a distinguished road
Send a message via MSN to Ogher
Default

Secondo me ti conviene usare javascript e con un timer controlli periodicamente l'ora.
Timer: http://it.wikibooks.org/wiki/JavaScript/Timer
Wmp via javascript (verso la fine): http://www.mioplanet.com/rsc/embed_mediaplayer.htm
Per adesso non riesco a dirti altro, se hai qualche dubbio chiedi pure.
__________________
"Ad Ancelotti glielo dico sempre: 'Immagina se avessi i piedi buoni, non sapremmo dove mettere le coppe...'." G.Gattuso
"Chi vince a Siena ritorna a Siena, chi vince ad Atene va a Tokyo.." C.Pellegatti
"Meglio 1-0 per noi che 1-0 per loro.." C.Pellegatti
Io sono contro l'uso di animazioni al posto del testo su MSN
Non mandatemi messaggi privati con richieste d'aiuto su partite/software, alle partite non rispondo e per i software ci sono i sottoforum dedicati.


Reply With Quote
Reply







Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


All times are GMT +2. The time now is 04:40 AM.


Powered by: vBulletin Copyright ©2000 - 2023, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.1.0 ©2007, Crawlability, Inc.