ruessel
Beiträge: 10581

DIY: DJI Pocket 4 Controller?

Beitrag von ruessel »

Hier ein ESP32-C6 Test-Code um zu versuchen die DJI Pocket 4 zu hacken, an der DJI Action 6 / 360 läuft es, benutzt das DJI R‑SDK‑Protokoll:

Code: Alles auswählen

#include <NimBLEDevice.h>

static NimBLEAdvertisedDevice* djiDevice = nullptr;
static NimBLEClient* client = nullptr;

static NimBLEUUID serviceUUID("0000fee7-0000-1000-8000-00805f9b34fb");
static NimBLEUUID charUUID("000036f5-0000-1000-8000-00805f9b34fb");

NimBLECharacteristic* controlChar = nullptr;

uint8_t recordToggleFrame[] = {
  0x55, 0x0A, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x63
};

class AdvertisedDeviceCallbacks : public NimBLEAdvertisedDeviceCallbacks {
  void onResult(NimBLEAdvertisedDevice* dev) override {
    if (dev->getName().find("DJI") != std::string::npos) {
      Serial.println("DJI Gerät gefunden!");
      djiDevice = dev;
      NimBLEDevice::getScan()->stop();
    }
  }
};

void setup() {
  Serial.begin(115200);
  NimBLEDevice::init("ESP32-DJI-Test");

  NimBLEScan* scan = NimBLEDevice::getScan();
  scan->setAdvertisedDeviceCallbacks(new AdvertisedDeviceCallbacks());
  scan->setActiveScan(true);
  scan->start(10, false);
}

void loop() {
  if (djiDevice && !client) {
    Serial.println("Verbinde zu DJI Gerät...");
    client = NimBLEDevice::createClient();

    if (client->connect(djiDevice)) {
      Serial.println("Verbunden!");

      NimBLEService* service = client->getService(serviceUUID);
      if (!service) {
        Serial.println("Service nicht gefunden!");
        return;
      }

      controlChar = service->getCharacteristic(charUUID);
      if (!controlChar) {
        Serial.println("Characteristic nicht gefunden!");
        return;
      }

      Serial.println("Sende Record Toggle Frame...");
      controlChar->writeValue(recordToggleFrame, sizeof(recordToggleFrame));

      Serial.println("Warten auf Antwort...");
    }
  }

  delay(2000);
}
Ich kann es nicht testen, da die Kamera noch nicht vor Ort ist. Diese Software versucht Kontakt zur Kamera zu bekommen:

- aktiviert BLE

- sucht nach DJI‑Geräten

- verbindet sich automatisch

- sendet einen Record‑Toggle‑Frame (Start/Stop)

- loggt jede Antwort der Pocket 4 im seriellen Monitor

Hinweis: Das ist ein Testprogramm, kein fertiger Controller.
Es prüft nur, ob die Pocket 4 das Protokoll versteht.

Damit könnte man einen kleinen drahtlosen Controller für die Kamera basteln, den es anscheinend nicht auf dem Markt gibt. Muss ja nicht immer nur das Smartphone mit App sein ;-)

Aber: Gilt dieses Protokoll auch für die DJI Pocket 4?
Hier wird es schwierig:

- DJI veröffentlicht kein offizielles SDK für die Pocket‑Serie.
- Es gibt keine Dokumentation, dass die Pocket 4 das gleiche R‑SDK‑Protokoll nutzt wie Osmo Action 6 oder Osmo 360.
- Die Pocket 4 lässt sich zwar per Smartphone steuern, aber DJI kapselt diese Kommunikation in der DJI Mimo App.

Es wird nie langweilig, sobald meine Pocket 4 da ist (zum WE) teste ich natürlich ob es klappt. Aber selbst wenn es klappt, wird die Entwicklung einer sinnvollen Anwendung wie z.B. Radargesteuerter Auslöser etc. noch etwas dauern, es liegen noch andere Projekte hier an, diese Bastelarbeit ist zwar spannend, muss aber trotzdem etwas warten ;-)
Gruss vom Ruessel



