VisioForge

Last updated: Januar 2026

AForge.NET Alternative: Migrationsanleitung zu VisioForge .Net SDK

Ersetzen Sie das eingestellte AForge.NET durch ein modernes, plattformübergreifendes .NET SDK

C#-Entwickler, die von AForge.NET (AForge.Video, AForge.Vision, AForge.Imaging) auf moderne .NET 6-10 Alternativen migrieren

Warum AForge.NET ersetzen?

AForge.NET wurde seit Juli 2013 aufgegeben — über 12 Jahre ohne Updates, Sicherheitspatches oder Fehlerbehebungen. Es zielt auf .NET Framework 2.0 ab und kann ohne Community-Forks unterschiedlicher Qualität nicht auf modernem .NET 6-10 ausgeführt werden.

RisikoAuswirkung
Keine SicherheitspatchesSchwachstellen in der Video-/Bildverarbeitung bleiben ungepatcht
Keine .NET 6+ UnterstützungModerne .NET-Funktionen, AOT oder plattformübergreifende Bereitstellung nicht nutzbar
Keine neuen Codec-UnterstützungKein H.265, AV1, VP9 oder moderne Containerformate
Keine CommunityForum seit April 2012 geschlossen, keine aktiven Maintainer
DirectShow-AbhängigkeitVon Microsoft zugunsten von Media Foundation als veraltet erklärt
Nur WindowsKann nicht auf macOS, Linux, iOS, Android abzielen

AForge.Video → VisioForge Video Capture SDK .Net

Klassenzuordnung

AForge.Video KomponenteVisioForge Ersatz
VideoCaptureDeviceVideoCaptureCoreX + VideoCaptureDeviceSourceSettings
MJPEGStreamVideoCaptureCoreX + RTSPSourceSettings or UniversalSourceBlock
JPEGStreamVideoCaptureCoreX + IPCameraSourceSettings
ScreenCaptureStreamVideoCaptureCoreX + ScreenCaptureSourceSettings
FileVideoSourceMediaPlayerCoreX (Wiedergabe) oder VideoEditCoreX (Verarbeitung)
AsyncVideoSourceIntegriert — alle VisioForge-Quellen sind standardmäßig asynchron
NewFrameEventArgsOnVideoFrameBuffer Event

C# Webcam-Aufnahme

AForge.NET — Webcam-Aufnahme (vorher)

C#
// AForge: Manual device enumeration, callback-based, no recording
var videoDevices = new FilterInfoCollection(FilterCategory.VideoInputDevice);
var videoSource = new VideoCaptureDevice(videoDevices[0].MonikerString);
videoSource.NewFrame += (sender, eventArgs) =>
{
    Bitmap frame = (Bitmap)eventArgs.Frame.Clone();
    pictureBox.Image = frame;
    // Manual recording requires separate code
};
videoSource.Start();

// Cleanup
videoSource.SignalToStop();
videoSource.WaitForStop();

VisioForge — C# Webcam-Aufnahme (nachher)

C#
// VisioForge: Typed API, async, preview + recording built-in
var capture = new VideoCaptureCoreX(videoView);  // Preview automatic
var devices = await DeviceEnumerator.Shared.VideoSourcesAsync();
capture.Video_Source = new VideoCaptureDeviceSourceSettings(devices[0]);
capture.Outputs_Add(new MP4Output("recording.mp4"), true);
await capture.StartAsync();

// Stop
await capture.StopAsync();

C# IP-Kamera RTSP / MJPEG Streaming

AForge.NET — MJPEG-Stream (vorher)

C#
// AForge: MJPEG only, no RTSP, no reconnection
var stream = new MJPEGStream("http://camera-ip/mjpg/video.mjpg");
stream.NewFrame += (sender, eventArgs) =>
{
    pictureBox.Image = (Bitmap)eventArgs.Frame.Clone();
};
stream.Start();

VisioForge — C# RTSP IP-Kamera-Aufnahme (nachher)

