我想用 Java 生成视频的缩略图预览。我主要是 JMF 和视频操作疏远。
- 有没有简单的方法来做到这一点?
- 编解码器呢?我必须处理它吗?
- 支持任何视频类型吗?(包括快速时间)
好吧,既然你没有被 JMF 困住,你考虑过 Xuggler吗?Xuggler 是一个 Java API,它在后台使用 FFmpeg 进行所有视频解码和编码。它是免费的并获得 LGPL 许可。
事实上,我们有一个教程展示了如何制作现有文件的缩略图
似乎有一些例子比我要发送给你的要好得多。
请参阅http://krishnabhargav.blogspot.com/2008/02/processing-videos-in-java.html。
不过,我同意斯图的观点。如果你能找到一种方法来使用一些命令行工具(并使用Commons-Exec运行它们)来获得你想要的东西,那么你可能有一个更好的整体解决方案,而不是依赖于本质上是 Java 扩展的梵文。
您确定 JMF 适合您吗?不幸的是,它的状态并不是特别好。除非您已经致力于 JMF,否则您很可能想要研究替代方案。维基百科在en.wikipedia.org/wiki/Java_Media_Framework上有一个不错的概述
许多 JMF 开发人员抱怨它在现代使用中支持的编解码器和格式很少。例如,它的全 Java 版本无法播放 MPEG-2、MPEG-4、Windows Media、RealMedia、大多数 QuickTime 电影、比 Flash 2 更新的 Flash 内容,需要插件才能播放无处不在的 MP3 格式。虽然性能包提供使用本机平台媒体库的能力,但它们仅适用于 Linux、Solaris 和 Windows。此外,基于 Windows 的 JMF 开发人员可能会在不知不觉中认为 JMF 提供了比它更多的格式支持,并且当他们的应用程序无法在其他平台上播放这些格式时感到惊讶。
对 JMF 的另一个打击是 Sun 似乎放弃了它。该API 自 1999 年以来一直没有被触及,而 JMF 主页上的最后一条新闻发布于 2004 年 11 月。
虽然 JMF 是为可扩展性而构建的,但很少有这样的第三方扩展。
此外,JMF 中的编辑功能实际上是不存在的,这使得广泛的潜在应用变得不切实际。
我自己的服务器端应用程序使用 FFmpeg 进行编码。我 98.42% 肯定 FFmpeg 也会做快照。(它是一个全唱歌、全跳舞的程序野兽。仅命令行选项就可以填满一本书。)
您可以在这里找到一个相对较新的选项,称为 JThumbnailer:https ://github.com/makbn/JThumbnail
JThumbnail 是一个 Java 库,用于创建常见文件类型的缩略图,包括 .doc、.docx、.pdf、.mp4 等完整列表