ruessel
Beiträge: 10581

Re: DIY: DJI Pocket 4 Controller?

Beitrag von ruessel »

Heute soll meine Pocket 4 geliefert werden und ich musste feststellen, ich habe nur noch freie ESP 32D hier liegen, sind günstige nachbauten des ESP32 WROOM Link: https://www.ebay.de/itm/317665795063. Daher wurde das Sketch nochmal für diesen Chip überarbeitet, kleinere Fehler wurden beseitigt. Ich benutze die "BLE" Bibliothek von 2017 Neil Kolban, nur diese funktioniert hier. Link dazu: https://github.com/espressif/arduino-esp32 zur Zeit die Version 3.3.8

Der Sketch läuft einwandfrei, habe es schon in einen Chip geladen - nur die Kamera zum Testen fehlt. Das Skript ist nicht nur für die Pocket, sondern für alle DJI Produkte die sich verbinden können. Damit hat man(n) einen Anhalt ob sich freie Entwicklungen für das Produkt überhaupt lohnen oder DJI legt ihre Protokolle in Zukunft frei offen. ;-)

Code: Alles auswählen

// DJI Kontaktsoftwaretest Ruesseltechnik V23.04.2026
// fuer ESP32 WROOM
#include <BLEDevice.h>
#include <BLEUtils.h>
#include <BLEScan.h>
#include <BLEAdvertisedDevice.h>

// DJI Pocket 4 BLE UUIDs
static BLEUUID djiServiceUUID("0000fdc0-0000-1000-8000-00805f9b34fb");
static BLEUUID djiControlCharUUID("0000fdc1-0000-1000-8000-00805f9b34fb");

BLEClient* client = nullptr;
BLERemoteCharacteristic* controlChar = nullptr;

BLEAdvertisedDevice* foundDev = nullptr;
bool connected = false;
bool scanning = false;

// Statusanzeige
unsigned long lastStatus = 0;
int scanSeconds = 0;
int dotCount = 0;

// Frame zum Start/Stop der Aufnahme
uint8_t recordToggleFrame[] = {0x03, 0x01, 0x00, 0x00};

class DJIAdvertisedDeviceCallbacks : public BLEAdvertisedDeviceCallbacks {
  void onResult(BLEAdvertisedDevice advertisedDevice) override {

    if (advertisedDevice.isAdvertisingService(djiServiceUUID)) {
      Serial.println("DJI Pocket 4 gefunden!");

      foundDev = new BLEAdvertisedDevice(advertisedDevice);
      scanning = false;

      BLEDevice::getScan()->stop();
    }
  }
};

void startScan() {
  Serial.println("Starte Scan...");
  scanning = true;
  scanSeconds = 0;
  dotCount = 0;

  BLEScan* scan = BLEDevice::getScan();
  scan->setAdvertisedDeviceCallbacks(new DJIAdvertisedDeviceCallbacks());
  scan->setActiveScan(true);
  scan->start(3, false);
}

bool connectToPocket() {
  if (!foundDev) return false;

  Serial.println("Verbinde zur DJI Pocket 4...");

  client = BLEDevice::createClient();

  if (!client->connect(foundDev)) {
    Serial.println("Verbindung fehlgeschlagen.");
    return false;
  }

  Serial.println("Verbunden!");

  BLERemoteService* service = client->getService(djiServiceUUID);
  if (!service) {
    Serial.println("Service nicht gefunden!");
    return false;
  }

  controlChar = service->getCharacteristic(djiControlCharUUID);
  if (!controlChar) {
    Serial.println("Control Characteristic nicht gefunden!");
    return false;
  }

  Serial.println("Control Characteristic bereit.");
  connected = true;
  return true;
}

void setup() {
  Serial.begin(115200);
  Serial.println("DJI Pocket 4 Auto-Scan/Auto-Reconnect gestartet...");

  BLEDevice::init("");

  startScan();
}

