Décoder de la vidéo h264

Je suis à la recherche d'un moyen de décoder le h264 (ou n'importe quel format vidéo) à l'aide de c#. Le but ultime est d'être en mesure de décoder les images et très strictement contrôler la lecture en temps réel. Le projet que je suis en train de travailler sur une non-linéaire de l'art vidéo, la pièce où le métrage en HD est nécessaire pour faire une boucle et de modifier lui-même à la volée, la lecture de certains cadre plages et puis de sauter à la prochaine choisis au hasard de la plage d'images de façon transparente.

J'ai créé une application qui lit les fichiers image (jpeg) à partir du disque et joue sur l'écran dans l'ordre, j'ai un contrôle total sur l'image qui est chargé, et quand il est affiché, mais au full HD res elle prend un peu plus de temps que je veux charger les images à partir du disque dur (qui sont environ 500 ko chacune), Je pense que l'utilisation d'un format vidéo compressé serait plus petit et donc plus rapide à lire et décoder dans un cadre particulier, cependant je ne trouve pas facilement disponibles manière de le faire.

Y a des bibliothèques qui peut faire cela? c'est à dire extraire une image quelconque à partir d'un fichier vidéo et de le servir à une de mes applications en moins de temps qu'il faut pour afficher l'image (course à 25fps), j'ai regardé dans le vlc des bibliothèques et des wrappers pour ffmpeg, mais je ne sais pas ce qui serait mieux ou si il y aurait une autre option encore meilleure. Aussi, je ne sais pas quel codec serait le meilleur choix car certains sont des images clés en fonction de décisions arbitraires de l'extraction des images sans doute très difficile.

Tous les conseils bienvenue, merci

  • Si vous avez déjà une solution de travail - pourquoi ne pas vous venez de précharger les images Jpeg en mémoire ? Cela devrait vous donner une meilleure performance... vous pouvez également utiliser MemoryMappedFile pour faire de la lecture extrêmement rapide...
  • Si vous voulez le plein contrôle, vous pouvez explorer de Microsoft DirectShow Api msdn.microsoft.com/en-us/library/dd390351(v=VS.85).aspx
  • Logiciel de décodage de la HD H264 vidéo à 25 fps est tout un défi difficile à relever!
  • -Yahia : la mise en Cache est probablement un domaine que je voudrais éviter, car je ne connais pas la longueur des clips, trop long et pas assez de mémoire et je vais rapidement avoir des ennuis. Toutefois, votre idée d'utiliser une carte mémoire est assez intruiging.
  • Sauter à n'importe quel cadre, dans le H264 est un peu un problème, sauf si elle arrive à être une image-clé. Il peut être fait, bien sûr, mais il pourrait être assez lent. Jusqu'à 16 images de référence peut être décodé si je ne sais pas comment c'est. 2 cadres de référence devrait être assez commun. En HuffYUV chaque image est une image-clé, rapide et à décompresser dans le logiciel trop. Peut-être intéressant de regarder dans.
  • -Yahia - Si j'obtiens de vous droite, j'ai pu cache toutes les images dans la mémoire virtuelle, comme un fichier statique du système de fichiers et ensuite l'utiliser dans mon programme pour obtenir le prêt-à-go cadres. Je pense à l'obtention d'un lecteur à état solide pour ce projet afin d'avoir de la mémoire disponible sur qui est peut-être juste assez. Comme un bonus supplémentaire de ma vidéo sera soigneusement enfermé dans la carte mémoire de sorte qu'il serait aussi difficile à copier. Pouvez-vous donner des bons liens vous savez de ressources sur les cartes mémoire? Merci
  • Yahia - Dire, par exemple, comment pourrait je conserver un certain nombre de fichiers jpeg dans une carte mémoire, et comment pourrais-je les récupérer plus tard? Merci à tous pour votre aide btw

InformationsquelleAutor john bowring | 2011-08-28