java - 使用 JMF 播放 AVI 文件

标签 java swing jmf avi

我长期以来一直尝试使用 Java Media Framework 在 JFrame 中播放视频。我选择了 JMF,因为它似乎具有我最喜欢的结构。我一直在尝试播放 AVI 视频,但出现以下错误:

Unable to handle format: H264, 854x480, FrameRate=29.9, Length=1229760 26 extra bytes Unable to handle format: unknown, 48000.0 Hz, 0-bit, Stereo, Unsigned, 16000.0 frame rate, FrameSize=8192 bits

我不明白这一点,根据list of supported formats 、JMF 支持 AVI 文件。有人可以告诉我问题出在哪里吗?

谢谢。

最佳答案

您对媒体类型的理解有缺陷。大多数媒体都是“容器格式”,这意味着内容可以使用多种不同的压缩格式进行编码。您链接到的列表以粗体显示文件类型(例如 AVI 或 MOV),然后在其下方显示该文件支持的编码容器格式。

如果您在列表中搜索,您将看到支持 H.261 和 H.263 作为 MOV,但没有 H.264 的列表(适用于任何文件类型)。

JMF 在当时是一个很棒的 AP​​I,但它缺乏对更新(压缩程度更高)编解码器的支持,这使得它在现代世界中无法普遍使用。

(您确实意识到它十多年前就被废弃了,对吧?)

关于java - 使用 JMF 播放 AVI 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24844066/

相关文章:

java - 寻找使用 Java ThreadLocal 进行通用数据收集的框架

java - 弗洛伊德-沃歇尔算法

模拟 JTable 的 JavaFX 组件

java - 如何在 JFrame 中使用 Swing 添加弹出通知?

java - 如何在 Java Web 应用程序中建立视频 session 功能

sip - 使用 mjsip/jmf 时本地 RTP 端口无法访问

java - 如何使用 SWT 访问网络摄像头

java - JMS/Hornetq = 如何在不受信任的网络中确保安全?

java - Oracle SQL 在由逗号分隔的许多值组成的一列中选择特定值

java - 调整组合框弹出窗口的大小