void loop() {

  // 1) Wenn nicht verbunden → Status anzeigen
  if (!connected) {

    // Jede Sekunde Status ausgeben
    if (millis() - lastStatus > 1000) {
      lastStatus = millis();
      scanSeconds++;

      // Punkt-Animation
      dotCount = (dotCount + 1) % 4;
      String dots = "";
      for (int i = 0; i < dotCount; i++) dots += ".";

      Serial.print("Pocket 4 suchen ");
      Serial.print(dots);
      Serial.print("  ");
      Serial.print(scanSeconds);
      Serial.println("s");
    }

    // Falls Scan fertig, aber kein Gerät → erneut scannen
    if (!scanning && !foundDev) {
      startScan();
      return;
    }

    // Gerät gefunden → verbinden
    if (foundDev && !connected) {
      if (connectToPocket()) {
        Serial.println("Bereit für Befehle.");
      } else {
        Serial.println("Neuer Versuch in 2 Sekunden...");
        delay(2000);
        foundDev = nullptr;
        startScan();
      }
      return;
    }

    return;
  }

  // 2) Wenn verbunden → Toggle senden
  if (connected && controlChar) {
    Serial.println("Sende Aufnahme-Toggle...");

    bool ok = controlChar->writeValue(recordToggleFrame, sizeof(recordToggleFrame), false);

    if (ok) Serial.println("Frame gesendet.");
    else    Serial.println("Fehler beim Senden.");

    delay(2000);

    if (controlChar->canRead()) {
      String resp = controlChar->readValue();
      Serial.print("Antwort: ");
      Serial.println(resp);
    }

    delay(3000);
  }

  // 3) Verbindung prüfen
  if (client && !client->isConnected()) {
    Serial.println("Verbindung verloren! Starte Reconnect...");
    connected = false;
    controlChar = nullptr;
    foundDev = nullptr;
    startScan();
  }
}
Gruss vom Ruessel



ruessel
Beiträge: 10581

Re: DIY: DJI Pocket 4 Controller?

Beitrag von ruessel »

Leider kein sofortiger Erfolg! Wäre ja auch zu einfach.

Wichtigste Erkenntnis: Die Pocket 4 sendet NICHT den DJI‑Service FDC0
Ich habe erwartet:

FDC0 → DJI Remote Control Service

FDC1 → Control Characteristic

Aber die Pocket 4 sendet:

👉Service UUID: FFF0 (Generic BLE Vendor Service)
Das bedeutet:

❗ Die Pocket 4 nutzt NICHT das gleiche BLE‑Protokoll wie die Pocket 2 oder Osmo Action.
❗ Sie sendet nur einen generischen Vendor‑Service (FFF0), kein DJI‑Remote‑Control‑Service.

Ich gebe aber noch nicht auf!

Dahinter bin ich mit diesem Programm gekommen, ein Schnüffler für alle Geräte in der Umgebung!
Die Osmo Pocket 4 meldet sich auch sofort wie folgt:
---- Gerät gefunden ----
Adresse: 4c:43:f6:17:3b:60
Name: OsmoPocket4-3B5F
RSSI: -34
RAW:
Name: OsmoPocket4-3B5F, Address: xx:xx:xx:xx:xx:xx, manufacturer data: aa08210000dxxxxxxxxx000000000, serviceUUID: 0000fff0-0000-1000-8000-00xxxxxxxxxxx, rssi: -34 (genaue Daten mit x hier im Forum anonym gemacht)
------------------------

Hier der Code für meinen SUPER-RAW-BLE-DEBUG-SCANNER ;-)
Die Pocket in der Nähe vom ESP32 legen, die Empfindlichkeit des Scanners habe ich stark gedämpft, ich will ja nicht noch das Bügeleisen der Nachbarn scannen, sind so schon genug Geräte die sich hier im Haus melden.

Code: Alles auswählen

// SUPER-RAW-BLE-DEBUG-SCANNER für ESP32
// Er scannt alles was in der Umgebung ist; Ruesseltechnik 23.04.2026

#include <BLEDevice.h>
#include <BLEUtils.h>
#include <BLEScan.h>
#include <BLEAdvertisedDevice.h>

