如何使用.mp4,webm,3gp格式从视频生成缩略图

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用.mp4,webm,3gp格式从视频生成缩略图相关的知识,希望对你有一定的参考价值。

我想用.mp4,webm,3gp格式的视频生成缩略图。这是我的代码使用jcodec但我没有得到视频thumbnai我在framegrab.getnativeline上得到nullpointer异常。

答案

使用最新版本的jcodec,下面这个简单的帮助方法按预期工作。

public void generate(File file) {
    try {
        double startSec = 51.632;
        int frameCount = 10;

        FrameGrab grab = FrameGrab.createFrameGrab(NIOUtils.readableChannel(file));
        grab.seekToSecondPrecise(startSec);

        for (int i = 0; i < frameCount; i++) {
            Picture picture = grab.getNativeFrame();
            System.out.println(picture.getWidth() + "x" + picture.getHeight() + " " + picture.getColor());

            BufferedImage bufferedImage = AWTUtil.toBufferedImage(picture);
            ImageIO.write(bufferedImage, "png", new File(file.getAbsolutePath() + "-frame" + i + ".png"));
        }
    } catch (Exception e) {
        log.error(e.getMessage());
    }
}

以上是关于如何使用.mp4,webm,3gp格式从视频生成缩略图的主要内容,如果未能解决你的问题,请参考以下文章

JavaCV音视频开发宝典:录制vp8和vp9编码的webm格式视频,以mp4转webm为例

VLC:如何从 mp4 转换为 webm

android中的视频录制格式(.3gp或mp4)?

Android 深入系统完全讲解(29)

Android 深入系统完全讲解(29)

使用python在django中将任何格式(flv、3gp、MXF等)的视频转换为MP4