J'ai une séquence d'images jpg que je capture et affiche à l'écran pour créer une vidéo.Rendu d'une séquence d'images en C# pour créer une vidéo
Je suis en train de décompresser l'image à partir d'un MemoryStream en utilisant un JpegBitmapDecoder et de le restituer en réglant la Source sur un contrôle Image. Cela semble fonctionner, mais les frais généraux du processeur sont assez élevés. Les images sont 1280x720, fonctionnant à 30fps et je peux à peine suivre mon ordinateur (Dual Core 2.8Ghz). Courir à des résolutions plus élevées me fait jeter des cadres. Je voudrais essayer d'obtenir l'utilisation du processeur vers le bas.
La plupart du temps passé passé semble être dans le décodage (simples repères du décodage seul sur ma machine à mettre en évidence que je peux décoder environ 40fps). Est-ce que quelqu'un sait s'il existe un décodeur plus rapide disponible (DirectX? DirectShow? Quelque chose que je peux décharger sur la carte vidéo?)
En ce qui concerne le rendu, il ne semble pas que le contrôle Image soit conçu pour ce type d'utilisation (J'étais vraiment surpris que ça marche, j'ai juste essayé car c'était facile à faire). Existe-t-il un autre moyen de rendre les images individuelles plus rapides?
Une solution alternative pourrait être de nommer les jpg séquentiellement, puis d'ouvrir le premier dans VirtualDub, qui les lira ensuite comme une vidéo. –
J'aurais dû être plus clair. Je suis en streaming les images et je veux lire une vidéo en direct à partir des images en streaming. – Dolphin
quelle méthode utilisez-vous pour diffuser les images jpeg? J'essaie presque exactement la même chose et j'utilise BinaryFormatter pour encapsuler le MemoryStream et l'envoyer. Je me demande s'il existe une meilleure méthode. – geometrikal