unsigned long lastStatus = 0;
int scanSeconds = 0;
int packetCounter = 0;

class RawCallbacks : public BLEAdvertisedDeviceCallbacks {
  void onResult(BLEAdvertisedDevice d) override {

    packetCounter++;

    // Option A: Nur jedes 10. Paket anzeigen
    if (packetCounter % 10 != 0) return;

    // Option B: Nur starke Signale anzeigen
    if (d.getRSSI() < -85) return;

    Serial.println("---- Gerät gefunden ----");

    Serial.print("Adresse: ");
    Serial.println(d.getAddress().toString().c_str());

    Serial.print("Name: ");
    Serial.println(d.getName().c_str());

    Serial.print("RSSI: ");
    Serial.println(d.getRSSI());

    Serial.println("RAW:");
    Serial.println(d.toString().c_str());

    Serial.println("------------------------\n");
  }
};

void setup() {
  Serial.begin(115200);
  delay(2000);
  Serial.println("RAW BLE Debug Scanner gestartet!");

  BLEDevice::init("");

  BLEScan* scan = BLEDevice::getScan();
  scan->setAdvertisedDeviceCallbacks(new RawCallbacks());
  scan->setActiveScan(true);   // wichtig: holt auch Scan-Response
  scan->setInterval(100);
  scan->setWindow(99);
}

void loop() {

  // Jede Sekunde Status anzeigen
  if (millis() - lastStatus > 1000) {
    lastStatus = millis();
    scanSeconds++;
    Serial.print("Scanne... ");
    Serial.print(scanSeconds);
    Serial.println("s");
  }

  BLEDevice::getScan()->start(3, false);
  delay(200);
}
Gruss vom Ruessel
Zuletzt geändert von ruessel am Do 23 Apr, 2026 15:39, insgesamt 1-mal geändert.



ruessel
Beiträge: 10581

Re: DIY: DJI Pocket 4 Controller?

Beitrag von ruessel »

Jackpot.

Jetzt geht es ins eingemachte. Ich musste noch eine Software erstellen, die die Pocket 4 veranlasst sich zu melden und verrät was sie an Eingaben erwartet. Software dazu unten.

Erkenntnis:
DJI hat das Protokoll geändert das die Pocket 2, Osmo Action, Ronin etc. nutzen:

FDC0 / FDC1 (DJI Remote Control Service)

Die Pocket 4 nutzt:

FFF0 / FFF3 / FFF4 / FFF5

Das bedeutet:

👉 Der alte DJI‑Remote‑Control‑Code funktioniert nicht.
👉 Wir müssen das Protokoll der Pocket 4 reverse‑engineeren.

Die Pocket 4 zeigt drei Services:
(1) Generic Access (0x1800)
Standard‑BLE‑Service, nichts DJI‑spezifisches.

0x2A00 = Device Name
→ Wert: OsmoPocket4-5879
→ READ + WRITE (hier könnte man den Namen ändern)

(2) Generic Attribute (0x1801)
Standard‑Service für Service‑Änderungen. Firmware?
Nicht relevant für Steuerung.

(3) Vendor‑Service FFF0 (wichtig!)
Das ist der einzige DJI‑spezifische Service, den die Pocket 4 freigibt. Service UUID: FFF0

Nächster Schritt: Wir müssen herausfinden, welche Characteristic reagiert
Dazu brauchen wir einen Command‑Tester, der:

- sich verbindet

- FFF3, FFF4 und FFF5 einzeln testet

- kleine Test‑Frames sendet

- schaut, ob die Pocket 4 antwortet

- schaut, ob NOTIFY‑Events kommen

Damit finden wir heraus:

- welche Characteristic Befehle annimmt

- welches Format DJI erwartet

- ob Start/Stop möglich ist

- ob die Kamera eine Session‑ID oder ein Pairing‑Token braucht

das alles dauert nun ein wenig, auch ist es genug für heute...... wir sind jetzt mal sehr optimistisch und damit wirklich kurz davor, die Pocket 4 vollständig zu kontrollieren!

Code: Alles auswählen

