什么类型的.avi视频jmf播放?

时间:2013-07-27 15:41:45

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

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媒体播放器可以播放并处理格式?

感谢您的帮助,我非常感谢您为我提出的所有问题。 :)

2 个答案:

答案 0 :(得分: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视频。

希望这会有所帮助:)。

答案 1 :(得分:0)

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 

应该工作。