Pagina 1 di 1

Trovare mime supportati dei client

Inviato: mar 30 lug 2013, 17:20
da darkstaring
Ciao :)..

Vorrei recuperare dal mio serever tutti i mime supportati dai client che mi si collegano...
E' possibile farlo ???
Vorrei sapere se i client supportano un certo tipo di estensione, è possibile????

Grazias Francesco ;)

Re: Trovare mime supportati dei client

Inviato: mer 31 lug 2013, 7:01
da marcomg
Se parli di un server web negli header il browser dovrebbe inviare una cosa del genere:
Accept: text/html, image/jpeg, image/png, text/*, image/*, */*
Se stai usando php puoi utilizzare questa riga:
getallheaders()['Accept'];

Ciao ciao!

Re: Trovare mime supportati dei client

Inviato: mer 31 lug 2013, 13:55
da darkstaring
Grazie :).. Ho visto getallheaders...

io vorrei capire se i client supportano l' hls in m3u8..
Adesso sto verificando se flash è presente ma vorrei anche capire quali codec ha il client...

Ho visto navigation.mimeType in javascript e le variabili $_SERVER in php
ma non riesco a capire prima di reindirizzare allo streaming se il client lo supporta...
Consigli ???
:)

Re: Trovare mime supportati dei client

Inviato: mer 31 lug 2013, 16:05
da marcomg
Scusa la domanda, ma che devi fare? Cioè cosa stai progettando?

Re: Trovare mime supportati dei client

Inviato: gio 1 ago 2013, 14:34
da darkstaring
Faccio un local server con dei contenuti multimediali di vari tipi...
Ora vorrei capire in anticipo (prima di reindirizzare al contenuto) se i client supporta il formato che ho
per reindirizzarlo allo scaricamento di una app o direttamente al contenuto...

Ho provato a capire con queste info:

Codice: Seleziona tutto

<hr>
<h1>$_SERVER['HTTP_USER_AGENT']</h1>
<br>
<?php echo $_SERVER['HTTP_USER_AGENT'] . "<br />"; ?>
<hr>
<h1>get_browser(null, true);</h1>
<br>
<?php
$browser = get_browser(null, true);
print "<table width=\"100%\" border=\"2\">";
foreach($browser as $key => $value)
  {
    print "<tr> <td> ".$key." </td> <td> ".$value." </tr>";
  }
print "</table>";
?>
<hr>
<h1>navigator.mimeTypes</h1>
<br>
<script>
document.write("<table width=\"100%\" border=\"2\">");
for(i=0;i<navigator.mimeTypes.length;i++)
{
document.write("<tr> <td>");
document.write( navigator.mimeTypes[i].type );
document.write("</td> <td>");
document.write( navigator.mimeTypes[i].description );
document.write("</td> <td>");
document.write( navigator.mimeTypes[i].suffixes);
document.write("</td> </tr>");
}
document.write("</table>"); 
</script>
Ho visto anche canPlayType()...
Dovrei verificare il supporto m3u8

Re: Trovare mime supportati dei client

Inviato: ven 2 ago 2013, 12:47
da marcomg
Che ne dici di questo https://bitbucket.org/nova-atlantis/sim ... dia-player ;)
Comunque credo tu faccia meglio a leggerlo dalla versione del browser e dal sistema operativo in uso, dai uno sguardo a questo: http://davidwalsh.name/user-agent-parser la licenza della classe è MIT.

Re: Trovare mime supportati dei client

Inviato: ven 2 ago 2013, 14:41
da darkstaring
Il media player l'ho già..
devo capire se il client supporta gli m3u8

Re: Trovare mime supportati dei client

Inviato: ven 2 ago 2013, 18:08
da marcomg
Da quello che so non è possibile fare in quel modo. Non mi rsulta che il browser invii i tipi di formato supportato, puoi supportlo dall'user agent e basta. La soluzione è mettere più formati video per essere certi che sia supportato.
Si potrebbe anche tentare questo http://www.w3.org/2010/05/video/mediaevents.html magari mettere un controllo se è caricato...

Re: Trovare mime supportati dei client

Inviato: dom 4 ago 2013, 22:42
da darkstaring
Bello lo script in javascript :)...
Ma io non uso nessuno di quei formati

Re: Trovare mime supportati dei client

Inviato: mar 6 ago 2013, 7:07
da marcomg
Secondo me fai prima così: vedi se il browser supporta html5 se no fai vedere il video in flash (o stampi un errore). Se si metti 3 sorgenti: H.264, WebM, Theora. Dovresti essere sicuro che venga riprodotto da qualunque browser.