2010-07-26 4 views

Répondre

2

FFMPEG et .net est votre meilleur choix

+0

Qu'en est-il du codeur d'expression? –

+0

Ni l'une ni l'autre de ces options ne sont réellement excellentes; .NET est entièrement trop générique pour constituer n'importe quelle sorte de réponse raisonnable. – kidjan

+1

Avez-vous suivi son lien pour voir qu'il fait référence au projet FFMPEGdotnet, la version .net de FFMPEG. – David

3

j'utiliser DirectShow.NET, parce que ça va vous laisser faire beaucoup de travail en code managé, ce qui est un peu plus facile que de le faire en code natif.

Vous devrez construire un graphique de filtre pour rendre le fichier que vous voulez, et vous aurez également besoin d'un lecteur de fichier pour le format du fichier (si c'est un fichier MP4, vous aurez besoin d'un démon MP4), et vous aurez besoin d'un décodeur pour le format de la vidéo (si c'est H264, vous aurez besoin d'un filtre décodeur H264). J'utiliserais Windows7 si possible, il a beaucoup mieux support des médias.

Votre graphique devrait ressembler à:

File Reader -> Video Decoder -> Sample Grabber -> Null Renderer 

Vous construisez votre graphique, puis appelez IMediaSeeking chercher à l'heure approximative de l'échantillon que vous voulez. Ensuite, exécutez le graphique. Les trames décompressées viendront via une interface de rappel Sample Grabber. Vous pouvez vérifier les horodatages et obtenir celui qui est le plus proche de ce dont vous avez besoin. À partir de là, vous pouvez utiliser .NET pour l'enregistrer comme n'importe quel format d'image (le format JPEG est probablement le meilleur).

Questions connexes