2010-01-10 9 views
0

J'utilise le filtre SampleGrabber pour obtenir les images d'un fichier AVI et les modifier avant de les écrire dans un autre (nouveau) fichier AVI en utilisant le filtre d'écriture de fichier.Filtreur de fichier créant un fichier AVI plus grand que l'original

Le problème que je suis confronté est que la nouvelle taille de fichier AVI est supérieure au fichier d'origine. J'ai supprimé le filtre SampleGrabber en pensant que c'est peut-être mon code qui causait le problème, mais la nouvelle taille du fichier est toujours supérieure au fichier d'origine. Je l'ai testé avec graphedit. Les filtres utilisés étaient: Lecteur de fichiers-> AVI Splitter-> AVI Mux-> Editeur de fichiers. Je veux vraiment préserver la taille du fichier. Y a-t-il un autre filtre ou une autre propriété que je dois définir? Pour le moment, je ne fais qu'ajouter les filtres dans GraphBuilder et rendre le fichier. J'utilise DirectShowLib.Net.

Répondre

0

Je viens de faire un test rapide en utilisant

File source (async) -> AVI splitter -> AVI mux -> file writer 

dans Graphedit et le fichier de sortie semble toujours sortir la même taille que l'entrée pour moi. La seule chose à laquelle je peux penser est que votre fichier d'entrée pourrait être compressé. Il pourrait être utile d'inspecter le fichier d'entrée avec une application comme gspot pour le déterminer. Si je comprends bien, DirectShow va parfois insérer des filtres appropriés afin de faire une connexion, donc si vous essayez de connecter votre source de fichier à un séparateur AVI, il peut insérer un décompresseur si nécessaire. Espérons que cela soit utile

+0

Non, il n'y avait pas de décompresseur. La taille du fichier qui en résulte varie de quelques Ko à des Mo. Je pense que lorsque vous enregistrez le fichier en utilisant le filtre DirectShow, il peut ajouter quelques informations supplémentaires. Parce que quand je passe à nouveau le fichier B nouvellement généré à travers le même graphique, j'obtiens un nouveau Fichier-C qui est de taille de sauvegarde de Fichier-B. – ata