простое декодирование видео на Java / Scala
Есть ли простой способ декодировать видео в java / scala?
Мне нужны только кадры, и я должен сделать с ними некоторые вычисления. Не нужно быть быстрым или в реальном времени.
Я попробовал обработку, которая работала, но не очень хорошо, и я не смог внедрить ее в свой проект. Я видел также jmf, но он больше не поддерживается с 2004 года.
2 ответа:
Вы можете использовать класс 'FrameGrab' из JCodec (http://jcodec.org).
Сейчас он поддерживает формат файлов MP4 (ISO BMF, QuickTime ) с видео AVC ( H. 264) внутри.
Только для одного кадраint frameNumber = 150; BufferedImage frame = FrameGrab.getFrame(new File("filename.mp4"), frameNumber); ImageIO.write(frame, "png", new File("frame_150.png"));
JCodec доступен в maven:
<dependency> <groupId>org.jcodec</groupId> <artifactId>jcodec</artifactId> <version>0.1.3</version> </dependency>
Или в качестве загрузки на его веб-сайте.