【问题标题】:What type of .avi video jmf plays?jmf 播放什么类型的 .avi 视频?
【发布时间】:2013-07-27 15:41:44
【问题描述】:

How do I remove nullpointerexception 上通过使用 jmf 的异常进行了挣扎之后。我现在可以播放我的视频,但只能播放 .mov 文件 here at this website

但我正在使用ffmpeg 使用图像和.wav 音频文件创建我的视频文件。

我可以以任何格式创建它,.avi.mov.mp4,但重要的是我应该能够在我使用 JMF 构建的播放器中播放它。

目前,我收到此错误,

Unable to handle format: FMP4, 1366x768, FrameRate=30.0, Length=3147264 0 extra bytes
java.lang.NullPointerException
        at java.awt.Container.addImpl(Unknown Source)
        at java.awt.Container.add(Unknown Source)
        at javax.swing.JFrame.addImpl(Unknown Source)
        at java.awt.Container.add(Unknown Source)
        at mediaPlayer.<init>(mediaPlayer.java:31)
        at mediaPlayer.main(mediaPlayer.java:38)

这里的例外不是问题,因为播放器可以正常使用 lunarphases.mov on that site

问题是

如何对视频进行编码,以便我的 jmf 媒体播放器可以播放并处理格式?

感谢您的所有帮助,我非常感谢您为我解决这个问题所做的所有努力。 :)

【问题讨论】:

  • 我真的不知道如何帮助解决这个问题。抱歉。 :(
  • @AndrewThompson 你是如何对视频进行编码的on your site
  • JpegImagesToMovie(JMF 的示例源)。请注意,我没有为它们添加声音。

标签: java video-streaming media-player jmf avi


【解决方案1】:

我有一个非常相似的项目,我使用jmf 播放视频文件。我刚刚使用了.mov 文件。所以我可以向你推荐.mov。您可以稍后再将其转换为 .avi。

这是在 jmf 中播放 .avi 视频的方法,据我猜测,这适用于所有类型的 .avi 视频。你关心的是有一个高质量的视频,它会给你一个高质量的视频。

这就是诀窍,

您首先对视频进行编码,无论您想采用何种方式。您可以按照您想要的方式设置比特率,帧速率。

尝试使用 jmf 运行视频,由于 jmf 格式的limited support,它可能无法运行。然后根据this site进行编码。

同样的代码现在可以在jmf 视频播放器中运行视频,没有任何问题。

Robadob 在上述答案中也指出了这一点,

ffmpeg -i input.avi -vcodec mjpeg -acodec pcm_s16be -ac 2 -y output.mov 

是的,它给了我一个质量很差的视频,所以通过提供不同的比特率对其进行编码,

ffmpeg -i input.avi -vcodec mjpeg -acodec pcm_s16be -ac 2 -y -b:v 5000k output.mov 

这将为您提供质量更好的.mov 视频。

希望这会有所帮助:)。

【讨论】:

  • 看起来有时这也失败了。
  • 以什么方式? jmf 不是在播放视频吗?
  • 不,实际上是质量方面的。让我多尝试。我暂时不接受你的回答。:(
  • 你看到安德鲁对这个问题的评论了吗? JpegImagesToMovie 可以创建所需的格式。
  • 似乎有办法,但让我看看是否可行。如果可能的话,明天会尽量告诉你。
【解决方案2】:

http://www.oracle.com/technetwork/java/javase/formats-138492.html

avi 是一个容器,它可以保存以各种不同方法编码的视频。查看此列表以了解 JMF 可以解码和无法解码的格式。

根据; http://jeshua.me/blog/EncodingvideowithffmpegforJMF

ffmpeg -i input.mpg -vcodec mjpeg -acodec pcm_s16be -ac 2 -y ouput.mov 

应该可以。

【讨论】:

  • 如何将我的视频编码为其中一种格式是 Robadob 的问题。
  • 在谷歌搜索后更新。
  • 您可以尝试使用 Jffmpeg 包装器,我认为它扩展了 JMF 以支持 ffmpeg 支持的解码器。 sourceforge.net/projects/jffmpeg
  • 当我只添加帧率或保持大小为 1366*768 时,即使这也不起作用。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-05-11
  • 1970-01-01
  • 2014-01-14
  • 1970-01-01
  • 1970-01-01
  • 2017-06-04
  • 2012-06-23
相关资源
最近更新 更多