Pregătești
Sie wählen den Inhalt des Codes oder die Datei, die Sie übertragen möchten.
Instrumente în browser Instrument public
MEGA QR enthält einen Codegenerator und ein optisches Übertragungstool. Sie erstellen einen Code für einen Link, Wi-Fi oder Kontakt; für die Übertragung zeigt ein Bildschirm eine Folge von Codes an, die die Kamera des anderen Geräts zu einer Datei rekonstruiert.

MEGA QR
Sie wählen den Inhalt des Codes oder die Datei, die Sie übertragen möchten.
Der Generator erzeugt das QR-Bild. Die optische Übertragung zeigt aufeinanderfolgende Frames an.
Die Kamera liest den Code oder sammelt Frames, bis sie die Datei rekonstruieren kann.
Link, WLAN, Kontakt und andere Inhaltstypen; Export als PNG oder SVG.
Zwischen Bildschirm und Kamera übertragene Daten, ohne Netzwerkverbindung zwischen den Geräten.
Die Generierung und Rekonstruktion erfolgen im Browser, ohne Benutzerkonto.
Die optische Übertragung hängt von Kamera, Licht, Entfernung und Bildschirm ab. Das sendende Gerät erhält keine Empfangsbestätigung. Ein öffentlich angezeigter Code kann von allen gelesen werden, die ihn sehen.
MEGA QR im Detail
MEGA QR sind zwei Werkzeuge auf derselben Domain, und das zweite ähnelt dem ersten überhaupt nicht. Der Generator erstellt QR-Codes für acht Inhaltstypen: Link, Text, WLAN, Visitenkarte, WhatsApp, E-Mail, SMS, Telefon und Koordinaten. Die optische Übertragung verschiebt eine ganze Datei von einem Bildschirm auf eine Kamera, ohne Kabel, ohne Bluetooth, ohne Netzwerk zwischen den beiden Geräten.
Beide laufen vollständig im Browser. Die Seiten stellen keine Anfragen an Dritte, und die beiden WebAssembly-Binaries, von denen die Übertragung abhängt, werden aus public/wasm/ ausgeliefert, nicht von einem CDN — andernfalls wäre das Versprechen, dass nichts das Gerät verlässt, falsch. Ein im Generator eingegebenes WLAN-Passwort gelangt niemals auf einen Server.
Die Idee, die Sie bei der Übertragung verstehen sollten: Ein Bildschirm sendet Licht aus, eine Kamera liest es, und der Empfänger kann nichts zurück anfordern. Es gibt keinen Rückkanal. Daraus folgt alles Weitere — die Frames beschreiben sich selbst, ihre Reihenfolge spielt keine Rolle, jede ausreichend große Teilmenge rekonstruiert die Datei, und der Absender kann niemals wissen, ob etwas angekommen ist.
Link, Text, WLAN, vCard, WhatsApp, E-Mail, SMS, Telefon und Geolokalisierung. Wenn Sie ein Logo einfügen, wird die Fehlerkorrekturstufe zwangsweise auf H gesetzt, die höchste — ein Logo macht ein Loch in den Datenbereich, und der Code überlebt sonst nicht. Das Logo ist auf 35% der Fläche begrenzt, mit einer Warnung ab 30%. Der Export wird getrennt von der Vorschau gerendert, damit ein PNG mit 4096 px das auf dem Bildschirm Gezeigte nicht beeinträchtigt.
Die Generierungsbibliothek qr-code-styling 1.9.2 konvertiert ihren Text mit charCodeAt(i) & 0xFF und schneidet still jede rumänische Diakritika und auch das gesamte Kyrillische ab: „Ștefan Țurcanu” wurde zurückgescannt als „tefan urcanu”. Wir kodieren selbst in UTF-8, bevor es sie sieht, damit ihr Abschneiden nichts mehr zum Abschneiden hat. Auch die WiFi- und vCard-Payloads werden escaped — ein „;“ in einem Passwort oder ein Komma in einem Firmennamen beschädigte sonst den Code, ohne jedes Zeichen.
Die Datei wird in einen Umschlag gepackt (Name, MIME-Typ, Größe, SHA-256), mit gzip komprimiert, wenn sie kleiner wird, dann über RaptorQ (RFC 6330) gegeben. Jeder Rahmen trägt einen festen Header von 20 Oktetts und ein oder mehrere Pakete. Es kommt nicht darauf an, welche Rahmen Sie erwischen, sondern wie viele: jede ausreichend große Teilmenge rekonstruiert die Datei. Gemessen an tatsächlich gerenderten Pixeln beträgt der RaptorQ-Overhead 1,000x — die LT-Codes, die Referenzprojekte verwenden, verlangen 1,15x.
Die zweite Sendeart ist eine feste Runde, die sich endlos wiederholt, ohne Sitzung und ohne jemanden, der auf Start drückt. Die Länge der Runde wird in jedem Rahmen mitgeführt, sodass ein Vorbeigehender, der die Kamera ausrichtet, schon aus dem ersten erfassten Code weiß, wie lange alles dauert, statt ein Rädchen zu sehen. Die Referenzkonfiguration sind 36 Rahmen bei 12 pro Sekunde — eine Runde von drei Sekunden, die 25 KB aus einem einzigen einfachen schwarz-weißen Code trägt. Ein ganzes Menü oder der vollständige Fahrplan einer Station.
Die Anzahl der Codes auf dem Bildschirm, die Farbe und die QR-Version sind drei unterschiedliche Begrenzungen und werden separat geregelt. Die Dichteskala hat 29 Stufen, von v10 auf einer einzigen Spur (7 KB/s bei 30 Bildern pro Sekunde) bis v39 auf vier Spuren in Farbe (959 KB/s). Es gibt auch eine vollständige Skala ohne Farbe, bis 320 KB/s, weil eine Kamera, deren Chrominanz ausfällt, nicht auf einer einzigen Spur festhängen sollte.
Daten und Funktionsweise
Von der Erkundung zur Implementierung
Ein QR-Code führt zu kurzen Inhalten und, wenn es ein Link ist, zu einer Seite, die Sie später ändern können — der gedruckte Code ändert sein Ziel nicht von selbst. Die optische Übertragung verschiebt eine Datei zwischen zwei Geräten, die nicht über ein Netzwerk kommunizieren dürfen oder können. Das sind unterschiedliche Aufgaben, und die Verwechslung zwischen ihnen ist die häufigste.
Für den Druck: Kontrast, Endgröße, freie Zone darum herum, getestet in der Größe, in der es aufgeklebt wird. Für die Übertragung: wie groß ein Modul auf dem Kamerasensor landet. Unter einem harten Linsenmodell (verschobenes Chrominanztgitter um ein Pixel plus eine 3x3-Unschärfe) liefert Farbe alle drei Codes bei 4 Gerätepixeln pro Modul zurück und absolut nichts bei 2. Das ist die reale Grenze, und deshalb ist Farbe die Wahl des Menschen, nicht des Controllers.
Unsere Suite durchläuft eine authentische Kamerakette — die Frames werden als YUV 4:2:0 geschrieben und Chrome als falsche Webcam übergeben, also ist die Chroma-Subsampling real. Was sie nicht hat: Objektiv, Reflexionen, Bewegung, Rolling Shutter. Zehn Minuten mit einem echten Telefon liefern die erste ehrliche Zahl und sind der nächste Schritt auf unserer Arbeitsliste, kein Detail.
Durch eine simulierte Kamerakette, bei 10 Bildern pro Sekunde, mit Codes, die den größten Teil des Bildes bei 3-5 Kamera-Pixeln pro Modul füllen, kamen alle vier Konfigurationen mit verifiziertem Hash heraus: Schwarzweiß auf einem Streifen 15,8 KB/s, Schwarzweiß auf vier Streifen 37,7 KB/s, Farbe auf einem Streifen 40,1 KB/s, Farbe auf vier Streifen 115,7 KB/s. Farbe auf einem einzigen Streifen schlägt Schwarzweiß auf vier. Die Fehlerrate war überall null. Merken Sie sich, woher die Zahlen kommen: geometrisch perfekte Frames, ohne Objektiv und ohne Bewegung. Ein echtes Telefon wurde ihnen noch nicht vorgehalten.
Die Kamera wird mit 1920x1080 bei 30 Bildern pro Sekunde verlangt, mit Bevorzugung der Rückkamera; wenn Android die Einschränkung ablehnt, fallen wir auf irgendeine Kamera zurück. Jeder erfasste Frame wird vor der Decodierung auf 1280 px an der langen Seite reduziert. Entscheidend ist nicht die Auflösung, sondern wie viele Sensorpixel auf ein Modul fallen: Schwarzweiß braucht ungefähr drei, Farbe ungefähr doppelt so viele, weil die Videokette des Telefons gewöhnlich 4:2:0 liefert und beide Farbebenen in beide Richtungen halbiert. Feine Farbdetails sind das Erste, was eine echte Kamera zerstört.
Weil das einzige, was das sendende Gerät messen kann, ist, wie viele Symbole seine eigenen Kodierer im Vergleich zu den angeforderten erzeugt haben — eine Aussage über einen Prozessor, nicht über eine Kamera zwei Handbreit entfernt. Ein Laptop verpasst nie eine Stufe, also fährt ein Controller, der „null Fehlraten“ als „weitermachen“ liest, bis ganz nach oben und zeigt vier Codes auf dem Bildschirm an, die sich dreißig Mal pro Sekunde ändern und von nichts gescannt werden können. Das wurde tatsächlich einmal ausgeliefert, und ein Mensch hat es innerhalb einer Minute gefunden. Jetzt ist der Automatikmodus auf einen Streifen, Schwarzweiß, Version 26 und 15 Bilder pro Sekunde begrenzt. 15 ist keine runde Zahl: Eine Telefonkamera zeichnet bei 30 auf und ist nicht mit dem Bildschirm synchronisiert, also muss ein Frame zwei aufeinanderfolgende Belichtungen lang angezeigt werden — 67 ms — damit er vollständig erfasst wird.
Nichts Besonderes, und genau das ist der Sinn. Es gibt keine Sequenznummern, die wiederhergestellt werden müssten. Der Kodierer erzeugt Reparaturpakete im Verhältnis 2x zu den Quell-Symbolen — gemessen an diesem Code: Bei 60% Frameverlust stellt ein Satz von ungefähr 2x K 2 MB wieder her, ohne dass die Liste jemals ein zweites Mal abgespielt wird. Das absolute Limit sind 60.000 Pakete; darüber hinaus spielt der Sender die Liste einfach öfter erneut ab, was Zeit kostet, nicht Speicher. Wenn trotzdem etwas schiefgeht, fängt der SHA-256-Hash das ab, und der Transfer schlägt ausdrücklich fehl, statt eine beschädigte Datei zu liefern.
Nein, und das ist kein Versäumnis. Es gibt keinen Rückkanal — ein Bildschirm sendet Licht, und Licht kehrt nicht mit Bestätigungen zurück. Der Abschluss wird auf dem empfangenden Gerät sichtbar. Jede Oberfläche, die etwas anderes behaupten würde, würde lügen, und wir hatten bereits einmal einen Test, der genau diesen Beweis lieferte, den das Produkt nie hat: Die Simulation berechnete ihre Fehlerrate aus dem, was die simulierte Kamera tatsächlich auflösen konnte. Das ist ein Rückkanal. Wenn ein Test und der ausgelieferte Code sich darüber nicht einig sind, was gewusst werden kann, ist der Test derjenige, der lügt.
32 MB, bei der Auswahl abgelehnt, wenn sie größer ist. Das Limit kommt nicht vom Protokoll, sondern aus dem Speicher eines Browser-Tabs: RaptorQ materialisiert alle Pakete auf einmal, und eine 50-MB-Datei bei 2x-Rate würde 150 MB lebende Arrays bedeuten, genug, um den Tab eines Telefons zu töten. Die Kodierung läuft synchron auf dem Hauptthread und wurde auf 2,5 Sekunden für 32 MB auf dem Computer gemessen. Was tatsächlich übertragen wird, ist nicht die Dateigröße: Der Umschlag wird vor RaptorQ mit gzip komprimiert, also ist eine 1-MB-Tabelle nur wenige Kilobyte Pakete, und ein 1-MB-Foto ist ein Megabyte Pakete.
Weder noch. Es gibt kein Konto und kein Abonnement. Nach dem ersten Besuch funktionieren die Seiten ohne Netzwerk, weil alles — einschließlich der beiden WebAssembly-Binaries — von der eigenen Domain ausgeliefert wird. Es lohnt sich auch zu sagen, was wir unterwegs gelernt haben: Ein registrierter Service Worker bedeutet nicht Offline-Support. Beim ersten Laden werden die Seite und ihre Ressourcen geladen, bevor der Worker die Kontrolle übernimmt, also sieht sein Handler sie nie. Die Seite meldet ihre eigenen Ressourcen über die Performance API, statt etwas anzunehmen.
Beispiel zur Veranschaulichung
Ein Nutzungsszenario, ohne Kundendaten oder zugeordnete kommerzielle Ergebnisse.
Ein Bildschirm in einer Station oder ein Schaufenster muss Vorbeigehenden eine Datei liefern — den vollständigen Fahrplan, die Speisekarte, ein Formular — ohne öffentliches WiFi, ohne Konto und ohne dass jemand etwas drückt.
Der Bildschirm läuft als Karussell: 36 Bilder bei 12 pro Sekunde, eine drei Sekunden lange Runde, die sich endlos wiederholt. Die Dichte ist für die Dauer des Karussells fest, weil eine Runde nur dann ein Versprechen ist, wenn ihre Länge eingehalten wird. Die Länge der Runde wandert in jedem Bild mit, also weiß ein Telefon, das den ersten Code erfasst, sofort, wie lange alles dauert.
Der Vorbeigehende filmt drei Sekunden und erhält 25 KB, im Browser rekonstruiert, mit SHA-256 überprüft, aus einem einzigen einfachen schwarz-weißen Code. Der Bildschirm erfährt nicht, dass er gelesen wurde, und kann es auch nicht.
Ce este necesar:Un ecran care poate ține un cadru afișat 83 ms fără sfâșiere, lumină în care codul nu e spălat de reflexii, și o cameră care rezolvă aproximativ trei pixeli de senzor per modul. Cifra de 25 KB e derivată din aceleași funcții pe care le folosește expeditorul, nu tastată de mână alături de ele.
Möglichkeiten der Zusammenarbeit
Codes für den Zugriff auf öffentliche Informationen, Anweisungen oder Kontakte; optischer Dateitransfer zwischen kompatiblen Geräten, mit Bewertung der Sicherheitsrichtlinien der Institution.
Wir definieren einen Pilot rund um einen realen Prozess: Nutzer, Daten, Integrationen, Kosten und Abnahmekriterien. Die Erweiterung erfolgt nach der Bewertung des Ergebnisses.
Wir legen die Anforderungen an Zugänglichkeit, Hosting, Datenschutz und Interoperabilität fest. Jede Verbindung mit AGE- oder STISC-Diensten erfordert die Validierung der Berechtigung, des Zugriffs und der Genehmigungen.
Dies sind Anpassungsszenarien, keine Aussagen über bestehende Verträge oder Partnerschaften. Die vorgeschlagenen Funktionen werden im Arbeitsbereich des Projekts bestätigt.
Discută un pilotonGDPR.md prüft die öffentliche Oberfläche einer Website: Cookies, Tracker, Formulare und Informationsdokumente.
Platformă publicăMegaforms untersucht das Erfassen von Antworten über konversationelle Formulare, einschließlich Sprachantworten und Transkription.
Dezvoltare & demonstrațiiWir bauen eine Plattform für digitale Menüs und per QR zugängliche Abläufe.
Dezvoltare & demonstrațiiErzählen Sie uns von Ihrem Prozess. Gemeinsam legen wir fest, was sich zu bauen lohnt, was wir anbinden können und wie wir das Ergebnis prüfen.