Webcam an URL binden

Debian macht sich hervorragend als Web- und Mailserver. Schau auch in den " Tipps und Tricks"-Bereich.
Antworten
s837ubc
Beiträge: 118
Registriert: 23.07.2013 14:17:01

Webcam an URL binden

Beitrag von s837ubc » 26.10.2020 19:03:34

Hallo,

im LAN soll für die Überwachung eines 3D-Druckers eine Webcam installiert werden.

Im Debian System wird die Webcam nach dem Einstecken des USB-Steckers automatisch erkannt:

dmesg:

Code: Alles auswählen

[ 2663.681118] usb 1-1.3: new high-speed USB device number 6 using dwc_otg
[ 2663.846159] usb 1-1.3: New USB device found, idVendor=045e, idProduct=0772, bcdDevice= 1.13
[ 2663.846192] usb 1-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 2663.846215] usb 1-1.3: Product: Microsoft® LifeCam Studio(TM)
[ 2663.846234] usb 1-1.3: Manufacturer: Microsoft
[ 2663.861661] uvcvideo: Found UVC 1.00 device Microsoft® LifeCam Studio(TM) (045e:0772)
[ 2663.932233] uvcvideo 1-1.3:1.0: Entity type for entity Extension 5 was not initialized!
[ 2663.932273] uvcvideo 1-1.3:1.0: Entity type for entity Processing 4 was not initialized!
[ 2663.932303] uvcvideo 1-1.3:1.0: Entity type for entity Selector 3 was not initialized!
[ 2663.932332] uvcvideo 1-1.3:1.0: Entity type for entity Camera 1 was not initialized!
[ 2663.933562] input: Microsoft® LifeCam Studio(TM): as /devices/platform/soc/20980000.usb/usb1/1-1/1-1.3/1-1.3:1.0/input/input2
[ 2664.331799] hid-generic 0003:045E:0772.000bcam 3: hiddev96,hidraw0: USB HID v1.01 Device [Microsoft Microsoft® LifeCam Studio(TM)] on usb-20980000.usb-1.3/input4
Mit dem Paket fswebcam können von der Webcam Fotos gemacht werden:

$ fswebcam image.jpg

Code: Alles auswählen

--- Opening /dev/video0...
Trying source module v4l2...
/dev/video0 opened.
No input was specified, using the first.
Adjusting resolution from 384x288 to 352x288.
--- Capturing frame...
Captured frame in 0.00 seconds.
--- Processing captured image...
Writing JPEG image to 'image.jpg'.
Die Eigeschaften der Webcam sind ebenfalls abrufbar:

$ fswebcam --list-controls

Code: Alles auswählen

Trying source module v4l2...
/dev/video0 opened.
No input was specified, using the first.
Available Controls        Current Value   Range
------------------        -------------   -----
Brightness                133 (45%)       30 - 255
Contrast                  5               0 - 10
Saturation                103 (51%)       0 - 200
White Balance Temperature, Auto True            True | False
Power Line Frequency      60 Hz           Disabled | 50 Hz | 60 Hz
White Balance Temperature 4500 (26%)      2500 - 10000
Sharpness                 25 (50%)        0 - 50
Backlight Compensation    5               0 - 10
Exposure, Auto            Aperture Priority Mode Manual Mode | Aperture Priority Mode
Exposure (Absolute)       156 (1%)        1 - 10000
Pan (Absolute)            0 (50%)         -529200 - 529200
Tilt (Absolute)           0 (50%)         -432000 - 432000
Focus (absolute)          0 (0%)          0 - 40
Focus, Auto               True            True | False
Zoom, Absolute            0 (0%)          0 - 317
Adjusting resolution from 384x288 to 352x288.
--- Capturing frame...
Captured frame in 0.00 seconds.
--- Processing captured image...
There are unsaved changes to the image.
Was nun fehlt, ist eine Bindung an eine Webserver, so dass der Video-Stream von der Webcam über eine URL abrufbar ist.

Hintergrund:
Auf dem System läuft "OctoPrint" zur Ansteuerung und Verwaltung des 3D Druckers. Unter den Einstellungen zur Webcam muss eine Stream-URL angegeben werden.

Kann mir da jemand weiterhelfen?

Benutzeravatar
Lord_Carlos
Beiträge: 5426
Registriert: 30.04.2006 17:58:52
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Dänemark

Re: Webcam an URL binden

Beitrag von Lord_Carlos » 26.10.2020 21:09:00

Ist das ein Debian mit OctoPrint installiert?
Oder ist das ein OctoPi image, also ein fuer ein Raspberry Pi mit OctoPrint vorinstalliert. Letzteres sollte eigentlich die webcam automatisch erkennen.

Code: Alles auswählen

╔═╗┬ ┬┌─┐┌┬┐┌─┐┌┬┐╔╦╗
╚═╗└┬┘└─┐ │ ├┤ │││ ║║
╚═╝ ┴ └─┘ ┴ └─┘┴ ┴═╩╝ rockt das Forum!

wanne
Moderator
Beiträge: 6638
Registriert: 24.05.2010 12:39:42