C#
// VisioForge: RTSP, RTMP, HLS, MJPEG — with auto-reconnection
var capture = new VideoCaptureCoreX(videoView);
capture.Video_Source = new RTSPSourceSettings(
    new Uri("rtsp://admin:pass@camera-ip/stream"));
capture.Outputs_Add(new MP4Output("recording.mp4"), true);
await capture.StartAsync();

C# Bildschirmaufnahme und Aufzeichnung

AForge.NET — Bildschirmaufnahme (vorher)

C#
// AForge: Basic, CPU-intensive, no recording
var screenStream = new ScreenCaptureStream(Screen.PrimaryScreen.Bounds);
screenStream.NewFrame += (sender, eventArgs) =>
{
    pictureBox.Image = (Bitmap)eventArgs.Frame.Clone();
    // Must manually encode and write frames to create a recording
};
screenStream.Start();

VisioForge — C# Bildschirmrekorder (nachher)

C#
// VisioForge: Region selection, cursor capture, hardware encoding
var capture = new VideoCaptureCoreX(videoView);
capture.Video_Source = new ScreenCaptureSourceSettings();
capture.Outputs_Add(new MP4Output("screen.mp4", new H264EncoderSettings()), true);
await capture.StartAsync();

AForge.Vision → VisioForge Computer Vision Blöcke

Klassenzuordnung

AForge.Vision KomponenteVisioForge Ersatz
MotionDetectorCVMotionCellsBlock — MOG2-Hintergrundsubtraktion mit Objektverfolgung und ID-Zuweisung
TwoFramesDifferenceDetectorCVMotionCellsBlock — MOG2 (history: 500 frames, variance threshold: 40)
SimpleBackgroundModelingDetectorCVMotionCellsBlock — automatisches Hintergrundmodell mit konturbasierter Erkennung
CustomFrameDifferenceDetectorKonfigurierbare CVMotionCellsSettings
MotionAreaHighlightingCVMotionCellsBlock mit DrawEnabled = true — zeichnet Begrenzungsrahmen mit Objekt-IDs
GridMotionAreaProcessingZonenbasierte Bewegungserkennung über Video Capture SDK Events
BlobCounterCVMotionCellsBlock — Blob-Tracking, Konturerkennung, Fahrzeugzählung über eine Tracking-Linie

C# Bewegungs- und Objekterkennung

AForge.NET — Bewegungserkennung (vorher)

C#
// AForge: Manual frame processing, no recording integration
var detector = new MotionDetector(
    new TwoFramesDifferenceDetector(),
    new MotionAreaHighlighting());

videoSource.NewFrame += (sender, eventArgs) =>
{
    float motionLevel = detector.ProcessFrame((Bitmap)eventArgs.Frame.Clone());
    if (motionLevel > 0.02f)
        Console.WriteLine($"Motion: {motionLevel * 100:F1}%");
};

VisioForge — ereignisbasierte Bewegungserkennung (Video Capture SDK)

C#
// Integrated detection during capture + recording
var capture = new VideoCaptureCoreX(videoView);
capture.Video_Source = new VideoCaptureDeviceSourceSettings(devices[0]);
capture.Outputs_Add(new MP4Output("recording.mp4"), true);

capture.OnMotionDetection += (s, e) =>
{
    if (e.Level > 30)
        Console.WriteLine($"Motion: {e.Level}%");
};

await capture.StartAsync();

VisioForge — CVMotionCellsBlock (MediaBlocks Pipeline)

C#
// MOG2 background subtraction with automatic object tracking and IDs
var settings = new CVMotionCellsSettings
{
    DrawEnabled = true
};
var detector = new CVMotionCellsBlock(settings);
// Tracks objects with unique IDs using Euclidean distance matching

C# Gesichtserkennung und Fußgängererkennung (nicht verfügbar in AForge)

Klassenzuordnung

FunktionVisioForge Block
Haar-Kaskaden-GesichtserkennungCVFaceDetectBlock — frontale/Profil-Gesichts-, Augen-, Nasen-, Munderkennung
DNN-GesichtserkennungCVFaceDetectBlock — Caffe SSD Modell, Konfidenzfilterung, GPU-Beschleunigung
DLib-GesichtserkennungCVFaceDetectBlock (CVD) — DLib HOG+SVM frontaler Gesichtsdetektor
FußgängererkennungCVFaceDetectBlock — integrierter HOG+SVM Personendetektor
ObjektivverdeckungserkennungCameraCoveredDetectorBlock — Canny-Kantenerkennung

C# Gesichtserkennung

AForge.NET (vorher)

C#
// AForge had no built-in face detection — required manual Haar cascade code
// or using Accord.NET's HaarObjectDetector on top of AForge frames

VisioForge — Haar-Kaskaden-Gesichtserkennung

C#
var settings = new CVFaceDetectSettings
{
    DetectFrontalFace = true,
    DetectProfileFace = true,
    DetectEyes = true,
    DetectNose = true,
    DetectMouth = true,
    MinFaceSize = new Size(30, 30),
    ScaleFactor = 1.1,
    DrawEnabled = true,
    BlurFaces = false,    // set true for privacy blur
    PixelateFaces = false // set true for privacy pixelation
};
var detector = new CVFaceDetectBlock(settings);

VisioForge — DNN-Gesichtsdetektor (höhere Genauigkeit, GPU-Unterstützung)

C#
var settings = new CVFaceDetectSettings
{
    Confidence = 0.25,
    DrawEnabled = true,
    BlurFaces = true  // built-in privacy blur
};
var detector = new CVFaceDetectBlock(settings);

VisioForge — DLib-Gesichtsdetektor

C#
var settings = new CVFaceDetectSettings
{
    DrawEnabled = true,
    MinFaceSize = new Size(30, 30)
};
var detector = new CVFaceDetectBlock(settings);

C# Fußgängererkennung

AForge.NET (vorher)

C#
// AForge had no pedestrian detection — required manual HOG+SVM implementation

VisioForge — Fußgängererkennung (nachher)

C#
var settings = new CVFaceDetectSettings
{
    DrawEnabled = true,
    VideoScale = 1.0,
    FramesToSkip = 2
};
var detector = new CVFaceDetectBlock(settings);
// Built-in HOG descriptors + SVM classifier, multi-scale detection

AForge.Imaging → VisioForge CV + OpenCvSharp

Klassenzuordnung

AForge.Imaging FunktionVisioForge integriertEigenständiges OpenCvSharp
GaussianBlurCVProcess.BlurRegion() (kernel 23x23)Cv2.GaussianBlur()
PixellateCVProcess.PixelateRegion()Benutzerdefinierte Verkleinerung/Vergrößerung
CannyEdgeDetectorCameraCoveredDetector (thresholds 100/200)Cv2.Canny()
Erosion / DilationWird intern von CVMotionCellsBlock verwendet (5x5 Strukturelement)Cv2.Erode() / Cv2.Dilate()
BlobCounterCVMotionCellsBlock — Konturerkennung, Flächen-/Seitenverhältnisfilterung, konvexe HülleCv2.FindContours()
GrayscaleIntegrierte BGR→Gray-Konvertierung in allen DetektorenCv2.CvtColor()
ThresholdIntegrierte binäre Schwellenwertbildung in der BewegungspipelineCv2.Threshold()
ResizeBilinearIntegrierte Videoskalierung in allen DetektoreinstellungenCv2.Resize()
HistogramEqualizationWird in CVFaceDetect für verbesserte Erkennung verwendetCv2.EqualizeHist()
HSLFiltering / FarbfilterCv2.InRange() / Cv2.CvtColor()
HoughLineTransformationCv2.HoughLinesP()
SobelEdgeDetectorCv2.Sobel()
Template MatchingCv2.MatchTemplate()

Migrations-Checkliste

  • AForge-Referenzen inventarisieren — Alle `using AForge.*` in Ihrem Projekt finden
  • VisioForge NuGet-Pakete installieren
  • Videoquellenklassen ersetzen
  • Bewegungserkennung ersetzen
  • Gesichtserkennung ersetzen
  • Blob-/Objekterkennung ersetzen
  • Manuelle Frame-Schleifen entfernen
  • Aufnahme/Streaming hinzufügen
  • Auf modernes .NET umstellen — .NET 6-10
  • Plattformübergreifend testen
  • Für Bildverarbeitung — VisioForge CV deckt Weichzeichnen, Verpixelung, Canny, Morphologie ab; OpenCvSharp für zusätzliche Filter verwenden

Was Sie nach der Migration gewinnen

FähigkeitAForge.NETNach der Migration
Framework.NET Framework 2.0.NET 6-10
PlattformenNur WindowsWindows, macOS, Linux, iOS, Android
VideoaufnahmeEinfaches DirectShowProfessionelles SDK mit asynchroner API
AufzeichnungManuelle ImplementierungIntegriert (MP4, MKV, AVI, WebM)
Hardware-EncodingKeinesNVENC, QSV, AMF, VideoToolbox
StreamingKeinesRTMP, HLS, SRT, NDI
AudioeffekteKeine40+ (EQ, Reverb, Chorus, 3D)
VideoeffekteKeineGPU + CPU Pipeline
GesichtserkennungKeineHaar + DNN (Caffe SSD) + DLib HOG, mit Weichzeichnung/Verpixelung
BewegungserkennungEinfache Frame-DifferenzierungMOG2-Hintergrundsubtraktion + Objektverfolgung mit IDs
FußgängererkennungKeineIntegrierter HOG+SVM Personendetektor
IP-KamerasNur MJPEGRTSP, RTMP, HLS, ONVIF
Virtuelle KameraKeineAusgabe an Zoom/Teams/OBS
WartungEingestellt (2013)Aktive Entwicklung
SicherheitUngepatchtRegelmäßige Updates

Frequently Asked Questions

Wird AForge.NET noch gepflegt?
Nein. AForge.NET wurde seit Juli 2013 aufgegeben — ohne Updates, Sicherheitspatches oder .NET 6+ Unterstützung. Community-Forks existieren, variieren aber in Qualität und Wartung. Verwenden Sie VisioForge .Net SDK als moderne AForge.NET Alternative.
Was ist die beste AForge.NET Alternative für C# Videoaufnahme?
VisioForge Video Capture SDK .Net ersetzt AForge.Video mit einer modernen asynchronen API, die Webcams, IP-Kameras (RTSP/ONVIF), Bildschirmaufnahme und Ausgabe in MP4, WebM und andere Formate auf .NET 6-10 unterstützt.
Ersetzt VisioForge die AForge.Imaging Filter?
Teilweise. VisioForge CV enthält Weichzeichnung, Verpixelung, Canny-Kantenerkennung, morphologische Operationen, Graustufenkonvertierung und Histogramm-Equalisierung. Für die volle Palette an Bildfiltern (Sobel, Hough, Farbfilterung, Template Matching) verwenden Sie OpenCvSharp zusammen mit VisioForge.
Kann ich VisioForge für C# Gesichtserkennung ohne AForge verwenden?
Ja. VisioForge .Net SDK enthält drei integrierte Gesichtserkennungs-Engines — Haar-Kaskade, DNN-basiert und DLib-basiert — mit integrierter Datenschutz-Weichzeichnung und -Verpixelung. Keine AForge- oder Accord.NET-Abhängigkeit erforderlich.
Unterstützt VisioForge .NET 6, .NET 8, .NET 9 und .NET 10?
Ja. Alle VisioForge .Net SDK Pakete unterstützen .NET 6 bis .NET 10, einschließlich plattformübergreifender Bereitstellung auf Windows, macOS, Linux, iOS und Android.
Kann ich schrittweise von AForge.NET migrieren?
Ja. VisioForge SDKs können während der Migration neben AForge.NET-Paketen bestehen. Ersetzen Sie eine Komponente nach der anderen — beginnen Sie mit Videoaufnahme, dann Erkennung, dann Bildverarbeitung — und entfernen Sie AForge NuGet-Pakete nach Abschluss jedes Schritts.

Starten Sie Ihre Migration

Verwandte Migrationsanleitungen