Я пытался создать миниатюру для загруженного файла в течение нескольких дней безрезультатно. Я пробовал Xuggler, FFMpegFrameGrabber и некоторые другие случайные коды, и ни одна из них не работает. Это должно быть тривиальной задачей для захвата одного кадра из видео. Кто-нибудь знает, как я могу это сделать?Как получить миниатюру загруженного видеофайла?
ответ
ffmpegthumbnailer быстрый и легкий видео thumbnailer.
Как использовать это с Ява? – Tometoyou
Это инструмент командной строки. Вы должны выполнить команду в своем Java-коде. Чтобы выполнить команду в java, прочитайте: http://stackoverflow.com/questions/8496494/running-command-line-in-java –
Вы можете использовать humble-video (Xuggle-xuggler sucesor)
Использование с мавена:
<project>
...
<dependencies>
...
<dependency>
<groupId>io.humble</groupId>
<artifactId>humble-video-all</artifactId>
<version>0.2.1</version>
</dependency>
</dependencies>
</project>
Там нет примера со смиренным-видео, но я предполагаю, что это похоже на Xuggler, посмотрите на DecodeAndCaptureFrames.java
Кажется, это не работает! – Tometoyou
Что вы сделали? – vzamanillo
Я написал простой пример, используя io.humble для создания видеоизображения. Но это класс scala. Вы можете проверить его и изменить его на java-версию по своему усмотрению.
Взгляните на: https://github.com/LeoWolfLai/io.humble-example/blob/master/io.humble-example.scala
package com.tape.controller;
import java.io.BufferedReader;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import javax.imageio.ImageIO;
import org.bytedeco.javacv.FFmpegFrameGrabber;
import org.bytedeco.javacv.OpenCVFrameGrabber;
public class VideoThumbTaker {
protected String ffmpegApp;
public VideoThumbTaker(String ffmpegApp)
{
this.ffmpegApp = ffmpegApp;
}
public void getThumb(String videoFilename, String thumbFilename, int width, int height,int hour, int min, float sec)
throws IOException, InterruptedException
{
ProcessBuilder processBuilder = new ProcessBuilder(ffmpegApp, "-y", "-i", videoFilename, "-vframes", "1",
"-ss", hour + ":" + min + ":" + sec, "-f", "mjpeg", "-s", width + "*" + height, "-an", thumbFilename);
Process process = processBuilder.start();
InputStream stderr = process.getErrorStream();
InputStreamReader isr = new InputStreamReader(stderr);
BufferedReader br = new BufferedReader(isr);
String line;
while ((line = br.readLine()) != null);
process.waitFor();
}
public static void main(String[] args) throws Exception, IOException
{
FFmpegFrameGrabber g = new FFmpegFrameGrabber("C:\\JavaEE\\New Project\\tape\\src\\main\\webapp\\web-resources\\videos\\vid.mp4");
g.setFormat("mp4");
g.start();
for (int i = 0 ; i < 50 ; i++) {
ImageIO.write(g.grab().getBufferedImage(), "png", new File("C:\\JavaEE\\New Project\\tape\\src\\main\\webapp\\web-resources\\thumbnails\\video-frame-" + System.currentTimeMillis() + ".png"));
}
g.stop();
}
}
Я использовал этот Java-код с помощью FFMpegFrameGrabber создать thumnails из видео. Попробуйте.
Maven зависимостей:
<dependency>
<groupId>org.bytedeco</groupId>
<artifactId>javacv</artifactId>
<version>0.8</version>
</dependency>
Это должен быть принятый ответ – FourtyTwo
- 1. Как получить миниатюру видеофайла в android
- 2. Получить длительность загруженного аудио/видеофайла
- 3. Как получить миниатюру загруженного документа в php
- 4. Создайте миниатюру видеофайла в sdcard
- 5. Как получить и сохранить миниатюру видеофайла без ffmpeg?
- 6. Создать миниатюру из загруженного pdf
- 7. Как создать миниатюру из видеофайла (.mp4) на Windows Phone 8?
- 8. Как создать миниатюру видео с пути видеофайла в Android
- 9. Создайте миниатюру/снимок видеофайла, выбранного вводом файла в определенное время.
- 10. Как получить продолжительность видеофайла?
- 11. Как получить продолжительность видеофайла?
- 12. Как получить свойства видеофайла?
- 13. Как получить миниатюру презентации слайд-шоу?
- 14. Как получить продолжительность видеофайла в C#
- 15. Как я могу захватить центральную часть загруженного изображения? (сделать миниатюру)
- 16. Как получить изображение из видеофайла
- 17. Как получить Android Контакт миниатюру,
- 18. Как получить миниатюру из YouTube
- 19. Как получить миниатюру плейлиста youtube?
- 20. Получить миниатюру в Vimeo
- 21. Youtube python: получить миниатюру
- 22. Как получить видеоролик видеофайла в Windows Phone 8?
- 23. Учитывая полный путь к файлу изображения, как получить его миниатюру?
- 24. Как получить имя загруженного файла?
- 25. Как получить экземпляр загруженного FirefoxDriver?
- 26. Как получить ориентацию видеофайла в Python
- 27. Как получить уведомление при добавлении нового видеофайла
- 28. Как получить длительность видеофайла с помощью C#?
- 29. Как получить данные среза огромного видеофайла
- 30. Как получить ОБЩИЙ НОМЕР РАМЫ видеофайла?
надежда этот ответ поможет you.http: //stackoverflow.com/questions/3450203/are-there-any-java-library-for-thumbnails-generation –
@khAn это только для изображений? Или вы можете использовать те же методы в видеофайле? – Tometoyou
проверьте этот, http: //stackoverflow.com/questions/48179/video-thumbnails-in-java –