Capture vidéo de webcam au format WMV en .NET¶
Tutoriel vidéo d'implémentation¶
Ce tutoriel montre comment créer une application Windows Forms qui capture la vidéo d'une webcam et l'enregistre au format WMV à l'aide de Video Capture SDK .NET. L'exemple ci-dessous fournit une présentation complète avec un code source intégralement commenté.
Accès au code source¶
Accédez au projet complet avec tous les fichiers sources et exemples supplémentaires sur notre dépôt GitHub :
Dépendances requises¶
Avant d'implémenter le code, assurez-vous d'avoir installé les paquets redistribuables nécessaires via NuGet :
- Redistribuables de capture vidéo :
- Paquet x86
- Paquet x64
Étapes d'implémentation¶
Les sections suivantes décrivent les étapes clés pour implémenter la fonctionnalité de capture de webcam dans votre application .NET.
Configuration de la structure du projet¶
Tout d'abord, créez une application Windows Forms et ajoutez les références du SDK via NuGet. Implémentez ensuite le formulaire avec les contrôles nécessaires, y compris une zone d'aperçu vidéo et des boutons démarrage/arrêt.
Code d'implémentation C¶
using System;
using System.IO;
using System.Windows.Forms;
using VisioForge.Core.VideoCapture;
using VisioForge.Core.Types;
using VisioForge.Core.Types.Output;
using VisioForge.Core.Types.VideoCapture;
namespace video_capture_webcam_wmv
{
public partial class Form1 : Form
{
// Instance principale du composant VideoCapture
private VideoCaptureCore videoCapture1;
public Form1()
{
InitializeComponent();
}
private async void btStart_Click(object sender, EventArgs e)
{
// Configurer le périphérique de capture vidéo par défaut (webcam)
// En utilisant le premier périphérique disponible dans le système
videoCapture1.Video_CaptureDevice = new VideoCaptureSource(videoCapture1.Video_CaptureDevices()[0].Name);
// Configurer le périphérique de capture audio par défaut (microphone)
// En utilisant le premier périphérique audio disponible dans le système
videoCapture1.Audio_CaptureDevice = new AudioCaptureSource(videoCapture1.Audio_CaptureDevices()[0].Name);
// Définir le chemin du fichier de sortie vers le dossier Vidéos de l'utilisateur
videoCapture1.Output_Filename = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.MyVideos), "output.wmv");
// Configurer le format de sortie en WMV avec les paramètres par défaut
// WMV est un bon choix pour la compatibilité Windows
videoCapture1.Output_Format = new WMVOutput();
// Définir le mode de capture sur VideoCapture (capture à la fois la vidéo et l'audio)
videoCapture1.Mode = VideoCaptureMode.VideoCapture;
// Démarrer le processus de capture de manière asynchrone
// Cela permet à l'interface de rester réactive pendant la capture
await videoCapture1.StartAsync();
}
private async void btStop_Click(object sender, EventArgs e)
{
// Arrêter le processus de capture de manière asynchrone
// Cela garantit un nettoyage approprié des ressources
await videoCapture1.StopAsync();
}
private void Form1_Load(object sender, EventArgs e)
{
// Initialiser le VideoCaptureCore lors du chargement du formulaire
// Le connecter au contrôle VideoView du formulaire pour l'aperçu
videoCapture1 = new VideoCaptureCore(VideoView1 as IVideoView);
}
}
}
Détails clés d'implémentation¶
-
Initialisation du composant : Le
VideoCaptureCoreest initialisé lorsque le formulaire se charge, en se connectant au contrôle d'aperçu vidéo. -
Sélection du périphérique : Le code sélectionne automatiquement la première webcam et le premier microphone disponibles sur le système.
-
Configuration de la sortie : Le format WMV est sélectionné pour sa compatibilité avec les systèmes Windows et sa large prise en charge de plateformes.
-
Gestion des ressources : La méthode
StopAsync()garantit un nettoyage approprié des ressources système lorsque l'enregistrement se termine.
Options de personnalisation avancée¶
Le SDK propose des options supplémentaires non présentées dans cet exemple de base :
- Paramètres de résolution et de fréquence d'images de la caméra
- Paramètres de qualité vidéo et de compression
- Filigranes et superpositions personnalisés
- Capacités de capture multi-périphériques
Conseils de dépannage¶
- Assurez-vous que votre webcam est correctement connectée et reconnue par Windows
- Vérifiez que les redistribuables corrects sont installés pour votre plateforme cible (x86/x64)
- Vérifiez les autorisations Windows pour l'accès à la caméra sur les systèmes d'exploitation plus récents
Visitez notre page GitHub pour obtenir plus d'exemples de code et d'exemples d'implémentation avancée.