¿Cómo realizar la transmisión de video con Raspberry Pi?

¿Cómo realizar la transmisión de video con Raspberry Pi? ''' clase StreamingOutput(objeto): def __en eso__(yo): yo.marco = Ninguna yo.buffer = yo.BytesIO() yo.condición = Condición() def escribir(yo, soplo): Si soplo.comienza con(b' xff xd8'): # Nuevo marco, copie el contenido del búfer existente y notifique a todos # clientes está disponible yo.buffer.truncar() con yo.condición: yo.marco = yo.buffer.obtener valor() yo.condición.notificar_todos() yo.buffer.buscar(0) regreso yo.buffer.escribir(soplo) clase StreamingHandler(servidor.BaseHTTPRequestHandler): def do_GET(yo): Si yo.camino == '/': yo.enviar respuesta(301) yo.send_header('Ubicación', '/index.html') yo.end_headers() elif yo.camino == '/index.html': contenido = PÁGINA.codificar('utf-8') yo.enviar respuesta(200) yo.send_header('Tipo de contenido', 'texto / html') yo.send_header('Largancia de contenido', len(contenido)) yo.end_headers() yo.wfile.escribir(contenido) elif yo.camino == '/stream.mjpg': yo.enviar respuesta(200) yo.send_header('Años', 0) yo.send_header('Cache-Control', 'sin caché, privado') yo.send_header('Pragma', 'no-cache') yo.send_header('Tipo de contenido', 'multipart / x-mixed-replace; límite = MARCO ') yo.end_headers() tratar: mientras Cierto: con salida.condición: salida.condición.Espere() marco = salida.marco yo.wfile.escribir(b'--MARCO r n') yo.send_header('Tipo de contenido', 'imagen / jpeg') yo.send_header('Largancia de contenido', len(marco)) yo.end_headers() yo.wfile.escribir(marco) yo.wfile.escribir(b' r n') excepto Excepción como es: Inicio sesión.advertencia( 'Cliente de transmisión eliminado% s:% s', yo.dirección_cliente, str(es)) más: yo.enviar error(404) yo.end_headers() clase StreamingServer(servidor de sockets.ThreadingMixIn, servidor.HTTPServer): allow_reuse_address = Cierto daemon_threads = Cierto con picamera.PiCamera(resolución='640x480', cuadros por segundo=24) como cámara: salida = StreamingOutput() cámara.iniciar la grabación(salida, formato='mjpeg') tratar: habla a = ('', 8000) servidor = StreamingServer(habla a, StreamingHandler) servidor.serve_forever() finalmente: cámara.para de grabar()

Después de pegar el código en el nuevo archivo creado, presione Ctrl + X, tipo Y y presione Entrar.



Paso 10: Ejecución de la transmisión de video

Después de guardar el script lo ejecutaremos usando Python3 escribiendo el siguiente comando:

 python3 rpi_video_streaming.py 

Después de escribir este comando, nuestro script comenzará a ejecutarse y ahora podemos acceder a nuestro servidor web en http://:8000 . Abriremos el navegador y pegaremos el enlace en él y usaremos la dirección IP que el enrutador asigna a nuestro Pi. Podemos acceder a la transmisión de video a través de nuestro teléfono celular, tableta, etc que tiene un navegador instalado y está asociado a una red similar a nuestra Pi. Escribí, “192.168.1.14:8000” para ejecutar la transmisión de video.



Paso 11: Dar los toques finales

Como probamos nuestra cámara Pi y supimos que funciona bien, estamos listos para instalarla en un lugar adecuado. Puede instalarse cerca de la puerta de la casa para que podamos monitorear a todas las personas que entran o salen de la casa. Todo lo que necesitamos es poder EN nuestra cámara usando el adaptador y sería mejor ponerla dentro de una carcasa y dejar el lado de la cámara abierto para la transmisión de video.



Aplicaciones

  1. Se puede instalar en viviendas por motivos de seguridad.
  2. Se puede utilizar en oficinas para monitorear el movimiento de los empleados.
  3. Se puede instalar en centros comerciales, estaciones de tren, etc. y puede ser accedido por el personal de administración para tener control y balance en un área específica.