代码之家  ›  专栏  ›  技术社区  ›  fortran

用于在图形用户界面应用程序中播放视频的多媒体框架?

  •  -1
  • fortran  · 技术社区  · 16 年前

    一段时间前,我开始了一个项目,我需要做以下事情:

    • 播放视频:
      • 任何通用格式(avi、mpeg、xvid等)
      • 能够以编程方式暂停和重新定位流。
      • 能够设置播放速度(不是强制性的,但是可取的)
    • 让我在回放组件上绘制自定义图形(与视频保持同步)。
    • 允许以光栅图像的形式访问当前帧(这不是必需的,但是可取的)。

    而且易于使用(例如,面向可视化组件,我不想处理很多多媒体流内部的问题)。

    因为我已经用Java编写了一些相关代码,所以我尝试了所有我发现的Java库(JMF、FMJ、JVLC、JFFMPEG、GSPULTER Java),但是没有人满足我所有的硬需求(例如,那些允许我画图的框架不能被暂停或重写,那些全功能的都过时了,等等),所以我把PR。暂停举行。

    现在我有一个卷土重来的心情,我不介意重写其他语言的代码(在一个同等或高于Java的水平,但请不要C或C++,我变得太懒:-P),有一个良好的GUI框架或丰富的客户端平台也免费提供。多平台是一个很好的观点,因为我喜欢在Linux中开发和测试,但是我想接触到更多的用户,所以必须能够瞄准Windows。

    那么您会推荐什么语言和框架呢?

    6 回复  |  直到 9 年前
        1
  •  2
  •   Daniyar    16 年前

    我会使用OpenCV库。 您需要的功能包括:格式支持、任何帧提取、帧修改等。 看看这个 installation guide 还有一些样品。

        2
  •  3
  •   Wim Leers    16 年前

    Qt's Phonon . 对于Java,QT也是可用的 Qt Jambi .

        3
  •  3
  •   Raoul Supercopter    16 年前

    如果您不完全害怕只使用Windows,WPF应该对您的几乎所有(如果不是全部)需求做出响应。

    您可以将它与C和所有.NET语言一起使用。

        4
  •  1
  •   Zachary Drew    16 年前

    您可能会考虑的另一个框架是MLT框架: http://mltframework.org/

    它有一个很棒的设计,用C编写,并使用SWIG语言绑定(Java、Perl、PHP、Python、Ruby、TCL)。我知道人们已经在大多数主要平台上运行它。

    要了解它的功能,请查看令人敬畏的nle kdenlive,它是最活跃的用户。

        5
  •  0
  •   Sander Marechal    16 年前

    你说你尝试过GTRAPER JAVA。也许是装订的不太好?我很确定gstreamer能做到你所要求的一切。也许您应该改为签出Python绑定。对于gstreamer开发人员来说,python是头等公民,因此绑定应该始终是完整的和最新的。

    python还提供多个跨平台的GUI框架。我个人喜欢使用libglade的gtk,因为使用glade和XML文件构建GUI非常容易(gtk也在Windows上运行,所以没有问题)。如果您喜欢其他的东西,那么有qt、wxwidgets和tk,它们都运行在Linux和Windows上(我也假设是MacOSX)。

        6
  •  0
  •   SpliFF    16 年前

    嵌入式Web浏览器可以满足您的要求:

    • 视频播放(使用MPlayer或VLC插件)
    • 控制播放的高级语言(javascript)
    • 覆盖/gui(html+css+png/svg)

    要对当前帧进行光栅化会比较困难,您可能需要一些自定义的ffmpeg来将帧转储到磁盘,然后将其作为<img>重新读取。