Je veux convertir Writablebitmap en flux Jpeg, et il semble qu'il n'y a pas de support de plate-forme ainsi que je peux voir un tas de bibliothèques de codeurs opensource sur le web, je veux avoir votre avis sur lequel est recommandé en termes de performance et de fiabilité.Meilleur encodeur Jpeg pour Silverlight 4.0
Répondre
J'ai fait une bonne expérience avec FJCore. J'ai aussi blogué à ce sujet il ya un certain temps http://kodierer.blogspot.com/2009/11/convert-encode-and-decode-silverlight.html
J'ai passé pas mal de temps avec FJCore et LibJpeg.Net. FJCore est plus facile à utiliser, puisqu'il a été porté depuis Java, et a un modèle d'objet qui ressemble vaguement à ce que vous attendez de C#. Cependant, LibJpeg.NET est de loin la bibliothèque la plus complète (elle est basée sur le libjpeg), et elle est également beaucoup plus rapide. Pour donner un exemple, FJCore utilise une implémentation naïve d'une transformée cosinus discrète inverse qui implique quelque chose comme 1024 multiplications et 1024 additions supplémentaires pour chaque bloc 8x8. En revanche, LibJpeg.NET utilise l'algorithme AAN haute performance qui ne prend que 144 multiplications et 464 additions (voir http://datasheets.chipdb.org/Intel/x86/MMX/MMX/AP528.HTM#AAN Algorithm). En outre, FJCore est assez inefficace dans la façon dont il utilise la mémoire, recréant constamment des objets qui pourraient facilement être réutilisés. Dans le même temps, FJCore ayant moins d'optimisations, il est beaucoup plus facile de pirater. Pour mon projet actuel (qui consiste à écrire un codec vidéo pour Silverlight), j'ai utilisé FJCore comme point de départ, corrigé toute une série d'inefficacités, remplacé son algorithme IDCT par celui de LibJpeg.NET et fini avec quelque chose qui m'a donné environ 10x la performance originale.
Salut Ken, pouvez-vous partager votre code mis à jour à la source FJCore? Aussi dans votre propre expérience dans les deux bibliothèques en termes de qualité et de compression, quel est selon vous le mieux? – cubski
Lorsque j'ai utilisé le terme "hack" dans ma réponse ci-dessus, je ne plaisantais pas. Bien que j'aie essayé de ne rien casser dans la bibliothèque originale de FJCore, ma principale préoccupation était de le modifier pour fonctionner dans mon codec vidéo Motion JPEG particulier, ce qui ne facilite pas l'utilisation pour d'autres personnes ou dans d'autres situations. Cela dit, voir cette réponse (http://stackoverflow.com/questions/1773330/streaming-a-webcam-from-silverlight-4-beta) pour un lien vers une version plus ancienne de mon code modifié. –
Salut Ken, je prends actuellement 10 fps de mon application webcam et j'utilise FJcore pour l'encodage. Je ne suis pas sûr de savoir comment assembler les images encodées en vidéo mjpeg. J'ai essayé d'ajouter séquentiellement les octets des images codées à un flux pour l'enregistrer sur le disque, en vain. Pourriez-vous me diriger vers la bonne voie? Merci. – cubski
Ken pourquoi ne soumettez-vous pas votre code mis à jour à la source FJCore?
Désolé, je viens de le voir. Je peux encore le faire, mais la plupart de mes modifications étaient dans le sens de l'intégration avec ma solution globale, pas dans le sens de changements généralement utiles et généralement applicables. Il me faudrait probablement plusieurs jours pour reporter les modifications généralement applicables à la bibliothèque FJCore. C'est quelque chose que j'aimerais faire, mais mon démarrage actuel me tient très occupé :-). –
- 1. Meilleur encodeur he-aac sur linux?
- 2. Encodeur/décodeur PNG pour PHP
- 3. Encodeur audio pour Flash
- 4. C# 4.0 RC, Silverlight 4.0 RC Covariance
- 5. Silverlight 4.0 PDF Viewer
- 6. Silverlight 4.0: HyperlinkButton
- 7. Silverlight (4.0) pour les utilisateurs WPF
- 8. Silverlight 4.0: MultiDataTrigger
- 9. Silverlight 4.0: IsolatedStorage URI
- 10. Silverlight 4.0: erreur DataTemplate
- 11. Silverlight 4.0 Modèle d'accordéon
- 12. Silverlight 4.0 IsolatedStorageFile
- 13. Authentification NTLM dans Silverlight 4.0
- 14. meilleur ORM à utiliser avec C# 4.0
- 15. IronPython 2.6.1 pour .NET 4.0 RC ciblant Silverlight?
- 16. Les utilisateurs ont besoin de Silverlight 4.0 pour Expression Blend?
- 17. Comment utiliser White pour tester OpenFileDialog sur l'application Silverlight 4.0?
- 18. Définir la culture globalement pour un client Silverlight 4.0
- 19. Comment convertir un projet Silverlight 3.0 en Silverlight 4.0?
- 20. Silverlight 4.0 se rapproche de WPF?
- 21. Impression de plusieurs pages dans Silverlight (4.0)?
- 22. Ne reconnaît pas Silverlight 4.0 Installer
- 23. Encodeur Reed-Solomon pour application embarquée (mémoire efficace)
- 24. Intégration de Silverlight 4.0 à SharePoint 2007
- 25. Initialisation de ComboBox dans datagrid, Silverlight 4.0
- 26. Quel est le meilleur substitut pour FlowDocument dans Silverlight?
- 27. Sauvegarde de la webcam Snapshot silverlight au format jpeg
- 28. Silverlight 4.0 - comment cibler la version d'exécution de Silverlight pour XAP dans VS 2010?
- 29. Streaming JPEG, détecter la fin de JPEG
- 30. Silverlight 4.0 + 2.0 + MVC services WCF RIA + EF 4.0 = Erreur de chargement
Merci beaucoup pour le blog, je la méthode EncodeJpeg() avec FJCore –