Как изменить форму выходного потока скрипта, чтобы он работал для потока cvlc с использованием Python?

Поток состоит из кадров, поступающих с камеры raspberry pi.

stream.py необходимо изменить:

import sys
import cv2
from picamera.array import PiRGBArray
from picamera import PiCamera
import time


RES_W = 640
RES_H = 480

camera = PiCamera()
camera.resolution = (RES_W, RES_H)
camera.framerate = 24 # FPS
rawCapture = PiRGBArray(camera, size=(RES_W, RES_H))

# allow the camera to warmup
time.sleep(2)

for frame in camera.capture_continuous(rawCapture, format="bgr"):
    
    # image is apparently not the right format for cvlc
    image = frame.array
    # processing the image for face recognition purposes
    # ...

    # related to first reference
    sys.stdout.buffer.write(image)

    # clear the stream in preparation for the next frame
    rawCapture.truncate(0)

Команда, которую я использовал для передачи выходного потока stream.py в cvlc , не сработала, потому что cvlc, похоже, не может правильно интерпретировать поток:

(сервер)

python3 stream.py | cvlc -vvv stream:///dev/stdin --sout '#standard{access=http,mux=ts,dst=:8090}' :demux=h264

Предполагается, что он будет доступен с использованием:

(клиент)

vlc http://raspberrypi:8090

и он работал без проблем через:

(сервер)

raspivid -o - -t 0 -n -w 640 -h 400 -fps 24 | cvlc -vvv stream:///dev/stdin --sout '#standard{access=http,mux=ts,dst=:8090}' :demux=h264

Для дальнейших ссылок:

0 ответов

Другие вопросы по тегам