基于Java的视频播放器可以足够快吗?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了基于Java的视频播放器可以足够快吗?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2610字,纯文字阅读大概需要4分钟。
内容图文
![基于Java的视频播放器可以足够快吗?](/upload/InfoBanner/zyjiaocheng/719/ab0c338eb3c44ab09b5c69016a24a784.jpg)
我一直在寻找基于Java的视频播放器,不,我不需要它.只是为了看看是否有多少Java视频播放器.令我惊讶的是,我没有找到.至少没有任何流行的,如VLC,WMP等.我认为这些玩家有一些Java替代品.
显然,我发现许多声明认为Java对于玩家来说太慢了.从我读到的内容可以分为两个子问题:
首先,关于Java beeing的人们写的视频解码速度太慢.但是自从我开始使用Java以来??,我一直认为它的速度实际上非常好.当温暖的JVM几乎和C编写的程序一样好时,我发现了许多基准测试.真的很好.我认为这是因为那些基准测试算法很小而且具有重复性,因此JVM准备了那些编译好的代码并且从那里开始很快.也许在更大的程序中,由于动态编译,它实际上会慢得多.我真的不知道.但是由于Java被JVM编译成本机代码,因此速度真正重要的是代码的多少以及预编译的速度,对吧?当然还有其他差异,但最大的差异是实际编译.
第二,人们写道他们有用C语言编写的视频解码器并通过JNI获取图片数据.但是他们说Java甚至无法绘制30张FPS甚至HD Ready图像.但为什么?我一直认为JVM使用最快的方法在OS中获取其窗口,而不是在内部操纵其内容.如果我在JVM“加热”时压缩Java足够快(意思是C),那么显示图像的问题在哪里?在这种情况下,JVM必须做的就是将数组写入OS特定的显示输出,对吧?
那么,Java真的很慢,还是我错过了什么?是否可以使用纯Java编写全速(或几乎全速)视频播放器?如果没有,为什么?谢谢.
解决方法:
第三次谷歌搜索“视频播放java”似乎相关:
http://blog.pirelenito.org/2008/08/java-movie-playback-jogl-fobs4jmf/
我不太熟悉这个主题给出一个明确的答案,但我可以扩展你提出的某些观点:
But since Java is compiled into native code by JVM, all it really matters with speed is how much code and how fast it precompiles, right? Of course there are other differences, but the biggest one would be the actuall compilation.
有几点我不会失控.例如,Java规范要求在每次访问数组元素之前,运行时必须检查索引是否有效,即0 <= index&&指数< array.length.我认为视频解码将大量使用数组,因此Java数组可能不适合该任务.
But they say Java is too slow to even paint those 30 FPS even HD Ready images. But why? I always thought that JVM uses the fastest method available to get its window in OS, and than manipulating its content internally. And if I pressume Java is fast enough (meaning C++ like) when JVM is “warmed”, where is the problem with displaying images? all JVM has to do in that case is to write array to OS specific display output, right?
咳嗽……我不会高效地调用Java 2D API的默认渲染器.至少在我的计算机上,通过JOGL直接Open GL调用使用JDK提供的API是非常有效的(大约10倍).我怀疑工作中软件和硬件渲染之间的区别……但这主要不是语言的错误,而是标准库的错误.无论编程语言如何,如果没有硬件加速,没有人会想到高性能图形.
此外,渲染通常不仅仅是复制数组,例如缩放,颜色空间转换和缓冲(以避免撕裂).
结论:我认为可以用Java进行视频播放,但很可能需要使用本机库来访问硬件加速,并且可能比纯本机解决方案效率低一些.
内容总结
以上是互联网集市为您收集整理的基于Java的视频播放器可以足够快吗?全部内容,希望文章能够帮你解决基于Java的视频播放器可以足够快吗?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。