Rollei 5S Wifi als Webcam verwenden

Rollei5SWifi

Bildquelle: Amazon

Wiederverwertung. Das klingt nach Abfall, Recyclinghöfen und erhobenem Zeigefinger. Doch es gibt auch eine ganz andere Form der Wiederverwertung.

Und zwar alte oder ungenutzte elektrische Geräte neu zu verbinden. Mein letztes Projekt war es, eine Rollei 5S Wifi Kamera als Webcam am PC zu nutzen. Und zwar per Wifi! Es stellte sich heraus, daß dies gar nicht so einfach umzusetzen war, denn der Videodatenstrom der Rollei 5S Wifi muß erst einmal gestartet werden! Und das funktioniert eben nicht einfach so durch Einschalten sondern eine ganze Reihe von Befehlen, die an die Rollei 5S Wifi gesendet werden müssen. Erst dachte ich, daß dies der gleiche Befehlssatz wie bei der Xiaomi Yi Sports Camera sein müßte, doch das hat sich nach langen frustrierenden Stunden als falsch herausgestellt. Denn diese Kamera beginnt die Startsequenz nicht mit der gleichen sog. msg_id, obwohl beide Kameras den gleichen Chipsatz Ambarella verwenden.

Hier die Startsequenz für die Xiaomi Yi Sports Camera:

  1. Authenticate: {„msg_id“:257,“token“:0,“param“:0}
  2. Activate streaming: {„msg_id“:259,“token“:#TOKEN FROM AUTH PARAM#,“param“:“none_force“}

Ich habe den Datenverkehr zwischen der Kamera und meinem Androidhendi abgespeichert, in Wireshark analysiert und damit endlich die richtige Startsequenz herausgefunden.

Hier also die Startsequenz für das Aktivieren des Videodatenstromes der Rollei 5S Wifi(fettgedruckt sind die Befehle, normal die zu erwartenden Antworten, man sieht, daß man den „Token“ durch die msg_id 1 und nicht 257 bekommt und auch weitere Befehle notwendig sind):

  1. {„msg_id“:1,“token“:0,“param_size“:0}
  2. { „rval“: 0, „param_size“: 4, „param“: [ 1, 0, 0, 0 ], „session_id“: 1 }. # session_id enthält den „Token“, den du in den folgenden Befehlen nutzen mußt, damit die Kamera die Session zuordnen kann, hier ist der „Token“ 1.
  3. {„msg_id“:13,“token“:1,“param_size“:0}
  4. { „rval“: 0, „param_size“: 0, „session_id“: 1 }.
  5. {„msg_id“:6,“token“:1,“param_size“:0,“param“:“rtsp“,“type“:“stream type“}
  6. { „rval“: 0, „param_size“: 4, „session_id“: 1, „param“: „rtsp“, „readonly“: „video_tab;streaming;off“ }.
  7. {„msg_id“:6,“token“:1,“param_size“:0,“param“:“on“,“type“:“dual streams“}
  8. { „rval“: 0, „param_size“: 2, „session_id“: 1, „param“: „on“, „readonly“: „video_tab;video stamp;off“, „settable“: „video_tab;streaming;off“ }.
  9. {„msg_id“:6,“token“:1,“param_size“:0,“param“:“on“,“type“:“streaming“}
  10. { „rval“: 0, „param_size“: 2, „session_id“: 1, „param“: „on“ }.
  11. {„msg_id“:12,“token“:1,“param_size“:0}
  12. { „rval“: 0, „param_size“: 0, „session_id“: 1 }.