es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo puedo transmitir una cámara IP con protocolo RTSP a un sitio web a través de Nginx?

Intento transmitir mi cámara RTSP-IP en un sitio web. Uso el servidor web Nginx. Mi origen en el código html es:

<source src=rtmp://dirección-ip:1935/live/ type="application/x-mpegURL" />

Para convertir el flujo de rtsp utilizo este código ffmpeg:

ffmpeg -rtsp_transport tcp -i rtsp://usuario:contraseña@cámara-ip:554/h264Preview_01_main -vcodec copy -acodec copy -f mp4 -y rtmp://dirección-ip:1935/live/

Obtengo el mensaje de error “muxer does not support non seekable output Could not write header for output file #0 (incorrect codec parameters?): Invalid argument”

También intenté convertir la cámara RTSP en un archivo mp4 y luego acceder al archivo como origen en mi código html, pero no pude leer el archivo mientras ffmpeg escribía en él.

Si necesita más información, hágamelo saber.

Gracias y que tengas un buen día.

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Parece que estás intentando transmitir una cámara IP RTSP en un sitio web utilizando el servidor web Nginx. Tu fuente actual en el código HTML es:

    <source src="rtmp://ip-address:1935/live/" type="application/x-mpegURL">
    

    Para convertir el flujo RTSP, estás utilizando ffmpeg con el siguiente código:

    ffmpeg -rtsp_transport tcp -i rtsp://user:password@ip-camera:554/h264Preview_01_main -vcodec copy -acodec copy -f mp4 -y rtmp://ip-address:1935/live/
    

    Sin embargo, te estás encontrando con un mensaje de error que indica “el multiplexor no admite una salida no buscable. No se pudo escribir la cabecera del archivo de salida #0 (parámetros de códec incorrectos?): Argumento no válido”.

    Una posible solución es intentar usar el formato de salida “flv” en lugar de “mp4”, ya que el multiplexor “flv” admite una salida no buscable. Puedes modificar tu comando ffmpeg para que se vea así:

    ffmpeg -rtsp_transport tcp -i rtsp://user:password@ip-camera:554/h264Preview_01_main -vcodec copy -acodec copy -f flv -y rtmp://ip-address:1935/live/
    

    Alternativamente, puedes intentar convertir el flujo RTSP a un archivo MP4 antes de acceder a él como fuente en tu código HTML. Sin embargo, mencionaste que te encontraste con problemas cuando ffmpeg escribía en el archivo mientras intentabas leerlo. Si proporcionas más información sobre los problemas específicos que encontraste, es posible que podamos ayudarte a solucionar el problema.

    ¡Espero que esto ayude! Avísame si tienes alguna otra pregunta.

Comments are closed.