Pergunta

Como você codifica o vídeo da webcam para H.264 em C#?

O que eu preciso

  • MSDN Se houver alguma ajuda nisso.
  • Libs/invólucros de código aberto para codificação/decodificação.
  • Tutoriais e artigos de blog sobre como fazê -lo.

Alguns exemplos de como codificar em 3GP ou FLV ou algo mais com tamanho de arquivo baixo seriam mais do que apreciados.

Foi útil?

Solução

Você precisará procurar no DirectShow SDK.

A codificação no H.264 não é diretamente possível, no entanto, existem controles comerciais ActiveX que podem ajudá -lo. Mas você precisa entender poucas coisas,

O DirectShow é uma estrutura de processamento de áudio/vídeo e você pode usar a ferramenta de edição gráfica para colocar seus dispositivos no gráfico e testá -lo. E você deve escrever um código semelhante para criar o gráfico, o gráfico é a cadeia de dispositivos/objetos que interagem entre si para produzir saída final.

O DirectShow pode ser usado no .NET, você pode usar a ferramenta GrapheditPlus para criar um gráfico e usá -lo no .NET, no entanto, duvido que o .NET seja melhor, porque pode levar a erros desconhecidos, pois o DirectShow está intimamente obrigado ao COM. Se você criar controle ActiveX, no C ++ nativo e usar o DirectShow para fazer gravação inteira e usar o ActiveX no WPF, isso será mais estável, por mais difícil de programar.

Normalmente você precisará de gráfico como seguinte,

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

O X264 é de código aberto gratuito e possui um bom MP4Muxer, mas não é legal, você deve ter licenças de patentes adquiridas para usar o H264 no seu código.

Alternativas é que você pode ir com muitos controles comerciais, o IPP da Intel é a melhor implementação do H264 até agora, mas é pouco complicado colocá -lo no DirectShow.

Outras dicas

Abaixo estão 2 amostras do CodeProject para captura de vídeo no .NET.

Eles não incluem H.264 especificamente. Para isso, você pode querer pós-processo do vídeo depois de capturar, com componentes de terceiros, por exemplo:http://www.elecard.com/products/products-pc/sdk/codec-.net-sdk/

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top