Dies ist eine alte Version des Dokuments!
MJPEG Webcam
Chinesische Billigwebcam mit WLAN Firmware v1.28 (Sep 14 2007 10:09:45)
IP Address : 192.168.122.223
Subnet Mask : 255.255.255.0
Gateway : 192.168.123.1
DNS Server : 192.168.123.1
MAC Address : 00:1F:1F:17:F9:3E
Video Port : 4321
HTTP Port : 80
Problem: Keine Dokumentation. Webinterface soll das zwar können, aber JAvaScript zu schlecht.
Schaut gut aus, klappt aber nicht:
mplayer http://admin:[password]@gerald.webhop.org:14322/IPCamPluginMJPEG.cab -vo gl
Webinterface ruft folgendes JavaScript auf:
http://gerald.webhop.org:14322/ipcam.js?v=200708241090
document.write('<OBJECT ID="IPCam_Plugin" CLASSID=clsid:b015b944-7316-49ae-ac84-acca9379ea32 ALIGN="CENTER" WIDTH="'+ ipcam_width +'" HEIGHT="'+ ipcam_height +'" Codebase="/IPCamPluginMJPEG.cab#version=1,0,9,2">'); document.write('<PARAM name="IP" value="'+ window.location.hostname +'">'); document.write('<PARAM name="Port" value="'+ port +'">'); document.write('<PARAM name="Login" value="'+ login +'">'); document.write('<PARAM name="Password" value="'+ password +'">'); document.write('<PARAM name="Code" value="'+ code +'">'); document.write('<PARAM name="Debug" value="0">'); document.write('</OBJECT>');
Das Plugin kann man mit
wget http://admin:[password]@gerald.webhop.org:14322/IPCamPluginMJPEG.cab
runterladen
Das Plugin ist von der Firma 'Edimax' und ist anscheinend für den IE geschrieben. Dort funktioniert es aber auch nicht richtig, der IE beschwert sich über Fehler auf den Seiten.
Ruby-Skript, um Bilder zu catchen: Quelle1)
#!/usr/bin/env ruby # Script to extract images from the Hawking HNC230G # # Copyright (C) Tim Haynes # HNC230G{at}stirfried.vegetable.org.uk http://pig.sty.nu/ # # Redistributable under the terms of the GNU Public License: see # <http://www.gnu.org/copyleft/gpl.html> # # Requires ruby, imagemagick # nopics=ARGV[1] || "1" nopics=nopics.to_i require 'socket' require 'RMagick' xsize,ysize=640,480 puts "Connecting" s=TCPSocket.new('buffalo', 4321) nopics.times { |n| puts "Requesting data" s.puts("0110") len=s.read(2).reverse.unpack("v")[0] 2.times {s.getc } puts "Len: #{len}" jpeg=s.read(len) puts "Getting image" img=Magick::Image.from_blob(jpeg)[0]; puts "Saving image" img.write("foo-#{n}.jpg") }