VisioForge

On-Device-OCR für Videostreams in .NET

Erkennen Sie Text in RTSP-Kamerastreams, Webcams und Videodateien mit C#. OCR läuft als Block der Pipeline des Media Blocks SDK .NET — auf dem Gerät, neben Vorschau, Aufnahme und Streaming.

Video-OCR ist nicht Bild-OCR in einer Schleife

Eine Bild-OCR-Bibliothek nimmt ein einzelnes Bitmap entgegen. Um damit Text aus einer Kamera oder einer Aufzeichnung zu lesen, müssen Sie den Stream trotzdem selbst dekodieren, Frames auswählen, sie konvertieren, die Bibliothek aufrufen und festhalten, wann jeder Frame zu sehen war. In den VisioForge SDKs ist OCR ein Block der Video-Pipeline: Das SDK dekodiert die Quelle, OcrBlock liest die durchlaufenden Frames, und dieselben Frames gehen weiter an den Bildschirm, eine Datei oder einen Netzwerkstream.

Bild-OCR-Bibliothek vs. OCR in der Video-Pipeline

Typische Bild-OCR-BibliothekOcrBlock in einer VisioForge-Pipeline
EingabeEin Bitmap, das Ihr Code übergibtDekodierte Frames aus jeder SDK-Quelle: Datei, Webcam, RTSP-Kamera
Dekodieren des VideosIhr Code, mit separatem Decoder oder Frame-GrabberErledigt die Pipeline
Welche Frames gelesen werdenSie wählen und konvertieren sieFramesToSkip; Frames, die eintreffen, während die OCR beschäftigt ist, werden übersprungen und gezählt
Wann der Text erschienDas verfolgen Sie selbstZeitstempel in jedem OnTextDetected-Ereignis
Gleichzeitige Aufnahme oder StreamingEine separate Video-PipelineDieselbe Pipeline: Die Ausgabe von OcrBlock geht weiter an einen Encoder, eine Datei oder einen Stream
Rahmen und Text im VideoSie zeichnen sie selbstDrawResults

Was OCR in der Pipeline Ihnen bringt

OcrBlock ist im Paket VisioForge.DotNet.Core.AI enthalten. Der Block hat einen Videoeingang und einen Videoausgang und führt die PP-OCR-Modelle auf den empfangenen Frames aus.

  • Das Dekodieren wird Ihnen abgenommen: Jede Quelle, die das SDK öffnet — Videodateien, Webcams, RTSP-IP-Kameras — speist OcrBlock direkt
  • Text mit Zeit und Ort: Jedes OnTextDetected-Ereignis enthält den Timestamp des Frames und für jede Zeile Text, Confidence und BoundingBox
  • OCR neben Aufnahme und Streaming: Frames verlassen OcrBlock unverändert oder mit eingezeichnetem Text und gehen in derselben Pipeline weiter an einen Encoder, eine Datei oder eine Netzwerkausgabe
  • Auf dem Gerät: PP-OCR-Modelle auf ONNX Runtime mit dem Provider CPU, CUDA, DirectML oder CoreML — keine Cloud-API, keine Gebühr pro Aufruf, das Video bleibt auf dem Rechner
  • Über 100 Sprachen: Richten Sie RecognitionModelPath und CharacterDictionaryPath auf das PP-OCR-Modell und Wörterbuch Ihrer Sprache; die Beispiele liefern das lateinische Modell mit
  • Plattformübergreifend: Windows, macOS, Linux, Android und iOS aus einer C#-Codebasis; das OCR-Beispiel gibt es auch für .NET MAUI
  • Kosten im Griff bei Live-Video: FramesToSkip = N führt OCR nur auf einem von N + 1 Frames aus; jede Einstellung und ihr Standardwert stehen im OCR-Leitfaden

Wo es eingesetzt wird

Durchsuchbare Aufzeichnungen

Extrahieren Sie den Text aufgezeichneter Vorlesungen, Webinare und Bildschirmaufnahmen mit dem Zeitstempel jeder Zeile und indizieren Sie ihn.

Überwachung von Sendungen und Digital Signage