Re: Webcam an URL binden

Beitrag von wanne » 26.10.2020 21:35:56

Es gibt da keinen einfachen Standardkonformen weg, weil weder Chrome noch Firefox Streamingprotokolle (Im Gegensatz zu ondemand Video) supporten. Konqueror kann rtp und Safari kann HLS. Aber ne Webseite bauen, die im Chrome nicht tut ist halt bei 67% Marktanteil liegt ist halt eher nicht so geil.
Es gibt diverse Hacks: Ganz vorne dabei ist natürlich flash (kan rtmp) oder das VLC-Plugin (kann rtp). Beide haben das Problem, dass man im FF keine Plugins mehr installieren kann. (Nur noch Addons.)
Youtube geht den weg sich halt seinen eigenen Streaming-Client in Javascript über die Mediasource-API geschrieben zu haben.
OctoPrint Nimmt üblicherweise den Hack schlicht nacheinander jpeg anzuzeigen. Die kann der auch automatisch aus ner Kammera erzeugen. Sind halt riesige Datenmengen für bescheidene Bildqualität.
rot: Moderator wanne spricht, default: User wanne spricht.

s837ubc
Beiträge: 118
Registriert: 23.07.2013 14:17:01

Re: Webcam an URL binden

Beitrag von s837ubc » 29.10.2020 12:46:46

Hallo,
Lord_Carlos hat geschrieben: ↑ zum Beitrag ↑
26.10.2020 21:09:00
Ist das ein Debian mit OctoPrint installiert?
Oder ist das ein OctoPi image, also ein fuer ein Raspberry Pi mit OctoPrint vorinstalliert. Letzteres sollte eigentlich die webcam automatisch erkennen.
Es handelt sich um ein fertiges Image für Raspberry mit OctoPrint.

Der Befehl fswebcam wurde manuell nachinstalliert, um zu sehen, ob die Webcam überhaupt reagiert.

s837ubc
Beiträge: 118
Registriert: 23.07.2013 14:17:01

Re: Webcam an URL binden

Beitrag von s837ubc » 29.10.2020 12:52:23

Hallo,
wanne hat geschrieben: ↑ zum Beitrag ↑
26.10.2020 21:35:56
Es gibt da keinen einfachen Standardkonformen weg, weil weder Chrome noch Firefox Streamingprotokolle (Im Gegensatz zu ondemand Video) supporten. Konqueror kann rtp und Safari kann HLS. Aber ne Webseite bauen, die im Chrome nicht tut ist halt bei 67% Marktanteil liegt ist halt eher nicht so geil.
Im Youtube-Video ( https://youtu.be/5VqWxfWKKjk ) wird gezeigt, dass ein WebBrowser ohne weiteres die Videos auf der OctoPrint-Webseite wiedergeben kann.

Benutzeravatar
Lord_Carlos
Beiträge: 5426
Registriert: 30.04.2006 17:58:52
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Dänemark

Re: Webcam an URL binden

Beitrag von Lord_Carlos » 29.10.2020 13:00:59

Dann sollte es eigentlich gehen mit dem default /webcam/?action=stream
So viel ich weis brint OctoPi alles mit.
Kann sein das die Kamera beim booten angesteckt sein muss.
Ich habe bei mir die Pi Cam dran, habe also keine direkte Erfahrung mit USB Kameras.

Du kannst auch mal <OctoPrint URL>/webcam direkt im browser versuchen. (Kann sein das es <OctoPrint URL>:8080/webcam ist)

Wenn das nicht wuerde ich es mal im OctoPrint Forum fragen: https://community.octoprint.org/
Hier bekommst du sonnst nur Beitraege zur Streaming Theorie die dir nicht weiter helfen :))))

Code: Alles auswählen

╔═╗┬ ┬┌─┐┌┬┐┌─┐┌┬┐╔╦╗
╚═╗└┬┘└─┐ │ ├┤ │││ ║║
╚═╝ ┴ └─┘ ┴ └─┘┴ ┴═╩╝ rockt das Forum!

wanne
Moderator
Beiträge: 6638
Registriert: 24.05.2010 12:39:42

Re: Webcam an URL binden

Beitrag von wanne » 29.10.2020 16:11:05

s837ubc hat geschrieben: ↑ zum Beitrag ↑
29.10.2020 12:52:23
Im Youtube-Video ( https://youtu.be/5VqWxfWKKjk ) wird gezeigt, dass ein WebBrowser ohne weiteres die Videos auf der OctoPrint-Webseite wiedergeben kann.
Nein. OctoPrint schießt mit der Kamera jpeg-Bilder und überträgt die nacheinander. Das funktioniert und man könnte das als "Streaming" bezeichnen. So wie man behauten kann, dass man mit nem Foto filmen kann, wenn man oft genug den Auslöser drückt. Wörtlich ist das richtig. Ich finde eigentlich, dass das kein Video und schon gar nicht, dass jpeg ein Streamingprotokoll ist.
rot: Moderator wanne spricht, default: User wanne spricht.

Antworten