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.

Advertencia de GStreamer al ejecutar OpenCV en Ubuntu.

Estoy tratando de hacer que un script funcione en mi Raspberry Pi (sistema Ubuntu). Ahora mismo, simplemente estoy recordando los conceptos básicos de OpenCV, ya que ha pasado un poco de tiempo desde que trabajé con él. Así que copié y pegué este código directamente del sitio web de OpenCV y lo ejecuté.

import numpy as np
import cv2 as cv

cap = cv.VideoCapture(0)

if not cap.isOpened():
print("No se puede abrir la cámara")
exit()

while True:
# Capturar frame por frame
ret, frame = cap.read()

# Si el frame se lee correctamente, ret es True
if not ret:
    print("No se puede recibir el frame (¿fin del flujo?). Saliendo...")
    break

# Nuestras operaciones en el frame vienen aquí
gray = cv.cvtColor(frame, cv.COLOR_BGR2GRAY)

# Mostrar el frame resultante
cv.imshow('frame', gray)

if cv.waitKey(1) == ord('q'):
break

Cuando se haya terminado, liberar la captura

cap.release()
cv.destroyAllWindows()

Sin embargo, al ejecutarlo, solo obtengo una ventana gris sólida como una ventana emergente y arroja estos errores:

[ WARN:0] global /usr/local/src/opencv-4.4.0/modules/videoio/src/cap_gstreamer.cpp (1761) handleMessage OpenCV | GStreamer warning: Se detuvo la reproducción de video incrustado; el módulo v4l2src0 informó: Error interno del flujo de datos.
[ WARN:0] global /usr/local/src/opencv-4.4.0/modules/videoio/src/cap_gstreamer.cpp (888) open OpenCV | GStreamer warning: no se puede iniciar el pipeline
[ WARN:0] global /usr/local/src/opencv-4.4.0/modules/videoio/src/cap_gstreamer.cpp (480) isPipelinePlaying OpenCV | GStreamer warning: GStreamer: el pipeline no se ha creado

El código aún se ejecuta, ya que puedo cerrar la ventana presionando ‘q’. Pero la parte de transmisión de video ha salido horriblemente mal. Ni siquiera sé qué es GStreamer, y mucho menos qué es un pipeline de GStreamer. No tengo idea de cómo solucionarlo y no he encontrado nada en línea que funcione.

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Parece que el problema está en la parte de transmisión de video del código. El mensaje de error sugiere que podría haber un problema con el pipeline utilizado para transmitir el video. GStreamer es un marco multimedia basado en pipeline que vincula una amplia variedad de sistemas de procesamiento de medios para completar flujos de trabajo complejos.

    Para solucionar el problema, podrías intentar modificar el pipeline utilizado para transmitir el video. También podrías probar utilizando un pipeline diferente o utilizar un método diferente para transmitir el video. Además, podrías intentar actualizar o reinstalar GStreamer para ver si eso resuelve el problema. Si ninguna de estas soluciones funciona, es posible que necesites buscar la ayuda de un experto en GStreamer o transmisión de video.

Comments are closed.