Tengo una cámara IP que proporciona un flujo de vídeo RTSP en directo. Puedo usar VLC media player para ver el feed proporcionándole la URL:
rtsp://cameraipaddress
Pero necesito mostrar la transmisión en una página web. El proveedor de la cámara proporcionó un control ActiveX que conseguí que funcionara, pero es realmente defectuoso y hace que el navegador se cuelgue con frecuencia.
¿Alguien sabe de algún plugin de vídeo alternativo que pueda utilizar y que soporte RTSP?
La cámara se puede configurar para transmitir en H264 o MPEG4.
VLC también viene con un plugin ActiveX que puede mostrar el feed en una página web:
http://wiki.videolan.org/ActiveX/HTML
<OBJECT classid="clsid:9BE31822-FDAD-461B-AD51-BE1D1C159921"
codebase="http://downloads.videolan.org/pub/videolan/vlc/latest/win32/axvlc.cab"
width="640" height="480" id="vlc" events="True">
<param name="Src" value="rtsp://cameraipaddress" />
<param name="ShowDisplay" value="True" />
<param name="AutoLoop" value="False" />
<param name="AutoPlay" value="True" />
<embed id="vlcEmb" type="application/x-google-vlc-plugin" version="VideoLAN.VLCPlugin.2" autoplay="yes" loop="no" width="640" height="480"
target="rtsp://cameraipaddress" ></embed>
</OBJECT>
Aproximadamente puedes tener 3 opciones para mostrar el flujo de vídeo RTSP en una página web:
Puedes encontrar el código para incrustar el activeX a través de la búsqueda en Google.
Por lo que sé, hay algunas limitaciones para cada reproductor.
¡Prueba el QuickTime Player! Aquí está mi JavaScript que genera el objeto incrustado en una página web y reproduce el flujo:
//SET THE RTSP STREAM ADDRESS HERE
var address = "rtsp://192.168.0.101/mpeg4/1/media.3gp";
var output = '<object width="640" height="480" id="qt" classid="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B" codebase="http://www.apple.com/qtactivex/qtplugin.cab">';
output += '<param name="src" value="'+adsress+'">';
output += '<param name="autoplay" value="true">';
output += '<param name="controller" value="false">';
output += '<embed id="plejer" name="plejer" src="/poster.mov" bgcolor="000000" width="640" height="480" scale="ASPECT" qtsrc="'+address+'" kioskmode="true" showlogo=false" autoplay="true" controller="false" pluginspage="http://www.apple.com/quicktime/download/">';
output += '</embed></object>';
//SET THE DIV'S ID HERE
document.getElementById("the_div_that_will_hold_the_player_object").innerHTML = output;