.NET で動画ストリームをオンデバイス OCR
RTSP カメラのストリーム、Web カメラ、動画ファイル内の文字を C# から認識します。OCR は Media Blocks SDK .NET のパイプラインのブロックとして動作し、デバイス上でプレビュー・録画・ストリーミングと並行して処理します。
年間 €500 から · Lifetime ライセンス €1,500 から
動画 OCR は画像 OCR をループで回すことではありません
画像 OCR ライブラリが受け取るのは 1 枚のビットマップです。それでカメラや録画から文字を読むには、ストリームのデコード、フレームの選択と変換、ライブラリの呼び出し、各フレームが表示された時刻の管理を自分で行う必要があります。VisioForge SDK では OCR は動画パイプラインのブロックです。SDK がソースをデコードし、OcrBlock が通過するフレームを読み取り、同じフレームがそのまま画面、ファイル、ネットワークストリームへ流れます。
画像 OCR ライブラリと動画パイプライン内の OCR の比較
| 一般的な画像 OCR ライブラリ | VisioForge パイプライン内の OcrBlock | |
|---|---|---|
| 入力 | コードから渡すビットマップ | SDK の任意のソース(ファイル、Web カメラ、RTSP カメラ)のデコード済みフレーム |
| 動画のデコード | 別途デコーダーやフレームグラバーを使って自分で実装 | パイプラインが処理 |
| 読み取るフレーム | 自分で選んで変換 | FramesToSkip。OCR の処理中に届いたフレームはスキップされ、件数が記録されます |
| 文字が表示された時刻 | 自分で管理 | OnTextDetected イベントごとのタイムスタンプ |
| 同時の録画・ストリーミング | 別の動画パイプラインが必要 | 同じパイプライン:OcrBlock の出力がエンコーダー、ファイル、ストリームへ続きます |
| 動画内の枠と文字 | 自分で描画 | DrawResults |
パイプライン内の OCR で得られること
OcrBlock は VisioForge.DotNet.Core.AI パッケージに含まれています。動画入力と動画出力を 1 つずつ持ち、受け取ったフレームで PP-OCR モデルを実行します。
- デコードは SDK が担当:SDK が開ける任意のソース(動画ファイル、Web カメラ、RTSP IP カメラ)を OcrBlock に直接接続できます
- 時刻と位置付きの文字:各 OnTextDetected イベントにはフレームの Timestamp と、行ごとの Text、Confidence、BoundingBox が含まれます
- 録画・ストリーミングと並行して OCR:フレームはそのまま、または文字を描画した状態で OcrBlock から出て、同じパイプライン内でエンコーダー、ファイル、ネットワーク出力へ進みます
- デバイス上で動作:ONNX Runtime 上の PP-OCR モデルを CPU、CUDA、DirectML、CoreML のプロバイダーで実行。クラウド API も呼び出しごとの料金もなく、動画はマシンの外に出ません
- 100 以上の言語:RecognitionModelPath と CharacterDictionaryPath に対象言語の PP-OCR モデルと辞書を指定します。サンプルにはラテン文字モデルが同梱されています
- クロスプラットフォーム:1 つの C# コードで Windows、macOS、Linux、Android、iOS に対応。OCR サンプルは .NET MAUI 版もあります
- ライブ動画の負荷を制御:FramesToSkip = N で N + 1 フレームに 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 ファイルへ進みます。
よくある質問
動画はマシンの外に送信されますか?▼
画像 OCR ライブラリとの違いは何ですか?▼
文字の認識とストリームの録画を同時に行えますか?▼
どの SDK が必要ですか?▼
OCR モデルを商用製品に同梱できますか?▼
OCR を他の AI ブロックと組み合わせられますか?▼
ドキュメントとサンプル
OCR 文字認識ガイド
OcrBlock と OcrSettings のリファレンス:モデル、言語、各設定と既定値、トラブルシューティング。
OCR Text Recognition Demo (WPF)
Media Blocks SDK .NET のサンプル:Web カメラ、動画ファイル、RTSP カメラで OCR を実行。PP-OCRv5 モデル同梱。
OCR Text Recognition MB (MAUI)
Media Blocks の .NET MAUI 版 OCR サンプル:デバイスのカメラで文字を認識します。
VideoCaptureCoreX と MediaPlayerCoreX の AI ブロック
キャプチャエンジンとプレーヤーエンジンに処理ブロックを追加する方法:挿入順序とライフサイクル。
ナンバープレート認識(ANPR)
LicensePlateRecognizerBlock:プレート検出器とプレート専用の OCR ヘッド。車両では汎用 OCR より高速かつ高精度です。
個人情報のマスキング(PII)
PIIRedactionBlock:動画内の顔、ナンバープレート、画面上の文字をデバイス上でぼかし・モザイク処理します。
動画から文字の読み取りを始める
全機能を使える 30 日間の試用版をダウンロードし、OCR サンプルを実行してください。エンジンと出力によっては、透かしや未登録版の表示が出る場合があります。
OCR に対応した SDK
Media Blocks SDK .NET
パイプライン SDK:任意のソースとレンダラー、エンコーダー、ネットワーク出力の間に OcrBlock を置き、独自の処理と組み合わせられます。
詳細を見る →Video Capture SDK .NET
キャプチャ SDK:VideoCaptureCoreX に OcrBlock を追加し、プレビューと録画を行いながらカメラの文字を認識します。
詳細を見る →Media Player SDK .NET
プレーヤー SDK:MediaPlayerCoreX に OcrBlock を追加し、再生中のファイルやストリームの文字を読み取ります。
詳細を見る →年間 €500 から · Lifetime ライセンス €1,500 から
