【发布时间】:2011-06-07 20:24:26
【问题描述】:
在寻找了一个不错的用 Java 播放视频的库之后,我陷入了困境。周围的每个人都在尖叫不要使用 JMF,因为它已经过时、陈旧并且需要用户安装它,其他替代品(例如 VLCJ)如果它们工作起来似乎不错,但仍然相对不稳定并且依赖大量的本机代码,以及处理DVD,似乎可以在免费图书馆中找到金粉!
当前选项:
- 现在 JavaFX 2 正在获得动力,这是我一直在认真研究的东西(因此我的问题是 here),但到目前为止,我还没有成功地试图弄清楚如何让它发挥比沼泽标准更多的功能FLV 视频。
- VLCJ 的工作正常(请参阅我当前的答案),目前是我正在做的事情。它使用 libvlc 来做几乎任何事情,因为它可以播放几乎任何文件,也可以播放开箱即用的 DVD。最大的问题是您必须为每个播放器使用多个虚拟机才能使其稳定运行,这意味着响应相对较慢。我还没有在 Mac 上使用这种方法。
- JMF 非常过时,太可怕了,就我而言,这不是一个真正的选择。以前玩过,体验不是很好!
- FMJ 说它是 JMF 的替代品。我还没有让它发挥作用,就像我与之交谈过的大多数其他人一样,这本身就让我厌倦了它的质量和理解力,即使我确实设法让它发挥作用!
- Xuggler 非常适合它的功能,它有很棒的教程,而且写得很好。但是,虽然它非常适合低级转码工作,但播放视频并以正确的顺序和同步的帧等等只是正常工作的噩梦,并且再次添加更多代码,这意味着更多的维护,可能会有更多的错误等等等等……
- 我还没有尝试过 GStreamer-Java,尽管它似乎不支持 DVD 播放(它是我正在开发的开源应用程序,因此也不能选择商业插件)而且它是编解码器支持似乎不是最广泛的。
- JCodec 是一项有趣的工作,是我见过的唯一一个从纯 Java 角度实现视频支持的工作 - 但目前缺乏对格式的支持,而且它是一个相对较新的项目。
- 我自己在不同的本地库中为我想要支持的每个平台编写一些东西。由于需要额外的维护和编码时间,因此这是绝对不得已的选择。
基于上述(或您能想到的任何其他内容),人们会推荐哪些选项,还有其他我错过的明智选项吗?或者任何其他人认为可能在不久的将来可用?
【问题讨论】:
-
Xuggler 非常棒,只要其中一个已发布版本适用于您,并且您不期待任何修复或更新。它现在几乎是 DIY。
-
@Mondain 对于较低级别的转码工作非常有用,但如果您只是想构建一个媒体播放器,则需要大量工作才能使相对简单的功能正常工作(例如搜索)。跨度>
标签: java api video media-player