VisioForge

.NET용 비디오 스트림 온디바이스 OCR

C#에서 RTSP 카메라 스트림, 웹캠, 동영상 파일의 텍스트를 인식합니다. OCR은 Media Blocks SDK .NET 파이프라인의 블록으로 동작하며, 기기에서 미리보기·녹화·스트리밍과 함께 실행됩니다.

연 €500부터 · Lifetime 라이선스 €1,500부터

비디오 OCR은 이미지 OCR을 반복 호출하는 것이 아닙니다

이미지 OCR 라이브러리는 비트맵 한 장을 입력으로 받습니다. 이를 이용해 카메라나 녹화본에서 텍스트를 읽으려면 스트림 디코딩, 프레임 선택과 변환, 라이브러리 호출, 각 프레임이 표시된 시점 기록을 직접 해야 합니다. VisioForge SDK에서 OCR은 비디오 파이프라인의 블록입니다. SDK가 소스를 디코딩하고, OcrBlock이 지나가는 프레임을 읽으며, 같은 프레임이 화면, 파일 또는 네트워크 스트림으로 계속 전달됩니다.

이미지 OCR 라이브러리와 비디오 파이프라인 내 OCR 비교

일반적인 이미지 OCR 라이브러리VisioForge 파이프라인의 OcrBlock
입력코드에서 전달하는 비트맵SDK의 모든 소스(파일, 웹캠, RTSP 카메라)에서 디코딩된 프레임
비디오 디코딩별도의 디코더나 프레임 그래버로 직접 구현파이프라인이 처리
읽을 프레임직접 선택하고 변환FramesToSkip. OCR이 처리 중일 때 도착한 프레임은 건너뛰고 개수를 기록합니다
텍스트가 나타난 시점직접 추적모든 OnTextDetected 이벤트의 타임스탬프
동시 녹화 또는 스트리밍별도의 비디오 파이프라인같은 파이프라인: OcrBlock 출력이 인코더, 파일 또는 스트림으로 이어집니다
비디오 속 상자와 텍스트직접 그리기DrawResults

파이프라인 안의 OCR이 주는 이점

OcrBlock은 VisioForge.DotNet.Core.AI 패키지에 포함되어 있습니다. 비디오 입력과 출력을 하나씩 가지며, 받은 프레임에 PP-OCR 모델을 실행합니다.

  • 디코딩은 SDK가 처리: SDK가 여는 모든 소스(동영상 파일, 웹캠, RTSP IP 카메라)를 OcrBlock에 바로 연결합니다
  • 시점과 위치가 포함된 텍스트: 각 OnTextDetected 이벤트에는 프레임의 Timestamp와 줄마다 Text, Confidence, BoundingBox가 담깁니다
  • 녹화·스트리밍과 함께 OCR: 프레임은 그대로 또는 텍스트가 그려진 상태로 OcrBlock을 나와 같은 파이프라인 안에서 인코더, 파일, 네트워크 출력으로 이어집니다
  • 기기 내 실행: ONNX Runtime 위의 PP-OCR 모델을 CPU, CUDA, DirectML, CoreML 프로바이더로 실행합니다. 클라우드 API도 호출당 요금도 없으며 비디오는 기기를 떠나지 않습니다
  • 100개 이상의 언어: RecognitionModelPath와 CharacterDictionaryPath에 해당 언어의 PP-OCR 모델과 사전을 지정합니다. 샘플에는 라틴 문자 모델이 포함되어 있습니다
  • 크로스 플랫폼: 하나의 C# 코드로 Windows, macOS, Linux, Android, iOS를 지원합니다. OCR 샘플은 .NET MAUI용도 있습니다
  • 라이브 비디오의 부하 제어: FramesToSkip = N이면 N + 1 프레임마다 한 번 OCR을 실행합니다. 모든 설정과 기본값은 OCR 가이드에 있습니다

활용 사례

검색 가능한 녹화본

강의, 웨비나, 화면 녹화의 텍스트를 줄마다 타임스탬프와 함께 추출해 색인합니다.

방송 및 디지털 사이니지 모니터링

자막, 티커, 디지털 사이니지에 예상한 텍스트가 표시되는지 라이브 영상이나 녹화본에서 확인합니다.

생산 라인

고정 카메라로 일련번호, 로트 코드, 인쇄 라벨을 읽으면서 같은 스트림을 추적성을 위해 녹화합니다.

소매점 및 창고의 IP 카메라

현장의 RTSP 카메라로 가격표와 제품 라벨을 읽습니다. 비디오를 클라우드 OCR 서비스로 보낼 필요가 없습니다.

코드 예제

OCR Text Recognition Demo를 기반으로 작성했습니다. 녹화 부분은 Media Blocks 샘플과 같은 방식으로 H.264 인코더와 MP4 싱크를 연결합니다.

동영상 파일의 텍스트를 타임스탬프와 함께 추출

C#

RTSP 카메라의 텍스트를 읽고 MP4로 녹화

C#

파이프라인

RTSP 예제에서 OcrBlock은 카메라와 인코더 사이에 위치합니다. 인식된 텍스트는 OnTextDetected 이벤트로 전달되고, 프레임은 H.264 인코더와 MP4 파일로 이어집니다.

RTSPSourceBlock
OcrBlock
H264EncoderBlock
MP4SinkBlock

자주 묻는 질문

비디오가 기기 밖으로 전송되나요?▼
아니요. OcrBlock은 애플리케이션 프로세스 안에서 ONNX Runtime으로 PP-OCR 모델을 실행합니다. 클라우드 서비스나 API 키가 없으며, 프레임과 인식된 텍스트는 기기에 남습니다. 모델은 애플리케이션과 함께 배포하는 파일입니다.
이미지 OCR 라이브러리와 무엇이 다른가요?▼
이미지 OCR 라이브러리를 쓰려면 비디오를 디코딩하고 프레임을 골라 비트맵마다 호출해야 합니다. OcrBlock은 소스를 디코딩하는 파이프라인의 일부입니다. 디코딩된 프레임을 받아 FramesToSkip에 따라 건너뛰고, 각 영역을 프레임 타임스탬프와 함께 알리며, 프레임을 렌더링, 인코딩 또는 스트리밍으로 넘깁니다.
텍스트 인식과 스트림 녹화를 동시에 할 수 있나요?▼
네. 위의 RTSP 예제처럼 OcrBlock 출력을 인코더와 파일 싱크에 연결합니다. 상자와 텍스트를 녹화본에 입힐지는 DrawResults로 결정합니다.
어떤 SDK가 필요한가요?▼
OcrBlock은 VisioForge.DotNet.Core.AI 패키지에 있습니다. 파이프라인을 직접 구성한다면 Media Blocks SDK .NET 파이프라인에서 사용하고, 애플리케이션이 이미 캡처 엔진이나 플레이어 엔진으로 만들어져 있다면 Video_Processing_AddBlock으로 Video Capture SDK .NET의 VideoCaptureCoreX 또는 Media Player SDK .NET의 MediaPlayerCoreX에 추가합니다.
OCR 모델을 상용 제품에 포함해 배포할 수 있나요?▼
SDK는 서드파티 ONNX 모델을 실행하며 NuGet 패키지에 모델 가중치를 포함하지 않습니다. 샘플과 함께 제공되는 PP-OCRv5 mobile 모델은 Apache-2.0 라이선스입니다. 모델의 라이선스는 출처에 따라 정해지므로, 다른 모델을 배포하기 전에 해당 모델과 가중치, 학습 데이터의 라이선스를 확인하세요.
OCR을 다른 AI 블록과 함께 쓸 수 있나요?▼
네. LicensePlateRecognizerBlock, YOLOObjectDetectorBlock, PIIRedactionBlock은 OcrBlock과 같은 비디오 입력과 출력을 가지므로 같은 파이프라인 안에서 차례로 연결됩니다. 화면 속 텍스트를 읽는 대신 가리려면 PIIRedactionBlock이 PaddleOCR 모델로 찾은 텍스트 영역을 흐리게 하거나 모자이크 처리합니다.