Saltar al contenido

Streaming a través de RTSP o RTP en HTML5

Nuestros investigadores estrellas agotaron sus reservas de café, en su búsqueda diariamente por la solución, hasta que Miriam halló la contestación en GitLab así que en este momento la compartimos con nosotros.

Solución:

Técnicamente ‘Sí’

(pero no realmente…)

HTML 5 la etiqueta es independiente del protocolo, no le importa. Colocas el protocolo en el src attribute como parte de la URL. P.ej:


o tal vez


Dicho esto, la implementación de la la etiqueta es específica del navegador. Dado que son los primeros días de HTML 5, espero que el soporte cambie con frecuencia (o la falta de soporte).

De la especificación HTML5 de W3C (El elemento de video):

Los agentes de usuario pueden admitir cualquier códec de video y audio y formatos de contenedor

El espíritu de la pregunta, creo, no fue realmente respondido. No, no puede usar una etiqueta de video para reproducir transmisiones rtsp a partir de ahora. La otra respuesta con respecto al enlace al “nunca” del chico de Chromium es un poco engañosa ya que el hilo / respuesta vinculado no se refiere directamente a Chrome reproduciendo rtsp a través de la etiqueta de video. Lea todo el hilo enlazado, especialmente los comentarios en la parte inferior y los enlaces a otros hilos.

La verdadera respuesta es esta: no, no puede simplemente poner una etiqueta de video en una página html 5 y reproducir rtsp. Necesita usar una biblioteca de Javascript de algún tipo (a menos que quiera comenzar a jugar cosas con reproductores flash y silverlight) para reproducir videos en tiempo real. En mi humilde opinión Al ritmo que avanza la discusión y la implementación del video html 5, los diversos proveedores de estándares de video patentados no están interesados ​​en ayudar a que esto avance, así que no cuente con la prometida facilidad de uso de la etiqueta de video a menos que los fabricantes de navegadores se encargan de resolver el problema de alguna manera… de nuevo, no es probable. /EN MI HUMILDE OPINIÓN

Esta es una vieja pregunta, pero tuve que hacerlo yo mismo recientemente y logré que algo funcionara (además de que una respuesta como la mía me ahorraría algo de tiempo): básicamente use ffmpeg para cambiar el contenedor a HLS, la mayoría de las cámaras IP transmiten h264 y algunas tipo básico de PCM, así que usa algo como eso:

ffmpeg -v info -i rtsp://ip:port/h264.sdp -c:v copy -c:a copy -bufsize 1835k -pix_fmt yuv420p -flags -global_header -hls_time 10 -hls_list_size 6 -hls_wrap 10 -start_number 1 /var/www/html/test.m3u8

Luego use video.js con el complemento HLS. Esto reproducirá la transmisión en vivo muy bien. También hay un ejemplo de jsfiddle en el segundo enlace).

Nota: aunque este no es un soporte nativo, no requiere nada adicional en la interfaz del usuario.

Te invitamos a añadir valor a nuestro contenido aportando tu veteranía en las aclaraciones.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *