VisioForge

Webcam-Video mit .Net Speichern: Vollständiger Leitfaden zum Aufnehmen und Erfassen von Webcams

Das Erfassen und Speichern von Videos von Webcams ist eine häufige Anforderung in vielen modernen Anwendungen, von Videokonferenz-Tools bis zu Überwachungssystemen. Ob Sie Webcam-Material aufnehmen, den Webcam-Feed anzeigen oder Bilder erfassen müssen - die Implementierung zuverlässiger Webcam-Funktionalität in .NET (DotNet) kann eine Herausforderung darstellen. Dieses Tutorial bietet eine einfache Schritt-für-Schritt-Anleitung zum Speichern von Webcam-Videos mit C# (C Sharp) mit minimalem Code.

Hauptfunktionen des Video Capture SDK .Net

Video Capture SDK .Net ist eine leistungsstarke Bibliothek, die speziell für .NET-Entwickler entwickelt wurde, die Webcam-Erfassungsfunktionalität in ihre Anwendungen implementieren müssen. Egal, ob Sie Webcam-Video aufnehmen, Webcam-Frames als Bilder speichern oder den Webcam-Feed in Ihrer Anwendung anzeigen möchten - dieses SDK hat alles, was Sie brauchen. Zu den herausragenden Funktionen gehören:

  • Nahtlose Integration in .NET-Anwendungen
  • Unterstützung für mehrere Aufnahmegeräte (USB-Webcams, IP-Kameras, Capture-Karten)
  • Hochleistungs-Video- und Audioaufnahme und -verarbeitung
  • Einfacher Code zum Abrufen und Anzeigen von Webcam-Feeds
  • Erstellen und Speichern von Videodateien in verschiedenen Formaten
  • GPU-beschleunigte Codierung für optimale Leistung
  • Plattformübergreifende Kompatibilität

Ausgabeformate: MP4 und WebM im Detail

MP4-Format

MP4 ist eines der am weitesten unterstützten Video-Containerformate und damit eine ausgezeichnete Wahl für Anwendungen, bei denen Kompatibilität Priorität hat.

Unterstützte Codecs für MP4:

  • H.264 (AVC): Der Industriestandard für Videokompression, bietet hervorragende Qualität und breite Kompatibilität
  • H.265 (HEVC): Codec der nächsten Generation mit bis zu 50% besserer Kompression als H.264 bei gleichbleibender Qualität
  • AAC: Advanced Audio Coding, der Industriestandard für verlustbehaftete digitale Audiokompression

WebM-Format

WebM ist ein offenes, lizenzgebührenfreies Mediendateiformat, das für das Web entwickelt wurde.

Unterstützte Codecs für WebM:

  • VP8: Open-Source-Videocodec von Google entwickelt, hauptsächlich mit WebM-Format verwendet
  • VP9: Nachfolger von VP8 mit erheblich verbesserter Kompressionseffizienz
  • AV1: Neuester Open-Source-Videocodec mit überlegener Kompression und Qualität, insbesondere bei niedrigeren Bitraten
  • Vorbis: Freies und Open-Source-Audiokompressionsformat mit guter Qualität bei niedrigeren Bitraten

Jeder Codec kann mit verschiedenen Parametern feinabgestimmt werden, um das optimale Gleichgewicht zwischen Qualität und Dateigröße für Ihre spezifischen Anwendungsanforderungen zu erreichen.

GPU-Beschleunigung für effiziente Kodierung

Eine der herausragenden Funktionen von Video Capture SDK .Net ist die robuste Unterstützung für GPU-beschleunigte Videokodierung, die mehrere bedeutende Vorteile bietet:

Vorteile der GPU-Beschleunigung

  • Dramatisch reduzierte CPU-Auslastung: CPU-Ressourcen für andere Anwendungsaufgaben freigeben
  • Schnellere Kodierungsgeschwindigkeiten: Bis zu 10x schneller als reine CPU-Kodierung
  • Echtzeit-Hochauflösungscodierung: Ermöglicht 4K-Videoaufnahme mit minimalem Systemeinfluss
  • Geringerer Stromverbrauch: Besonders wichtig für mobile und Laptop-Anwendungen
  • Höhere Qualität bei gleicher Bitrate: Einige GPU-Encoder bieten bessere Qualität pro Bit als CPU-Kodierung

Unterstützte GPU-Technologien

Video Capture SDK .Net nutzt mehrere GPU-Beschleunigungstechnologien:

  • NVIDIA NVENC: Hardware-beschleunigte Kodierung auf NVIDIA GPUs
  • AMD AMF/VCE: Beschleunigung auf AMD-Grafikkarten
  • Intel Quick Sync Video: Hardware-Kodierung auf Intel-integrierten Grafiken

Das SDK erkennt automatisch verfügbare Hardware und wählt den optimalen Kodierungspfad basierend auf den Fähigkeiten Ihres Systems, mit Rückfall auf Software-Kodierung wenn nötig.

Implementierungsbeispiel (C#-Code zur Videoaufnahme von Webcam)

Lassen Sie uns ein einfaches Tutorial durchgehen, wie man Webcam-Video mit C# aufnimmt. Die Implementierung der Webcam-Erfassung mit Video Capture SDK .Net ist unkompliziert. Hier ist ein vollständiges Beispiel, das zeigt, wie Sie Ihren Webcam-Feed erhalten, ihn in Ihrer Anwendung anzeigen und in eine MP4-Datei mit H.264-Codierung speichern:

Implementierungsbeispiel (C#-Code zur Videoaufnahme von Webcam)

C#
using System;
using System.IO;
using System.Linq;
using System.Windows.Forms;

using VisioForge.Core;
using VisioForge.Core.VideoCaptureX;
using VisioForge.Core.Types.X.Sources;
using VisioForge.Core.Types.X.Output;
using VisioForge.Core.Types.X.AudioRenderers;

namespace video_capture_webcam_mp4
{
    public partial class Form1 : Form
    {
        // Core Video Capture object
        private VideoCaptureCoreX videoCapture1;

        public Form1()
        {
            InitializeComponent();
        }

        private async void btStart_Click(object sender, EventArgs e)
        {
            // Create VideoCaptureCoreX instance and set VideoView for video rendering
            videoCapture1 = new VideoCaptureCoreX(VideoView1);

            // Enumerate video and audio sources
            var videoSources = (await DeviceEnumerator.Shared.VideoSourcesAsync());
            var audioSources = (await DeviceEnumerator.Shared.AudioSourcesAsync());

            // Set default video source
            videoCapture1.Video_Source = new VideoCaptureDeviceSourceSettings(videoSources[0]);

            // Set default audio source
            videoCapture1.Audio_Source = audioSources[0].CreateSourceSettingsVC();

            // Set default audio sink
            var audioRenderers = (await DeviceEnumerator.Shared.AudioOutputsAsync());
            videoCapture1.Audio_OutputDevice = new AudioRendererSettings(audioRenderers[0]);
            videoCapture1.Audio_Play = true;

            // Configure MP4 output. Default video and audio encoders will be used. GPU encoders will be used if available.
            var mp4Output = new MP4Output(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.MyVideos), "output.mp4"));
            videoCapture1.Outputs_Add(mp4Output);
            videoCapture1.Audio_Record = true;

            // Start capture
            await videoCapture1.StartAsync();
        }

        private async void Form1_Load(object sender, EventArgs e)
        {
            // We have to initialize the engine on start
            Text += " [FIRST TIME LOAD, BUILDING THE REGISTRY...]";
            this.Enabled = false;
            await VisioForgeX.InitSDKAsync();
            this.Enabled = true;
            Text = Text.Replace("[FIRST TIME LOAD, BUILDING THE REGISTRY...]", "");
        }

        private async void btStop_Click(object sender, EventArgs e)
        {
            // Stop capture
            await videoCapture1.StopAsync();

            // Release resources
            await videoCapture1.DisposeAsync();
        }

        private void Form1_FormClosing(object sender, FormClosingEventArgs e)
        {
            // Release SDK
            VisioForgeX.DestroySDK();
        }
    }
}

Zusätzliche Code-Beispiele

Für WebM-Ausgabe mit VP9-Codierung ändern Sie einfach die Encoder-Einstellungen:

WebM-Ausgabe mit VP9

C#

Hier ist ein einfaches Beispiel, wie Sie nur ein einzelnes Bild von der Webcam speichern.

Video-Sample-Grabber aktivieren:

Snapshot-Grabber aktivieren

C#

Ein einzelnes Bild von der Webcam abrufen und speichern:

Schnappschuss speichern

C#

Native Abhängigkeiten

Video Capture SDK .Net basiert auf nativen Bibliotheken, um auf Webcam-Geräte zuzugreifen und Video- und Audioverarbeitung durchzuführen. Diese nativen Abhängigkeiten sind im SDK enthalten und werden automatisch mit Ihrer Anwendung bereitgestellt, was eine nahtlose Integration und Kompatibilität über verschiedene Systeme gewährleistet.

Haupt-SDK-Paket (verwaltet):

Paketreferenz

XML

Native Abhängigkeiten für Windows x64:

Native Abhängigkeiten

XML

Für alternative Plattformen (macOS, Linux, Android, iOS) verwenden Sie die entsprechenden nativen Abhängigkeiten.

Plattformübergreifende Kompatibilität

Video Capture SDK .Net wurde mit plattformübergreifender Kompatibilität im Hinterkopf entwickelt, was es zur idealen Wahl für Entwickler macht, die an Anwendungen arbeiten, die auf mehreren Betriebssystemen laufen müssen.

MAUI-Kompatibilität

Für Entwickler, die mit .NET MAUI (Multi-platform App UI) arbeiten, bietet Video Capture SDK .Net:

  • Volle Kompatibilität mit MAUI-Anwendungen
  • Konsistente API über alle unterstützten Plattformen
  • Plattformspezifische Optimierungen bei gleichzeitiger Beibehaltung einer einheitlichen Codebasis
  • Beispiel-MAUI-Projekte, die die Implementierung über Plattformen hinweg demonstrieren

Diese plattformübergreifende Fähigkeit ermöglicht es Entwicklern, Code einmal zu schreiben und über Windows, macOS und mobile Plattformen über MAUI bereitzustellen, was die Entwicklungszeit und den Wartungsaufwand erheblich reduziert.

Video Capture SDK .Net bietet eine umfassende Lösung zum Hinzufügen von Webcam-Videoaufnahmefunktionen zu Ihren DotNet-Anwendungen. Egal, ob Sie Webcam-Material aufnehmen, Webcam-Bilder speichern oder einfach nur den Webcam-Feed in Ihrer Anwendung anzeigen müssen, diese Bibliothek macht den Prozess mit nur wenigen Zeilen C#-Code einfach.

Mit Unterstützung für Industriestandard-Formate wie MP4 und WebM, moderne Codecs einschließlich H.264/H.265 und VP8/VP9/AV1 sowie leistungsstarke GPU-Beschleunigung bietet sie die Leistung und Flexibilität, die selbst für die anspruchsvollsten Videoaufnahmeanwendungen erforderlich sind. Die Fähigkeit, Videodateien effizient zu erstellen und zu speichern, macht diese Bibliothek perfekt für jede Anwendung, die Webcam-Inhalte aufzeichnen muss.

Die plattformübergreifende Kompatibilität des SDK, die sich auf macOS- und MAUI-Anwendungen erstreckt, stellt sicher, dass Ihre Webcam-Erfassungslösung konsistent über verschiedene Betriebssysteme funktioniert. Ob Sie ein Videokonferenz-Tool, eine Überwachungsanwendung oder eine andere Software entwickeln, die Webcam-Funktionalität benötigt, Video Capture SDK .Net bietet die Werkzeuge, die Sie benötigen, um diese Funktionen schnell zu implementieren.

Der Einstieg ist so einfach wie das Befolgen des Schritt-für-Schritt-Tutorials und der oben bereitgestellten Codebeispiele. Für fortgeschrittenere Anwendungsfälle und detaillierte Dokumentation zur Aufnahme von Webcam-Videos mit .NET besuchen Sie unsere Website oder konsultieren Sie die SDK-Dokumentation.

Preise/Lizenzen

Erfahren Sie mehr über Video Capture SDK .Net Funktionen und Möglichkeiten

  • 30-tägige Testphase
  • Reguläre Lizenz mit kostenlosen Updates für ein Jahr
  • Lebenslange Lizenz mit unbegrenzten Updates
  • Keine Erinnerungsbildschirme
  • Fortgesetzte Funktionalität nach Ablauf der Lizenz

Das SDK ist kostenlos für nicht-kommerzielle Nutzung, mit professionellen Lizenzoptionen für kommerzielle Anwendungen.

Bereit, mit der Webcam-Videoaufnahme zu beginnen?

Laden Sie die Testversion herunter und beginnen Sie noch heute mit dem Aufbau Ihrer Webcam-Aufnahmeanwendung.

Bereit für Produktionsanwendungen?

Jetzt Kaufen