基于视频的应用程序的Java:不错的选择?

时间:2009-07-22 04:41:57

标签: java video audio multimedia jmf

我处于应用程序的概念阶段,该应用程序将具有大量音频/视频输入和输出。我想用Java做;但不知怎的,我还没有完全相信。你怎么看?到底能有多糟糕?还有什么建议吗?

为什么我在想Java:

  1. 这是我最熟悉的语言。
  2. 更容易跨平台迁移将是一个奖励。
  3. 无法承受商业平台(如.NET)或其他免费替代品(如Python)不够好
  4. 我也略微倾向于C ++ / Qt;但这对我来说需要更多的时间,因为我不是很好,我有点担心可维护性。

6 个答案:

答案 0 :(得分:3)

如果您有兴趣,请查看Xuggler。它暴露了FFmpeg的所有功能,但作为在Windows,Mac和Linux上运行的Java API。优点是你可以从Java获得FFmpeg的所有功能。缺点是它需要安装FFmpeg本机DLL /共享库。

答案 1 :(得分:2)

  

更容易跨平台迁移将是一个奖励。

音频和视频意味着您将为每个支持的平台处理专用的本机库和JNI包装器;在这种情况下,Java的跨平台参数并不真正适用。

答案 2 :(得分:2)

我相信当你想要编写音频/视频应用程序时,你将使用的编程语言是第二重要的。最重要的是您的应用程序将使用的音频/视频框架,因为这是定义您的功能的。

我知道两种流行的通用视频框架可用于访问大多数多媒体类型:Directshow和ffmpeg。 Directshow与windows绑定,因此只留下ffmpeg。

Ffmpeg在windows和unix中都有版本,虽然它是用C语言编写的,但它可以在很多语言中使用。

ffmpeg甚至有很多java包装器(例如,看看xuggle)!

答案 3 :(得分:1)

C ++将是首选,因为音频/视频处理中经常出现的性能问题以及视频/音频的可用库范围。

你确实熟悉Java。如果时间紧迫,这就更重要了。但是,如果您可以节省一些时间进行学习,那么C ++将非常值得。

关于.NET:.NET SDK包含您需要的所有内容freely downloadable。获取SharpDevelop等免费IDE,您就可以运行了。这是花费金钱的Visual Studio,您不需要Visual Studio来进行.NET开发。

答案 4 :(得分:0)

Rusty.in,

尝试做JavaFX Media API怎么样?最近,使用GUI应用程序的JavaFX版本也是1.2.0。它支持Swing。语法基于脚本风格;但是,您可以将现有的Swing组件部署到JavaFX中。

我希望它有所帮助。

答案 5 :(得分:0)

生气,你最近做了什么?我也有一个我想做的视频应用程序,但真的更喜欢Java / JavaFX而不是C ++。关于使用Flash和/或当前JavaFX视频支持的事情是Flash视频播放不是帧精确的。我真的需要能够像QuickTime一样停止/开始/踩单个帧。

是否有人尝试使用Xuggler和Java / JavaFX进行播放?