Tengo una cámara ip que proporciona una transmisión de video RTSP en vivo. Puedo usar el reproductor de medios VLC para ver el feed proporcionándole la URL:
rtsp://cameraipaddress
Pero necesito mostrar el feed en una página web. El proveedor de la cámara proporcionó un control ActiveX que hice funcionar, pero tiene muchos errores y hace que el navegador se cuelgue con frecuencia.
¿Alguien sabe de algún complemento de video alternativo que pueda usar y que sea compatible con RTSP?
La cámara se puede configurar para transmitir en H264 o MPEG4.
video-streaming
rtsp
elMarqués
fuente
fuente
<video:>
elemento: stackoverflow.com/questions/1735933/…src
atributo de la<img>
etiqueta de HTML. Funciona, pero es muy lento, por lo que no parece un video en vivo. ¿Ya has probado tu idea? ¿Funciona rápido?Respuestas:
VLC también viene con un complemento ActiveX que puede mostrar el feed en una página web:
http://wiki.videolan.org/ActiveX/HTML
fuente
No es fácil mostrar la transmisión de video en vivo desde una cámara IP en una página web porque necesita un amplio ancho de banda de Internet y un excelente reproductor de video que sea compatible con los principales navegadores.
Pero, afortunadamente, hay algunos servicios basados en la nube que pueden hacer este trabajo por nosotros. Uno de los mejores es IPCamLive . Este servicio puede recibir flujo de video RTSP / H264 desde una cámara IP y puede transmitirlo a los espectadores. IPCamLive tiene un componente de reproductor de video Flash / HTML5 que mostrará el video en PC, MAC, tableta o dispositivo móvil. Lo mejor es que este sitio genera el fragmento HTML necesario para incrustar el video en vivo como este:
Así que solo tenemos que copiarlo y pegarlo en nuestro archivo HTML sin ninguna modificación.
fuente
Aproximadamente, puede tener 3 opciones para mostrar la transmisión de video RTSP en una página web:
Puede encontrar el código para incrustar el activeX a través de la búsqueda de Google.
Hasta donde yo sé, existen algunas limitaciones para cada jugador.
fuente
Si desea transmitir RTSP directamente a la página web, me temo que su única opción es usar un visor de control ActiveX que viene con la cámara. Esta es una cámara IP de conexión directa -> Visor, y realmente debería ser la más rápida. No estoy seguro de por qué tiene problemas; Axis ActiveX funciona bastante bien para mí.
Sin embargo, esta opción no es realmente eficiente en el ancho de banda y no puede atender a varios espectadores simultáneos (la mayoría de las cámaras IP tienen un límite de 10 espectadores). La mejor opción es cargar una única transmisión RTSP en un servidor de transmisión alojado centralmente, que convertirá su transmisión a RTMP / MPEG-TS y la publicará en reproductores Flash / decodificadores.
Wowza, Erlyvideo, Unreal Media Server, Red5 son sus opciones.
fuente
Encontré una solución simple y funcional de la documentación oficial de VLC para el complemento web
https://wiki.videolan.org/Documentation:WebPlugin/
Modificó un poco el código y lo puso a funcionar. Aquí está mi código
Nota: El fragmento de código anterior utiliza el
rtsp
formato de URL compatible con mi cámara IP. Por lo tanto, debe obtener lo mismo para su cámara. Puede obtener esta información consultando el soporte del proveedor de su cámara. También tenga en cuenta que lo probé en Chrome (usando un complemento activeX para Chrome) y es posible que otros navegadores (incluidos los navegadores de teléfonos móviles) no sean compatibles.fuente
x-vlc-plugin
, ignorar las cosas propietarias y simplemente presionar una aplicación vlc. también, sobre las alternativas multiplataforma que menciona: la única solución actual sería usar ffmpeg / avconv / etc en un servidor web para volver a empaquetar la secuencia rtsp en http / websocket / webrtc. luego simplemente agregue una<video>
etiqueta y listo.http://download.videolan.org/pub/videolan/vlc/last/win32/axvlc.cab
404 no encontradoTambién puede probar el servidor de medios WebRTC de código abierto Kurento
Que puede reproducir la transmisión de video RTSP y enviarla a WebRTC o transcodificarla a RTMP o guardarla en el servidor.
Lo estamos utilizando en producción para los siguientes casos:
fuente
Wowza
Servidor de llamadas web (Flashphoner)
Reenvío de RTSP a WebRTC (función de navegador nativa para Chrome y FF en Android o escritorio)
Retransmisión de RTSP a Websockets (iOS Safari y Chrome / FF Desktop)
Eche un vistazo a este artículo .
fuente
Sé que esta publicación es antigua, pero estaba buscando algo muy similar el otro día (vea la transmisión de video RTSP de mi cámara IP en una página html simple sin complementos ActiveX sofisticados). ¡Por suerte, encontré una solución! Está basado en ffmpeg, NodeJS, NGINX (no obligatorio pero útil) y Node Media Server .
La descripción en el enlace es detallada y fácil de seguir, pero todavía tenía que hacer algunos ajustes antes de que funcionara (con respecto a los puntos finales en el servidor NodeJS). Le hice una pregunta y obtuve una buena respuesta .
fuente
¡Prueba QuickTime Player! Aquí está mi JavaScript que genera el objeto incrustado en una página web y reproduce la transmisión:
fuente
Compruebe la biblioteca de flujo de medios de Axis que se retransmite en la extensión de fuente de medios
Implementan una canalización similar a Gstreamer en JS con el h264 depay en ella. Nota: la transmisión consumida en js no es directamente rtsp, sino que la biblioteca la encapsula en un ws: // en un proxy rtsp-websocket de node.js.
fuente
He publicado un proyecto en Github que lo ayuda a transmitir la cámara IP / de red al navegador web en tiempo real sin necesidad de un complemento, que contribuí al proyecto de código abierto bajo la licencia MIT que podría adaptarse a sus necesidades, aquí tiene:
Transmisión de cámara IP / de red en el navegador web usando NodeJS
Todavía no hay un paquete completo de framework, pero es un puntapié inicial que podría brindarle una manera de continuar.
Como estudiante, espero que esto sea de ayuda y por favor contribuya a este proyecto.
fuente
Una opción sería utilizar algún tipo de servidor / puerta de enlace de transmisión. Probé varias soluciones (vlc, ffmpeg y algunas más) y la que mejor me funcionó fue el servidor Janus WebRTC. Es algo difícil de configurar, y tendrá que compilarlo desde la fuente (cuando lo probé, la versión en los repositorios de Ubuntu no tenía soporte RTSP), pero tienen instrucciones de compilación detalladas y documentación sobre cómo configurar todo.
Logré obtener alimentación de video y audio de 3 cámaras FullHD en la red local con muy poco retraso. Puedo confirmar que funciona con cámaras Dahua y Hikvision (no estoy seguro si todos los modelos).
Lo que usé fue Ubuntu Server 18.04 ejecutando el servidor web Apache y Chrome como navegador (no funcionaba en Firefox de forma predeterminada, pero tal vez haya soluciones alternativas).
fuente
Microsoft Mediaplayer puede hacer todo lo que necesita. Utilizo MS Mediaservices del servidor 2003/2008 para entregar video como transmisión y transmisión unicast. Este servicio podría OBTENER la transmisión de la cámara y transmitirla. De lo que tiene "solo" el problema de "mostrar" esa imagen en TODOS los navegadores en todos los sistemas operativos
Mi consejo: primero verifique el sistema operativo, luego cargue su complemento. en Windows es fácil: tomar WMP, en otros, MS Silverligt ...
fuente
Para propósitos como este, uso VLC como servidor de redistribución. ¿Dijiste que puedes ver el video con VLC? Haga clic derecho en el medio en VLC, seleccione "stream" y elija sus opciones. También puede hacerlo con la línea de comandos, lo que le brinda los beneficios potenciales de varias opciones (transcodificación, escalado, compresión, desentrelazado). Aquí hay un lote que inicia la distribución de VLC desde la fuente a su propio puerto 555 (por lo que tendrá que escribir rstp: // myvlcserveripaddress: 555 en su opción src en la página web para obtener la transmisión)
Aquí , tiene una muestra de una página web que incorpora el reproductor (basado en el complemento VLC).
fuente
Todas las soluciones anteriores ya no funcionan o requieren demasiado tiempo para descubrirlas.
Esta es la respuesta definitiva. Puede incrustar el enlace rtsp en su sitio web.
Copie el siguiente código en su editor html:
Si todo esto es demasiado complicado y aún no lo resuelve, déjame ayudarte.
He hecho esto por mis clientes.
Haga clic aquí http://www.mhcreative.com.my/ipcameratowebsite/
fuente