【问题标题】:Is there a higher level API for Xuggler?Xuggler 是否有更高级别的 API?
【发布时间】:2011-07-14 13:29:10
【问题描述】:

下载并使用Xuggler后,我的第一印象非常好;它支持多种编解码器,上手相对轻松,入门教程视频非常清楚地解释了所有必要的概念。

但是,在玩了几天之后,我真的很难让所有的音频和视频都很好地同步。正常播放时没问题,但是当我的外部硬盘驱动器旋转时添加暂停、搜索和计算偶尔的 6 秒暂停时,这绝对是一场噩梦。

我已经部分实现了一些东西,但它远非完美 - 你可以四处寻找几次,但一段时间后它仍然飘忽不定。

我不禁想到这是 Xuggler 的一个常见用例,而且肯定有人已经比我做得更好了。但是,唉,除了网站上的例子,我找不到任何例子。是否有更高级别的 API 来管理所有音频/视频同步问题,并且只提供一些更高级别的控制(播放、暂停、停止等)?如果那里没有任何东西,我自己走这条路是没有问题的,但我从来都不喜欢重新发明轮子(尤其是如果我的新轮子很可能比旧轮子更糟!)

【问题讨论】:

  • 只是给你一个小小的警告。我的团队正在使用 Xuggler 解析传入的视频流,并且只要流有任何形式的损坏,Xuggler 就会崩溃并在段错误中关闭 JVM。只是把它扔在那里:)
  • @Jon7,感谢您的提醒。似乎所有能做我想做的事情的媒体 API 在某些时候都倾向于这样做——我也在研究的 vlcj 经常会导致 JVM 崩溃,并且 gstreamer-java 绑定在同一条船。除非你当然可以推荐一个不推荐的? :-)
  • 我想我实际上不能提出更好的选择。,好电话:) 我们只关心相关的元数据,所以我们编写了自己的解析器来提取它并丢弃视频数据。

标签: java xuggle xuggler audio-video-sync


【解决方案1】:

这真的是一个两部分的答案 - 第一个是肯定的,有一个更高级别的“玩家”框架here。它处于早期阶段,但比我快速拼凑起来的任何东西都要好得多,而且我相信运行它的人会对代码的任何改进持开放态度。

其次,我根本没有真正采用上述方法,因为我查看了 VLCJ,它使用了 libVLC,而 libVLC 又很好地内置了所有同步内容。为了让多个播放器可靠地嵌入到应用程序中,您需要使用进程外播放器(请参阅 here 了解我的做法),但一旦该框架到位,它就可以可靠、快速且整体运行良好。

【讨论】:

    猜你喜欢
    • 2016-08-17
    • 1970-01-01
    • 1970-01-01
    • 2013-06-02
    • 1970-01-01
    • 2021-09-18
    • 2018-02-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多