// SERVICES DER POCKET 4 auslesen.
// Ruesseltechnik 23.04.2026

#include <BLEDevice.h>
#include <BLEUtils.h>
#include <BLEScan.h>
#include <BLEClient.h>

static BLEAddress pocketAddr("4c:43:f6:17:3b:60");  // Deine Pocket 4 MAC hier einsetzen, mein SUPER-RAW-BLE-DEBUG-SCANNER Sketch dazu benutzen!!
BLEClient* client;

void printHexFromString(const String &data) {
  Serial.print("    Value (hex): ");
  for (size_t i = 0; i < data.length(); i++) {
    char buf[4];
    sprintf(buf, "%02X ", (uint8_t)data[i]);
    Serial.print(buf);
  }
  Serial.println();
}

void exploreServices(BLEClient* client) {
  auto services = client->getServices();

  Serial.println("\n==============================");
  Serial.println("   SERVICES DER POCKET 4");
  Serial.println("==============================");

  for (auto const& entry : *services) {
    BLERemoteService* service = entry.second;

    Serial.print("\nService UUID: ");
    Serial.println(service->getUUID().toString().c_str());

    auto chars = service->getCharacteristics();

    for (auto const& centry : *chars) {
      BLERemoteCharacteristic* ch = centry.second;

      Serial.print("  Characteristic UUID: ");
      Serial.println(ch->getUUID().toString().c_str());

      Serial.print("    Properties: ");
      if (ch->canRead()) Serial.print("READ ");
      if (ch->canWrite()) Serial.print("WRITE ");
      if (ch->canWriteNoResponse()) Serial.print("WRITE_NR ");
      if (ch->canNotify()) Serial.print("NOTIFY ");
      if (ch->canIndicate()) Serial.print("INDICATE ");
      Serial.println();

      // Wert auslesen, falls möglich
      if (ch->canRead()) {
        String val = ch->readValue();  
        printHexFromString(val);
      }
    }
  }
}

void setup() {
  Serial.begin(115200);
  delay(2000);
  Serial.println("Pocket 4 BLE Service Explorer gestartet!");

  BLEDevice::init("");

  client = BLEDevice::createClient();
}

void loop() {

  if (!client->isConnected()) {
    Serial.println("Verbinde mit Pocket 4...");

    if (client->connect(pocketAddr)) {
      Serial.println("Verbunden!");
      exploreServices(client);
    } else {
      Serial.println("Verbindung fehlgeschlagen. Neuer Versuch in 3s...");
      delay(3000);
      return;
    }
  }

  Serial.println("\nFertig. Explorer läuft nicht erneut.");
  while (true) delay(1000);
}

Gruss vom Ruessel



ruessel
Beiträge: 10581

Re: DIY: DJI Pocket 4 Controller?

Beitrag von ruessel »

Zu früh gefreut und zu optimistisch gewesen. Habe mir die halbe Nacht damit um die Ohren gehauen und diverse Versuche unternommen die Pocket 4 zu steuern. Deshalb hier ein kurzes Innehalten und alle Erkenntnisse zusammen fassen.

Kurzfassung zuerst: Die Pocket 4 hat meine Befehle nicht angenommen, weil der BLE‑Kontrollkanal ohne einen gültigen, dynamisch erzeugten Session‑Handshake gesperrt bleibt.
Alles, was ich gesendet habe, kam an – aber die Kamera hat es bewusst ignoriert.

Langfassung:
1) Die Pocket 4 akzeptiert BLE‑Verbindung – aber nicht die Steuerung
Ich konnte:
- verbinden
- NOTIFY aktivieren
- auf FFF3 / FFF4 / FFF5 schreiben

Das heißt: die Hardware‑Ebene war korrekt.
Die Kamera blockiert aber die logische Steuerungsebene.

2. DJI verwendet bei der Pocket 4 ein neues, verschlüsseltes Protokoll
Frühere DJI‑Geräte (Pocket 2, OM‑Gimbals, Action 2/3) nutzten:

- unverschlüsselte FDC0/FDC1‑Services
- einfache Handshake‑Frames (bekannt aus Reverse‑Engineering)

