Formato de video Python OpenCV en el navegador

Estoy intentando crear un video a partir de una secuencia de imágenes y mostrarlo en un navegador, pero por alguna extraña razón, no importa qué códec o formato de archivo use, obtengo el siguiente error:

No se encontró ningún video con formato compatible y tipo mime

Aquí está mi código:

ready_images = [] import cv2 for img in videos['Images']: image = cv2.imread(img.fileName) ready_images.append(image) fourcc = cv2.VideoWriter_fourcc(*'MP4V') video_name = videos['Images'][0].gifLocationPath + "//" + videos['Name'] frame = cv2.imread(videos['Images'][0].fileName) height, width, layers = frame.shape video_name = video_name[:-4]+".mp4" video = cv2.VideoWriter(video_name, fourcc, 20.0, (width, height)) for image in ready_images: video.write(image) cv2.destroyAllWindows() video.release() 

Lo curioso es que en Firefox o Chrome los videos no funcionan, pero en Edge … realmente funcionan.

No quiero usar FFMPEG y preferiría que funcione con OpenCV.

Si alguno de ustedes sabe qué formato de video (sé que los formatos web son webm, ogg, mp4) o el códec que debería usar para esto, hágamelo saber.

Gracias.

MP4V o MPEG-4 parte 2 no es compatible con la mayoría de los navegadores, es posible que desee probar H.264 (MPEG-4 parte 10).

Para hacer eso, cambia:

 fourcc = cv2.VideoWriter_fourcc(*'MP4V') 

a

 fourcc = cv2.VideoWriter_fourcc(*'H264') 

Si está usando Python 3, use el siguiente código hexadecimal en su lugar (parece que hay un error al usar la notación de cuatro bytes):

 fourcc = 0x00000021 

Ejecute el script y probablemente obtendrá el siguiente mensaje de error:

Error al cargar la biblioteca OpenH264: openh264-1.6.0-win32msvc.dll Compruebe el entorno y / o descargue la biblioteca: https://github.com/cisco/openh264/releases

Debe hacer lo que el mensaje dice y descargar la biblioteca requerida de github y colocarla en un lugar accesible por su RUTA.

Usando la compresión H.264 también obtendrá un archivo más pequeño que es mejor para la Web.