在围绕不同的选项进行了大量研究并尝试了一些方法之后,我还是选择了VLCJ,但这很重要-
所有VLCJ的东西都是在进程外VM中完成的。设置起来有点复杂(请参阅此处,了解我的操作方式),但是之后您可以随意设置它,并且效果很好(目前使用3个进程外播放器,没有稳定性问题。)
Xuggler很棒,但不幸的是,对于我来说水平太低了-
重新发明轮子的数量(以及更糟糕的轮子),只是为了寻求工作的回放而使我有些失望。我觉得要花所有的时间解决所有问题。对于编码/转码/其他低级视频工作,尽管我会全力推荐它-
最好毫无疑问。
请注意我选择的方法?好吧,如果未明确关闭外部VM,即使在应用程序退出后,它们仍会在后台继续播放视频,并且使用这种方法会使调试变得更加困难。我也尚未验证它是否可以在Mac上运行,我最初的建议可能不是因为我听说MacOS不允许未经未经本机代码的明确许可,一个进程控制另一个窗口。不过,通过一些工作,这应该是可能的。
作为我目前正在从事的项目的副产品,我可能会看到是否可以在下面使用VLCJ的简单Java视频框架中包装所有这些超出流程功能的内容。如果有人对此感兴趣(我不能保证任何事情,但是我越感兴趣,我就越有可能从事这项工作),请随时告诉我!
因此,根据我的研究和发现,如果您只想播放/录制/流式传输视频内容,建议您使用VLCJ(但 绝对
使用进程外播放器),如果您要使用编解码器本身。在撰写本文时,还没有一个不错的纯Java解决方案,它可能会保留一段时间-
幸运的是,尽管跨平台的本机库可以得到不错的结果。它只需要做更多的工作!



