BIB-Scanner
App-Aufbau
Toolbar (oben)
| Symbol | Funktion |
|---|---|
| ℹ️ Info | Hilfe & Kontakt öffnen |
| ⚙️ Einstellungen | OCR-, Kamera- und Verbindungs-Einstellungen |
| 🎬 Video | Videobibliothek des aktuellen Laufs öffnen |
| 🖼 Fotos | Fotobibliothek des aktuellen Laufs öffnen |
| 📁 Läufe | Lauf-Sheet öffnen: Läufe verwalten, TeamRacePilot-Läufe wechseln |
| ➕ Neuer Lauf | Aktuellen Lauf sichern und neuen freien Lauf starten |
| Modus-Symbol (grün) | Scan-Modus wechseln (Action Sheet) |
Kamerabereich (Mitte)
Zeigt das Live-Kamerabild (60 % des Bildschirms). Im Tastatur-Modus ist das Kamerabild ausgeblendet — stattdessen erscheinen großer Timer, Eingabefeld und Ziffernpad.
Antippen des Kamerabilds hat je nach Modus eine unterschiedliche Wirkung:
| Modus | Aktion bei Antippen |
|---|---|
| BIB-Scan | OCR-Scan auslösen |
| QR-Scan | QR-Scan auslösen |
| Aufnahme + BIB | Foto aufnehmen (OCR später in Bibliothek) |
| Aufnahme + QR | Foto aufnehmen + QR sofort auslesen |
| Bewegungsaufnahme | — (kein Tap-Auslöser; Aufnahme über Aufnahme-Button) |
Im Kamerabild sind überlagert sichtbar:
- Laufname & Zähler (oben links) — antippen zum Umbenennen
- REC-Indikator (oben rechts) — bei laufender Aufnahme: „REC" (rot) · „BEREIT" (gelb, bei Bewegungsaufnahme) · „PAUSE" (orange)
- Stoppuhr (unten Mitte) — grün = läuft, weiß = gestoppt
- Grünes ROI-Fenster — der Ausschnitt für OCR/QR-Auswertung (sichtbar in: BIB-Scan, QR-Scan, Bewegungsaufnahme; nicht bei Aufnahme-Modi)
- Zoom & Taschenlampe (rechts) — +/–-Buttons und Torch-Button
- Aufnahme-Button (roter Kreis, rechts unten) — nur bei Bewegungsaufnahme: Aufnahme starten/stoppen
Listenbereich & Timer (unten)
Die erfassten Einträge (Startnummer + Zeit) erscheinen als scrollbare Liste. Rechts daneben die Timer-Spalte:
| Button | Aktion |
|---|---|
| START (grün) | Stoppuhr starten |
| STOP (rot) | Stoppuhr anhalten (gleicher Button zeigt dann WEITER) |
| RESET (orange) | Stoppuhr auf 0 zurücksetzen — löscht auch die gespeicherten Zeiten aller Einträge in der aktuellen Liste |
Untere Buttonreihe
| Button | Farbe | Funktion |
|---|---|---|
| 🗑 Löschen | Rot | Alle Einträge des aktuellen Laufs löschen (mit Bestätigung) |
| 📋 Kopieren | Blau | Liste in Zwischenablage kopieren (nur gleiche Apple-ID / Universal Clipboard) oder direkt an TeamRacePilot senden |
| ↑ Exportieren | Grün | CSV-Datei exportieren (AirDrop, Mail, Dateien …) |
| ➕ Plus | Grün | Leeren Eintrag hinzufügen (manuell befüllen) |
BIB-Scan (OCR)
Der Standard-Modus. Die Kamera analysiert das Bild im grünen ROI-Fenster und erkennt die Startnummer per OCR (Apple Vision Framework). Eine Nummer wird erst übernommen, wenn die OCR sie mit ausreichender Konfidenz erkannt hat.
Funktioniert am besten im Zielkanal: Die Läufer kommen einzeln, bleiben kurz stehen oder laufen langsam durch — ideal für sicheres Antippen oder Burst-Scan. Während des laufenden Rennens (schnelle Vorbeiläufer ohne Stopp) ist die Erkennungsrate eingeschränkt.
Auslöser
- Antippen des Kamerabilds — einzelner Scan
- Lautstärketaste (Lauter oder Leiser) — einzelner Scan
- Burst-Scan — nach einem Scan läuft die OCR kurz weiter (Dauer einstellbar), um bei schnellen Läufern mehrere Chancen zu haben
ROI-Fenster anpassen
- Verschieben: Grünes Fenster ziehen
- Größe ändern: Grünen Punkt an der Ecke ziehen
Das ROI-Fenster so positionieren, dass nur die Startnummer darin sichtbar ist — kein Hintergrundtext. Das reduziert Fehlerkennungen erheblich.
Ziffernanzahl, Duplikatschutz und Substring-Filter lassen sich in den Einstellungen anpassen.
QR-Scan
Liest QR-Codes auf Startnummern aus. Der enthaltene Text (in der Regel die Startnummer) wird direkt in die Liste übernommen.
Wie BIB-Scan am besten im Zielkanal geeignet. Während des laufenden Rennens eingeschränkt — QR-Codes müssen nah genug und scharf im ROI-Fenster sichtbar sein.
Auslöser
- Antippen des Kamerabilds — einmaliger Scan
- Lautstärketaste (Lauter oder Leiser) — einmaliger Scan
ROI-Fenster
Auch im QR-Scan ist ein grünes ROI-Fenster sichtbar. Es legt den Ausschnitt fest, in dem nach QR-Codes gesucht wird. Verschieben und Größe anpassen wie im BIB-Scan.
QR-Scan eignet sich besonders dann, wenn die Startnummern physisch gedruckte QR-Codes tragen — schneller und fehlerfreier als OCR.
Tastatur-Modus
Das Kamerabild ist ausgeblendet. Stattdessen erscheint ein großes Ziffernpad. Ideal bei schlechten Lichtverhältnissen oder wenn die Kamera nicht genutzt werden soll.
Bedienung
- Modus-Menü (grünes Symbol) → Tastatur wählen
- Startnummer über das Ziffernpad eingeben
- ⏎-Taste drücken — Nummer wird mit aktueller Rennzeit übernommen
Der Stoppuhr-Wert wird auch im Tastatur-Modus groß angezeigt, damit der Zeitnehmer ihn ablesen kann.
Aufnahme + BIB / QR
Zwei Modi, die ein Foto aufnehmen und daraus die Startnummer lesen:
| Modus | Auswertung | Wann sinnvoll |
|---|---|---|
| Aufnahme + BIB | OCR wird in der Fotobibliothek nachträglich ausgeführt | Hohe Geschwindigkeit — erst fotografieren, dann auswerten |
| Aufnahme + QR | QR-Code wird sofort aus dem Foto gelesen. Wird kein QR erkannt: Eintrag mit leerer Nummer, Zeit bleibt erhalten. Nachträglicher QR-Scan in der Fotobibliothek möglich. | QR-Codes auf Startnummern, sofortiges Ergebnis gewünscht |
Bedienung
- Modus wählen (Aufnahme + BIB oder Aufnahme + QR)
- Antippen oder Lautstärketaste → Foto wird aufgenommen
- Bei Aufnahme + BIB: Fotobibliothek öffnen → OCR auf einzelne oder alle Fotos anwenden
- Bei Aufnahme + QR: QR wird sofort erkannt und in die Liste übernommen. Wird kein QR gefunden, erscheint ein Eintrag mit leerer Nummer — Zeit ist trotzdem gespeichert. Nummer manuell ergänzen oder nachträglich per „QR-Scan starten" in der Fotobibliothek (🖼) auswerten
Im Modus Aufnahme + BIB wird die Rennzeit zum Aufnahmezeitpunkt gespeichert — das Foto hat also bereits den richtigen Zeitstempel, auch wenn die OCR erst später läuft.
Bewegungsaufnahme
Die Kamera nimmt nur dann auf, wenn im Bild Bewegung erkannt wird. So entsteht ein Videoclip nur dann, wenn ein Läufer ins Bild läuft. Mehrere Clips werden nach dem Stopp automatisch zu einem Film zusammengefügt.
Ablauf
- Modus Bewegungsaufnahme wählen
- Aufnahme-Button (roter Kreis) drücken → Bereit-Modus (gelber Punkt)
- Läufer läuft ins Bild → Aufnahme startet automatisch (roter Punkt)
- Aufnahme-Button erneut drücken → Aufnahme beendet, Clips werden zusammengefügt
- OCR-Sheet öffnet sich automatisch → Nummern aus dem Video extrahieren
OCR aus Video
Im OCR-Sheet kann der Video-Clip Frame für Frame oder automatisch ausgewertet werden. Erkannte Nummern erscheinen mit einem Vorschau-Frame und können einzeln bestätigt oder verworfen werden.
Bewegungsaufnahme verbraucht mehr Akkuleistung als die anderen Modi. Für längere Einsätze empfiehlt sich ein Ladekabel oder eine Powerbank.
Zeitmessung
Die integrierte Stoppuhr läuft parallel zum Scannen. Jede erfasste Startnummer bekommt automatisch den aktuellen Stoppuhr-Wert als Rennzeit zugewiesen.
Timer erst starten, wenn der Startschuss fällt. Dann kann jede gescannte Startnummer automatisch die korrekte Zielzeit bekommen — ohne manuelle Zeiteingabe.
Stoppuhr pro Lauf
Jeder Lauf hat seine eigene unabhängige Stoppuhr. Beim Wechsel zwischen Läufen (über das 📁-Sheet) wird die aktuelle Stoppuhr gespeichert und die des neuen Laufs geladen — jeder Timer läuft weiter, auch während ein anderer Lauf aktiv ist.
Die Stoppuhr bleibt auch nach dem Schließen der App erhalten: Beim nächsten Start wird die verstrichene Zeit aus dem Startzeitpunkt berechnet und der Timer nahtlos fortgesetzt.
Zeiten nachträglich bearbeiten
Einen Listeneintrag antippen → Dialog erscheint mit Feldern für Startnummer und Zeit. Zeit im Format MM:SS,T eingeben (z. B. 18:34,2).
Lauf-Verwaltung
Die App unterstützt mehrere Läufe — z. B. verschiedene Altersklassen oder Startblöcke. Jeder Lauf hat eigene Nummern, Fotos, Videos und eine eigene Stoppuhr.
Das 📁-Lauf-Sheet
Das 📁-Symbol in der Toolbar öffnet das Lauf-Sheet. Es zeigt oben „Läufe verwalten…" und darunter alle verfügbaren TeamRacePilot-Läufe (gruppiert nach Event). Antippen eines Laufs wechselt sofort zur zugehörigen Stoppuhr.
Beim Öffnen des Lauf-Sheets wird die laufende Stoppuhr automatisch angehalten und beim Schließen ohne Auswahl wieder fortgesetzt — so gehen keine Zeiten verloren.
Neuen freien Lauf anlegen
- ➕-Button (Toolbar) antippen
- Bestätigen, dass der aktuelle Lauf gespeichert wird
- Namen eingeben (leer lassen → automatisch „Lauf N")
- Neuer leerer Lauf mit eigener Stoppuhr ist aktiv
Läufe verwalten (umbenennen / löschen)
- 📁-Button → Läufe verwalten… antippen
- Lauf nach rechts wischen → „Umbenennen"
- Lauf nach links wischen → „Löschen" (inkl. Fotos, Videos und Stoppuhr)
Laufname im Kamerabild umbenennen
Den Laufnamen oben links im Kamerabild antippen → Umbenennen-Dialog.
Liste bearbeiten
Eintrag bearbeiten
Startnummer oder Zeit antippen → Dialog mit Bearbeitungsfeldern. Bei Foto-Einträgen (Aufnahme-Modi) ist nur die Startnummer bearbeitbar, nicht die Zeit.
Eintrag löschen
In der Liste nach links wischen → „Delete" / „Löschen".
Reihenfolge ändern
Das Dreistrich-Symbol (≡) am rechten Rand eines Eintrags ziehen, um die Reihenfolge zu ändern.
Leeren Eintrag hinzufügen
➕-Button (unten rechts) → fügt einen Eintrag mit leerem Nummernfeld ein, das manuell befüllt werden kann.
Gesamte Liste löschen
🗑-Button (unten links) → Bestätigungsdialog → alle Einträge des aktuellen Laufs werden gelöscht.
Foto- & Videobibliothek
Jeder Lauf hat eine eigene Foto- und Videobibliothek. Sie speichern alle aufgenommenen Fotos bzw. Videos, solange der Lauf existiert.
Fotobibliothek
🖼-Button → Fotobibliothek öffnet sich. Hier sind alle Fotos des aktuellen Laufs aufgelistet — mit erkannter Startnummer und Zeitstempel. Aktionen:
- OCR / QR-Scan nachträglich anwenden — Fotos auswählen → „OCR starten" / „QR-Scan starten"
- Fotos teilen (Übersicht) — ⬆️-Button (Toolbar) → ausgewählte Fotos teilen; wenn nichts ausgewählt, alle Fotos → iOS-Teilen-Sheet (AirDrop, Mail, In Fotos sichern …)
- Einzelfoto teilen — Foto antippen → Vollbild → ⬆️-Button → iOS-Teilen-Sheet
- Foto löschen — nach links wischen oder im Vollbild über 🗑-Button
Videobibliothek
🎬-Button → Videobibliothek öffnet sich. Gespeicherte Clips aus der Bewegungsaufnahme können hier abgespielt, geteilt, erneut mit OCR ausgewertet oder gelöscht werden. Jede Video-Zelle hat einen ⬆️-Button → iOS-Teilen-Sheet (AirDrop, Mail, In Fotos sichern …).
Export & Teilen
Kopieren (Zwischenablage)
📋-Button → Menü mit zwei Abschnitten:
Kopieren (nur gleiche Apple‑ID):
| Option | Inhalt |
|---|---|
| Nur Nummern | Eine Startnummer pro Zeile |
| Nur Zeiten | Eine Zeit pro Zeile |
| Nummern + Zeiten | Startnummer Tab Zeit pro Zeile |
| Für TeamRacePilot kopieren | Nummer:Sekunden.ms — Format für direkten TeamRacePilot-Import |
TeamRacePilot: Direkt senden (wenn verbunden) oder Verbindung herstellen — identisch zum ↑-Button.
„Nur Nummern" und „Nur Zeiten" eignen sich zum Einfügen in Excel oder Numbers — über Universal Clipboard auf Macs mit derselben Apple-ID sofort verfügbar.
CSV-Export (Teilen)
↑-Button → Menü mit zwei Abschnitten: CSV-Export und TeamRacePilot (Verbinden/Senden). Format wählen → iOS-Teilen-Dialog öffnet sich:
| Format | CSV-Inhalt |
|---|---|
| Nur Nummern | Startnummer |
| Nur Zeiten | Zeit |
| Nummern + Zeiten | Startnummer,Zeit |
Die exportierte Datei heißt BIB_Export.csv und kann per AirDrop, Mail, Dateien oder in andere Apps übertragen werden.
CSV-Format für TeamRacePilot-Import
TeamRacePilot erwartet beim CSV-Import folgendes Format:
| Spalte | Inhalt | Beispiel |
|---|---|---|
| Startnummer | BIB des Teams | 42 |
| Zeit | Format MM:SS,T | 18:34,2 |
Beim CSV-Export „Nummern + Zeiten" wird dieses Format automatisch erzeugt.
TeamRacePilot-Anbindung
BIB-Scanner kann sich direkt mit TeamRacePilot (macOS) im gleichen WLAN verbinden und Ergebnisse ohne CSV-Umweg übertragen.
Verbindung herstellen (Bonjour)
- TeamRacePilot auf dem Mac öffnen (Bonjour-Service startet automatisch)
- In BIB-Scanner: 📁-Button → TeamRacePilot verbinden…
- TeamRacePilot in der Geräteliste antippen
Mac und iPhone müssen im gleichen WLAN sein. TeamRacePilot muss während der Übertragung geöffnet bleiben.
TeamRacePilot-Lauf auswählen
- 📁-Button → Lauf-Sheet öffnet sich
- Gewünschtes Event und Lauf (z. B. „Wichtel") antippen
- BIB-Scanner wechselt automatisch zur Stoppuhr dieses Laufs (eigene Uhr pro TeamRacePilot-Lauf)
- Der Titel oben links zeigt: Event – Laufname (z. B. „TeamTrail 2026 – Wichtel")
Für jeden TeamRacePilot-Lauf läuft eine eigene Stoppuhr im Hintergrund. Zwischen Läufen wechseln geht jederzeit — die Zeiten laufen unabhängig weiter.
Daten übertragen
- Startnummern und Zeiten wie gewohnt erfassen
- 📋-Button → An TeamRacePilot senden
- BIB-Scanner überträgt alle Einträge mit Zeit direkt in den gewählten TeamRacePilot-Lauf
- Nicht gefundene Nummern (kein Team in TeamRacePilot mit dieser BIB) werden im Ergebnis-Dialog aufgelistet
Wenn TeamRacePilot die Zeitnahme übernimmt (z. B. per RFID), muss die BIB-Scanner-Stoppuhr nicht laufen. BIB-Scanner überträgt dann nur die Reihenfolge der Startnummern — TeamRacePilot weist die Zeiten selbst zu. Das gilt für alle Scan-Modi.
Verbindung trennen
Einstellungen → Bereich TeamRacePilot → ✕-Symbol neben der URL.
Alternative: Zwischenablage (gleiche Apple-ID)
Wenn kein WLAN verfügbar ist, aber Mac und iPhone dieselbe Apple-ID nutzen:
- 📋 → Für TeamRacePilot kopieren
- In TeamRacePilot: Zeitnahme-Ansicht → Zeiten importieren → Aus Zwischenablage
Einstellungen
Allgemein
| Einstellung | Standard | Beschreibung |
|---|---|---|
| Min. Stellen | 1 | Mindestanzahl Ziffern, die eine erkannte Nummer haben muss |
| Max. Stellen | 6 | Maximale Ziffernanzahl einer erkannten Nummer |
| Substring-Filter | Ein | Kürzere Teilnummer durch längere ersetzen |
| Filter-Zeit | 3,0 s | Wartezeit für den Substring-Filter |
OCR
| Einstellung | Standard | Beschreibung |
|---|---|---|
| Genauigkeit | Genau | Schnell = weniger CPU, Genau = bessere Erkennungsrate |
| Min. Texthöhe | 10 % | Mindestgröße des Textes im Bild (% der Bildhöhe) |
| Konfidenz | 60 % | Mindest-Konfidenz der OCR, unter der ein Ergebnis verworfen wird |
| Sprachkorrektur | Ein | Apple-Sprachmodell für Korrektur — bei reinen Ziffern ausschalten |
| Scan-Intervall | 0,5 s | Mindestpause zwischen zwei OCR-Durchläufen |
| Duplikat-Sperre | 2,0 s | Gleiche Nummer innerhalb dieser Zeit nicht erneut übernehmen |
| Randfilter | 10 % | Rand des ROI-Fensters, der für OCR ignoriert wird |
| Nur Ziffern | Ein | Buchstaben und Sonderzeichen aus OCR-Ergebnis entfernen |
| Punkt-Filter | Ein | Spiegelzahlen / fehlerhafte Punkte herausfiltern |
| Regex-Filter | Aus | Nur Nummern akzeptieren, die einem Regex-Muster entsprechen |
| Schärfefilter | Ein | Unscharfe Frames von der OCR ausschließen |
| Schärfe-Schwelle | 80 | Mindest-Schärfewert (0–200) |
| Blacklist | — | Nummern, die niemals übernommen werden (z. B. „0" oder häufige Fehlerkennungen) |
| Whitelist | Aus | Wenn aktiviert: nur Nummern aus dieser Liste werden akzeptiert |
Bewegung
| Einstellung | Standard | Beschreibung |
|---|---|---|
| Bewegungssensitivität | Mittel (18) | Niedriger = empfindlicher; höher = weniger Fehlauslöser |
| Burst-Dauer | 0,8 s | Wie lange nach einem Scan weiter gescannt wird |
| Burst-Intervall | 0,10 s | Pause zwischen einzelnen Burst-Frames |
| Aufnahme-Nachlauf | 2,0 s | Wie lange die Aufnahme nach dem letzten Bewegungs-Event weiterläuft, bevor sie pausiert (nur Bewegungsaufnahme) |
Kamera
| Einstellung | Standard | Beschreibung |
|---|---|---|
| Auflösung | Hoch | Niedrig / Mittel / Hoch / 4K |
| Fokus | Kontinuierlich | Kontinuierlich / Auto / Gesperrt |
| Belichtung | Kontinuierlich | Kontinuierlich / Auto / Gesperrt |
| Bildrate | 60 fps | 30 / 60 / 120 fps — höhere Rate für schnelle Läufer |
| Sport-Belichtung | Aus | Belichtungszeit auf 1/500 s begrenzen → weniger Bewegungsunschärfe |
| Weißabgleich | Kontinuierlich | Kontinuierlich / Auto / Gesperrt — Gesperrt stabilisiert die Farben bei wechselnden Lichtverhältnissen |
| Belichtungskorrektur | −0,5 EV | Slider −2,0 bis +1,0 EV — wirkt in allen Modi; negative Werte reduzieren Überbelichtung bei hellem Hintergrund |
| Video HDR | Aus | HDR-Videoaufnahme aktivieren (mehr Dynamikumfang, höhere CPU-Last) |
| Stabilisierung | Ein | Elektronische Videostabilisierung — reduziert Verwackeln bei Handbetrieb |
TeamRacePilot
Zeigt die aktuelle Verbindung und den gewählten Lauf. Aktionen:
- ✕ neben der URL — trennt die Verbindung zu TeamRacePilot vollständig (URL, Lauf-Zuweisung alles zurückgesetzt)
- Neu suchen… — sucht erneut nach TeamRacePilot-Geräten im WLAN
- ✕ neben dem Laufnamen — löscht nur die Lauf-Zuweisung, Verbindung zum Mac bleibt bestehen
Reset auf Standard
Am Ende der Einstellungen befindet sich der Button „Reset auf Standard" — setzt alle Einstellungen auf die Werksstandards zurück (TeamRacePilot-Verbindung wird ebenfalls getrennt).
Welcher Modus wann?
OCR-Erkennung ist kein exaktes Verfahren — Lichtverhältnisse, Bewegungsunschärfe und Startnummern-Design beeinflussen das Ergebnis. BIB-Scanner ist daher kein Ersatz für professionelle Zeiterfassungssysteme, kann aber eine sinnvolle Ergänzung sein: als zweite Absicherung, für kleinere Veranstaltungen ohne feste Infrastruktur oder zur Rekonstruktion der Einlaufreihenfolge.
| Einsatz | Empfohlene Modi | Warum |
|---|---|---|
| Ziel / Zielkanal | BIB-Scan · QR-Scan · Tastatur | Läufer kommen langsam durch das Ziel — OCR und QR-Erkennung funktionieren zuverlässig; Tastatur als schnelle Fallback-Option |
| Zielzeitnahme | Aufnahme + BIB · Aufnahme + QR | Foto + exakter Zeitstempel werden gemeinsam gespeichert; Startnummer kann auch nachträglich in der Fotobibliothek erkannt werden |
| Back-up & Einlauf rekonstruieren | Bewegungsaufnahme | Automatische Videoaufnahme bei Bewegung im Bild — ermöglicht nachträgliche Auswertung der Einlaufreihenfolge |
BIB-Scanner v1.1 · © 2025 Stephan Jäger · Dullub Apps · apps@dullub.de