Die Pocket 4 nutzt:

- FFF0‑Servicefamilie
- verschlüsselte Session‑Authentifizierung
- dynamische Challenge‑Response‑Frames, die pro Verbindung neu generiert werden

Ohne diese Challenge‑Response bleibt der Kanal read/write‑fähig, aber inaktiv.

3. Alle gesendeten Befehle wurden verworfen
ich habe:
- Test‑Frames gesendet
- alte DJI‑Handshake‑Frames getestet
- NOTIFY aktiviert

Ergebnis:
- 0 Antworten
- 0 Notify‑Frames
- 0 Fehlercodes

Das ist typisch für ein locked control channel Verhalten:
Die Kamera nimmt Frames entgegen, prüft sie, erkennt „kein gültiger Session‑Key“ und verwirft sie still.

4. Der Auto‑Handshake‑Tester (Software veröffentliche ich nicht) hat bestätigt: kein bekannter Handshake funktioniert
ich habe alle bekannten DJI‑Handshake‑Varianten durchprobiert.
Keiner wurde akzeptiert, also ist klar hier ein neues, unbekanntes Protokoll.

Damit ist auch klar:
DJI hat das Protokoll komplett geändert und verschlüsselt.

5. Warum sendet die Pocket 4 nicht einmal Status‑Notify?
Weil Notify erst nach erfolgreichem Session‑Handshake aktiviert wird.
Ich konnte zwar NOTIFY technisch aktivieren, aber die Kamera sendet erst Daten, wenn der Session‑Key stimmt.

Jetzt wäre eigentlich der Punkt sich von den DJI Ingenieuren geschlagen zu geben und das Projekt zu beenden. Aber eine Idee habe ich noch: Den Funkverkehr zwischen der Mimo App und der Pocket zu belauschen! Es brauchen ja nur die verschlüsselten Daten als Muster gesendet werden - den Inhalt muss ich nicht verstehen. (sehr stark vereinfacht, da die Muster jedesmal wechseln, Record z.B. hat jedesmal wenn er gedrückt wird ein anderes Muster - Mustererkennung ist dann KI arbeit)

Um jetzt weiter zu kommen, reicht kein üblicher ESP32 aus um das verschlüsselte Signal in der gesamten Tiefe zu analysieren, dazu braucht es einen Spezial Chip der echtes "Sniffing" beherrscht. Habe damit noch nie gearbeitet aber muss ja nicht so bleiben. Der Spezialchip ist bestellt, in einer Woche sollte er da sein und dann geht hoffentlich die Sonne auf...... und die Pocket 4 denkt, sie redet mit der Mimo app.
Gruss vom Ruessel



ruessel
Beiträge: 10581

Re: DIY: DJI Pocket 4 Controller?

Beitrag von ruessel »

Der Händler hat doch kein BT Sniffermodul mehr liegen. Musste es heute in den USA bestellen, kommt zwar mit dem Flugzeug (noch ist genug Kerosin wohl vorhanden) wird aber etwas länger dauern, wegen dem Zoll. Interessant ist, um die Eigenschaft des Sniffen richtig zu aktivieren, hat der Hersteller die gesamte Software dazu vom Markt genommen. Auch die Spiegelserver von Privat sind aus den USA verschwunden. Nur mit Hilfe der KI konnte ich eine kleine Quelle finden wo die ZIP Datei noch vorhanden rumlag, hätte ich selber nie gefunden, wird in Google nicht angezeigt.

Dann kann ich in der Zwischenzeit mich mit dem Stereoton in der Pocket 4 beschäftigen und ausmessen, wie gut ist er denn nun wirklich?
Gruss vom Ruessel



 Aktuelle Beiträge [alle Foren]
 
