Domanda

Come si codifica il video dalla webcam in H.264 in C #?

Di cosa ho bisogno

  • MSDN se c'è qualche aiuto in merito.
  • Libs / wrapper Open Source per la codifica / decodifica.
  • Tutorial e articoli di blog su Come farlo.

Alcuni esempi di come codificare in 3GP o FLV o qualcos'altro con file di dimensioni ridotte sarebbero più che apprezzati.

È stato utile?

Soluzione

Dovrai esaminare DirectShow SDK.

La codifica in H.264 non è direttamente possibile, tuttavia ci sono controlli ActiveX commerciali che possono aiutarti. Ma devi capire alcune cose,

DirectShow è un framework di elaborazione audio / video e puoi usare lo strumento di modifica dei grafici per mettere i tuoi dispositivi sul grafico e testarlo. E devi scrivere un codice simile per costruire un grafico, il grafico è una catena di dispositivi / oggetti che interagiscono tra loro per produrre un output finale.

DirectShow può essere utilizzato in .NET, è possibile utilizzare lo strumento GraphEditPlus per creare un grafico e utilizzarlo in .NET, tuttavia dubito che .NET sia il modo migliore perché può causare errori sconosciuti poiché DirectShow è strettamente associato a COM. Se si crea il controllo ActiveX, in C ++ nativo e si utilizza DirectShow per eseguire l'intera registrazione e si utilizza ActiveX in WPF, sarà più stabile ma difficile da programmare.

In genere è necessario il grafico come segue,

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

x264 è open source gratuito e ha un buon MP4Muxer ma non è legale, devi avere licenze di brevetto acquisite per usare H264 nel tuo codice.

In alternativa puoi scegliere tra numerosi controlli commerciali, l'IPP di Intel è finora la migliore implementazione di H264, ma è un po 'complicato metterlo in directshow.

Altri suggerimenti

Di seguito sono riportati 2 esempi di CodeProject per l'acquisizione di video in .NET.

Non includono specificamente H.264. Per questo, potresti voler postelaborare il video dopo l'acquisizione, con componenti di terze parti, ad esempio: http://www.elecard.com/products/ prodotti-pc / sdk / codec-NET-sdk /

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top