Camera v4l24
Access #
- Native mit C/C++
- Python
- viele Frameworks
- z.B.
v4l2py
- ... https://github.com/tiagocoutinho/v4l2py
23.05.2022
Camera Beispiel Python5
import flask
from v4l2py import Device
app = flask.Flask('basic-web-cam')
PREFIX = b"--frame\r\nContent-Type: image/jpeg\r\n\r\n"
SUFFIX = b"\r\n"
def gen_frames():
with Device.from_id(0) as cam:
cam.video_capture.set_format(640, 480, 'MJPG')
for frame in cam:
yield b"".join((PREFIX, frame, SUFFIX))
23.05.2022
Camera Beispiel Python6
@app.route("/")
def index():
return '<html><img src="/stream" /></html>'
@app.route("/stream")
def stream():
return flask.Response(
gen_frames(), mimetype='multipart/x-mixed-replace; boundary=frame')
if __name__ == "__main__":
app.run(host="0.0.0.0")
23.05.2022
Camera v4l2 > Network7
Frames Senden #
- Kurze latenz
- Keine alten Frames
- Kein "Desync"
- ... am besten in Webapp einbaubar
23.05.2022
Camera serial11
Serielle Schnittstelle #
/dev/ttyX
- Cannonical!
- Mit
- C/C++
termios
- Python
pyserial
- Java
stty
+read
/write
- ... analog mit anderen Sprachen / Frameworks
- C/C++
23.05.2022
Camera serial12
PySerial #
>>> with serial.Serial('/dev/ttyS1', 19200, timeout=1) as ser:
... x = ser.read() # read one byte
... s = ser.read(10) # read up to ten bytes (timeout)
... line = ser.readline() # read a '\n' terminated line
23.05.2022
Reset