» Amazon MGM Studios setzt neue KI-Plattform für Filmproduktionen ein
von philr - So 0:16
» Christopher Nolans "The Odyssey" - offizieller Trailer
von iasi - Sa 22:23
» AI-Diskussionsthread - Pro/Kontra?
von MaxSchreck - Sa 22:03
» Was schaust Du gerade?
von Darth Schneider - Sa 20:09
» Entwickel einen STIL als Regisseur - ROLAND EMMERICH
von Lacu - Sa 16:39
» Freier Video-Codec AV2 ist final - AV1-Nachfolger soll 30% effektiver sein
von cantsin - Sa 16:08
» Was hast Du zuletzt gekauft?
von cantsin - Sa 8:50
» GoPro vor der Schuldenklemme - weiteres Bestehen steht auf dem Spiel
von iasi - Fr 21:46
» DaVinci Resolve 21 Studio FINAL - Absturz bei CineFocus
von iasi - Fr 20:56
» Sony FX3 Mark II: Was verraten uns die Sony A7R VI, A7 V und FX2 über den FX3 Nachfolger?
von Helge Renner - Fr 18:02
» Cinelux Sixteen Hybridkamera
von Darth Schneider - Fr 17:59
» Martin Scorsese sieht KI-Storyboards als "kreativ befreiend"
von MaxSchreck - Fr 17:06
» Kinefinity VISTA - geschrumpfte 6K-FF-Kinokamera für 2.499 US-Dollar
von slashCAM - Fr 14:48
» SmallHD OLED 16 vorgestellt - echtes Schwarz für On-Set-Workflows
von slashCAM - Fr 12:06
» Nikon ZR in der Praxis: 6K 50p RED RAW Monster für 2.349,- Euro mit klassenbester Colorscience?
von Jott - Fr 11:58
» Kinefinity Vista - kompakte 6K-Vollformat Cine-Cam gesichtet
von iasi - Fr 6:00
» Blackmagic DaVinci Resolve 21 ist final!
von berlin123 - Do 21:40
» Sony entwickelt RIALTO 65mm-Sensor für VENICE 2
von tom - Do 15:13
» Was muss man über Schauspieler wissen? FLORIAN GALLENBERGER
von Nigma1313 - Do 12:00
» Blackmagic veröffentlicht Fairlight Live 1 Beta 3 mit neuen Funktionen
von slashCAM - Do 11:39
» Zeiss Horizon 2x Anamorphic-Serie mit integrierten Motoren vorgestellt
von philr - Mi 21:57
» GoPro MISSION 1 Pro - 8K-Actioncams mit 1-Zoll-Sensor und MFT-Mount
von Darth Schneider - Mi 21:34
» Sony DVW-970P Digital Betacam + Canon YJ20x8.5B4 KRS SX12
von Burion - Mi 18:58
» Thypoch Simera-C 16mm T1.9 - neu in der Cine-Objektivserie
von slashCAM - Mi 18:12
» NVIDIA RTX Spark - mobile ARM-Laptops mit bis zu 128 GB und 1 Petaflop
von iasi - Mi 16:37
» Blackmagic PYXIS 6K bekommt Phasendetektions-Autofokus und Stream-Routing
von slashCAM - Mi 14:27
» StemDeck - Kostenlose Stem-Trennung lokal, ohne Cloud und Abo
von AndreasBuder - Di 18:40
» Die besten DSLMs für Video 2026: Blackmagic, Nikon, Sony, Canon, Panasonic - welche Kamera wofür?
von rob - Di 16:13
» RED V-RAPTOR Firmware 2.2.4 bringt schnelleren Start, weniger Stromverbrauch und mehr
von slashCAM - Di 15:04
» AV2-Codec mit 30% weniger Bitrate als AV1
von cantsin - Di 10:56
» Karneval der Kulturen Berlin 2026.
von 123oliver - Di 10:38
» !!BIETE!! DJI Mini 5 Pro Fly More Combo RC2
von klusterdegenerierung - Mo 21:50
» Netflix, Disney und Co. müssen in Deutschland in Filmproduktionen investieren
von stip - Mo 20:35
» Sennheiser MKE440 quasi neu in OVP
von MeisterAlterKlassen - Mo 17:14
» TTartisan 75mm/2.0 Nikon Z in OVP
von MeisterAlterKlassen - Mo 17:12