Prüfen Sie, ob Bauchbinden, Laufbänder und Digital Signage den erwarteten Text zeigen — im Live-Feed oder in einer Aufzeichnung.

Produktionslinien

Lesen Sie Seriennummern, Chargencodes und gedruckte Etiketten von einer fest montierten Kamera, während derselbe Stream zur Rückverfolgbarkeit aufgezeichnet wird.

IP-Kameras in Handel und Lager

Lesen Sie Regaletiketten und Produktaufkleber von RTSP-Kameras vor Ort, ohne Video an einen Cloud-OCR-Dienst zu senden.

Codebeispiele

Auf Basis der OCR Text Recognition Demo; der Aufnahmezweig verbindet H.264-Encoder und MP4-Sink so wie die Media-Blocks-Beispiele.

Text einer Videodatei mit Zeitstempeln extrahieren

C#

Text von einer RTSP-Kamera lesen und als MP4 aufzeichnen

C#

Pipeline

Im RTSP-Beispiel sitzt OcrBlock zwischen Kamera und Encoder. Erkannter Text verlässt die Pipeline über das Ereignis OnTextDetected; die Frames gehen weiter an den H.264-Encoder und die MP4-Datei.

RTSPSourceBlock
OcrBlock
H264EncoderBlock
MP4SinkBlock

Häufig gestellte Fragen

Verlässt das Video den Rechner?▼
Nein. OcrBlock führt die PP-OCR-Modelle mit ONNX Runtime in Ihrem Prozess aus. Es gibt keinen Cloud-Dienst und keinen API-Schlüssel; Frames und erkannter Text bleiben auf dem Gerät. Die Modelle sind Dateien, die Sie mit Ihrer Anwendung ausliefern.
Was ist der Unterschied zu einer Bild-OCR-Bibliothek?▼
Eine Bild-OCR-Bibliothek erwartet, dass Sie das Video dekodieren, Frames auswählen und sie pro Bitmap aufrufen. OcrBlock ist Teil der Pipeline, die die Quelle dekodiert: Der Block empfängt dekodierte Frames, überspringt sie gemäß FramesToSkip, meldet jede Region mit dem Zeitstempel des Frames und gibt die Frames an Wiedergabe, Kodierung oder Streaming weiter.
Kann ich Text erkennen und gleichzeitig den Stream aufzeichnen?▼
Ja. Verbinden Sie die Ausgabe von OcrBlock mit einem Encoder und einem Datei-Sink, wie im RTSP-Beispiel oben. DrawResults legt fest, ob Rahmen und Text in die Aufnahme eingebrannt werden.
Welches SDK brauche ich?▼
OcrBlock ist im Paket VisioForge.DotNet.Core.AI enthalten. Verwenden Sie ihn in einer Pipeline des Media Blocks SDK .NET, wenn Sie die Pipeline selbst aufbauen, oder fügen Sie ihn mit Video_Processing_AddBlock zu VideoCaptureCoreX im Video Capture SDK .NET oder zu MediaPlayerCoreX im Media Player SDK .NET hinzu, wenn Ihre Anwendung bereits auf einer dieser Engines basiert.
Darf ich die OCR-Modelle in einem kommerziellen Produkt ausliefern?▼
Das SDK führt ONNX-Modelle von Drittanbietern aus und enthält keine Modellgewichte im NuGet-Paket. Die PP-OCRv5-Mobile-Modelle, die den Beispielen beiliegen, stehen unter Apache-2.0. Die Lizenz eines Modells ergibt sich aus seiner Herkunft; prüfen Sie daher die Lizenz jedes anderen Modells, seiner Gewichte und seiner Trainingsdaten, bevor Sie es ausliefern.
Kann ich OCR mit anderen KI-Blöcken kombinieren?▼
Ja. LicensePlateRecognizerBlock, YOLOObjectDetectorBlock und PIIRedactionBlock haben denselben Videoeingang und -ausgang wie OcrBlock und lassen sich daher in derselben Pipeline hintereinanderschalten. Um Text im Bild zu verbergen statt ihn zu lesen, macht PIIRedactionBlock Textbereiche, die mit den PaddleOCR-Modellen gefunden werden, unscharf oder verpixelt sie.