Я хочу конвертировать Writablebitmap в поток Jpeg, и похоже, что нет поддержки платформы, а также я вижу кучу библиотек Encoder с открытым исходным кодом в Интернете, я хочу получить ваше мнение о том, является рекомендуемым с точки зрения производительности и надежности.Лучший Jpeg Encoder для Silverlight 4.0
ответ
Я отлично поработал с FJCore. Об этом я также сообщил в блоге http://kodierer.blogspot.com/2009/11/convert-encode-and-decode-silverlight.html
Я провел немало времени с FJCore и LibJpeg.Net. FJCore проще в использовании, поскольку он был перенесен с Java и имеет объектную модель, которая смутно напоминает то, что вы ожидаете увидеть на C#. Однако LibJpeg.NET - это, безусловно, более полная библиотека (она основана на неофициально каноническом libjpeg), и это значительно быстрее. Чтобы привести один пример, FJCore использует наивную реализацию обратного дискретного косинусного преобразования, которое включает в себя что-то вроде 1024 умножений и дополнительные 1024 дополнения для каждого блока 8x8. Напротив, LibJpeg.NET использует высокопроизводительный алгоритм AAN, который принимает только 144 умножения и 464 дополнения (см. http://datasheets.chipdb.org/Intel/x86/MMX/MMX/AP528.HTM#AAN Algorithm). Кроме того, FJCore довольно неэффективен в том, как он использует память, постоянно воссоздавая объекты, которые можно легко использовать повторно. В то же время, поскольку FJCore имеет меньше оптимизаций, значительно легче взломать.
Для моего текущего проекта (который включает в себя запись видеокодека для Silverlight), я использовал FJCore в качестве отправной точки, исправил целую кучу его неэффективности, заменил его алгоритм IDCT на один из LibJpeg.NET и оказался в с чем-то, что дало мне примерно 10-кратное первоначальное представление.
Hi Ken, вы можете поделиться обновленный код источника FJCore? Также в вашем собственном опыте в обеих библиотеках с точки зрения качества и сжатия, как вы думаете, лучше? – cubski 2011-05-13 00:04:00
Когда я использовал термин «взломать» в моем ответе выше, я не шутил. Хотя я пытался не сломать что-либо в оригинальной библиотеке FJCore, моя главная задача заключалась в том, чтобы модифицировать ее для работы в моем кодексе видео в стиле Motion JPEG, не делая его легким в использовании для других людей или в других ситуациях. Тем не менее, см. Этот ответ (http://stackoverflow.com/questions/1773330/streaming-a-webcam-from-silverlight-4-beta) для ссылки на несколько более раннюю версию моего измененного кода. – 2011-05-13 16:15:59
Кен, почему вы не отправляете обновленный код в источник FJCore?
- 1. encoder jpeg не доступен
- 2. Перекрестная платформа Expression Encoder 4.0
- 3. JPEG encoder - установить качество из командной строки
- 4. Silverlight (4.0) для пользователей WPF
- 5. Expression Encoder SDK в приложении Silverlight
- 6. Silverlight 4.0 PDF Viewer
- 7. Silverlight 4.0: HyperlinkButton
- 8. Silverlight 4.0 FileStream
- 9. Silverlight 4.0 DataGrid Issue
- 10. C# 4.0 RC, Silverlight 4.0 RC Covariance
- 11. Adobe Flex 4.0 vs Silverlight 4.0
- 12. Silverlight 4.0: Ошибка DataTemplate
- 13. Silverlight 4.0 VisualStateManager
- 14. Silverlight 4.0: MultiDataTrigger
- 15. Silverlight 4.0 IsolatedStorageFile
- 16. Silverlight 4.0 Accordion Template
- 17. AS3 Cipher Decoder & Encoder (лучший ответ?)
- 18. Почему SilverLight 4.0, но не SilverLight 3.0?
- 19. Пользователям нужен Silverlight 4.0 для Expression Blend?
- 20. Инструментарий для графиков в Silverlight 4.0
- 21. Событие «Объединение данных» для Silverlight 4.0 DataGrid?
- 22. Резервные серверы для Silverlight 4.0 App
- 23. Silverlight 4.0 приближается к WPF?
- 24. Новые функции Silverlight в 4.0
- 25. Альтернатива для ковариации для silverlight 4.0 IEnumerable <T>
- 26. Не распознает Silverlight 4.0 Установить
- 27. Silverlight 4.0 - HttpWebRequest throwing ProtocolViolationException
- 28. Лучший ORM для использования с C# 4.0
- 29. Encoder для строки - Python
- 30. AMR Encoder для iPhone
Спасибо так много для блога, я использовал метод EncodeJpeg() с FJCore – 2010-12-03 17:20:19