I browser moderni tranne IE gestiscono MJPEG
(Motion JPEG). Here è un esempio di violino.Come posso rilevare se un browser supporta MJPEG?
È possibile rilevare il supporto per MJPEG
? Ho guardato attraverso Modernizr invano.
I browser moderni tranne IE gestiscono MJPEG
(Motion JPEG). Here è un esempio di violino.Come posso rilevare se un browser supporta MJPEG?
È possibile rilevare il supporto per MJPEG
? Ho guardato attraverso Modernizr invano.
ho provato il modo più ovvio per rilevare se l'immagine potrebbe essere caricato o meno:
$output = $('<img id="webcam">')
.attr('src', src)
.load(function(){alert('ok')})
.error(function(){alert('error')});
immagine Cassa In stato possibile caricare load
evento sarà licenziato, altrimenti error
. Controllato nel recente Chrome e IE8. Funziona come previsto.
Modernizr only supports the following formats for detection right now: ogg, webm and h264.
L'elemento video ha una chiamata chiamato canPlayType(format)
che sarebbe davvero essere l'unica opzione (se funziona per MJPG). La logica di rilevamento sarebbe simile a questa (non il formato sarebbe diverso).
var videoElement = document.createElement('video');
if(!!videoElement.canPlayType)
{
var browserConfidence = videoElement.canPlayType('video/mjpeg; codecs="insert, them"');
if(browserConfidence == "probably")
{
// high confidence
}
else if(browserConfidence == "maybe")
{
// low confidence
}
else
{
// no confidence... it definately will not play
}
}
Assicurati di avere visit the W3C's information on canPlayType. Sembra che il tipo mime debba essere "video/mjpeg" e non "video/mjpg" come specificato in precedenza.
Non valido nel 2016. –
Purtroppo per questo è necessario utilizzare un controllo ActiveX per supportare mjpg in IE. Vedi How to embed mjpeg file on a webpage.
Questo non funziona sui browser Web Android. Almeno su due diversi telefoni Samsung, il browser predefinito di Android non mostra né MJPEG, né attiva un evento di carico o di errore - prova a caricare il flusso "intero" senza renderlo. – garlon4