Question

Comment encodez-vous la vidéo de la webcam dans H.264 en C #?

De quoi ai-je besoin

  • MSDN s'il existe une aide à ce sujet.
  • Librairies / wrappers Open Source pour le codage / décodage.
  • Didacticiels et articles de blog sur la marche à suivre.

Des exemples de la manière de coder en 3GP ou FLV ou autre chose avec une taille de fichier réduite seraient plus qu’appréciés.

Était-ce utile?

La solution

Vous devrez examiner DirectShow SDK.

Le codage en H.264 n’est pas directement possible, cependant, il existe des contrôles ActiveX commerciaux qui peuvent vous aider. Mais vous devez comprendre peu de choses,

DirectShow est une structure de traitement audio / vidéo. Vous pouvez utiliser l’outil de modification de graphique pour placer vos périphériques sur le graphique et le tester. Et vous devez écrire un code similaire pour construire un graphique, graphique est une chaîne de périphériques / objets qui interagissent les uns avec les autres pour produire une sortie finale.

DirectShow peut être utilisé dans .NET. Vous pouvez utiliser l’outil GraphEditPlus pour créer un graphique et l’utiliser dans .NET. Toutefois, je doute que .NET soit un meilleur moyen car il peut entraîner des erreurs inconnues, car DirectShow est étroitement lié à COM. Si vous créez un contrôle ActiveX, en C ++ natif et utilisez DirectShow pour effectuer un enregistrement complet et que vous utilisez ActiveX dans WPF, ce sera plus stable même s’il est difficile à programmer.

Typiquement, vous aurez besoin du graphique suivant,

Video Source => Demux -> Audio Stream + Video Stream -> MP4Muxer 

x264 est une source libre et a un bon MP4Muxer mais pas légal, vous devez avoir des licences de brevets acquis pour utiliser H264 dans votre code.

Vous pouvez utiliser beaucoup de contrôles commerciaux, l’IPP d’Intel est la meilleure implémentation de H264 à ce jour, mais c’est un peu délicat de le mettre en directshow.

Autres conseils

Vous trouverez ci-dessous 2 exemples de CodeProject pour la capture vidéo en .NET.

Ils n'incluent pas spécifiquement le H.264. Pour cela, vous voudrez peut-être post-traiter la vidéo après la capture, avec les composants tiers E.g: http://www.elecard.com/products/ produits-pc / sdk / codec-.net-sdk /

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top