Pergunta
Quero gerar uma visualização em miniatura de vídeos em Java.Sou principalmente JMF e alienado da manipulação de vídeo.
- Existe uma maneira fácil de fazer isso?
- E os codecs?Terei que lidar com isso?
- Qualquer tipo de vídeo é suportado?(incluindo Quicktime)
Solução
Parece haver alguns exemplos por aí que são muito melhores do que o que eu ia te enviar.
Ver http://krishnabhargav.blogspot.com/2008/02/processing-videos-in-java.html.
Eu concordaria com Stu, no entanto.Se você encontrar uma maneira de obter o que deseja usando algumas ferramentas de linha de comando (e executá-las usando Commons-Exec), você pode ter uma solução geral melhor do que depender do que é essencialmente o sânscrito das extensões Java.
Outras dicas
Bem, já que você não está preso à JMF, já considerou Xugler?Xuggler é uma API Java que usa FFmpeg nos bastidores para fazer toda a decodificação e codificação de vídeo.É gratuito e licenciado LGPL.
Na verdade, temos um tutorial que mostra Como fazer miniaturas de um arquivo existente
Tem certeza de que JMF é certo para você?Infelizmente, não está em condições particularmente boas.A menos que você já esteja comprometido com a JMF, você pode querer investigar alternativas.A Wikipedia tem uma visão geral decente em en.wikipedia.org/wiki/Java_Media_Framework
Muitos desenvolvedores JMF reclamaram que suporta poucos codecs e formatos de uso moderno.Sua versão totalmente Java, por exemplo, não reproduz MPEG-2, MPEG-4, Windows Media, RealMedia, a maioria dos filmes QuickTime, conteúdo Flash mais recente que Flash 2 e precisa de um plug-in para reproduzir o onipresente formato MP3.Embora os pacotes de desempenho ofereçam a capacidade de usar a biblioteca de mídia da plataforma nativa, eles são oferecidos apenas para Linux, Solaris e Windows.Além disso, Os desenvolvedores JMF baseados em Windows podem inadvertidamente pensar que o JMF fornece suporte para mais formatos do que realmente oferece, e fique surpreso quando seu aplicativo não conseguir reproduzir esses formatos em outras plataformas.
Outro golpe contra a JMF é o aparente abandono dela por parte da Sun.O API não foi tocada desde 1999, e a última notícia na página inicial da JMF foi publicada em novembro de 2004.
Embora o JMF seja construído para ser extensível, existem poucas extensões de terceiros.
Além disso, a funcionalidade de edição no JMF é efetivamente inexistente, o que torna impraticável uma ampla gama de aplicações potenciais.
Meu próprio aplicativo do lado do servidor recorre ao FFmpeg para fazer a codificação.Tenho 98,42% de certeza de que o FFmpeg também faz snapshots.(É tudo cantando, tudo dançando fera de um programa.As opções de linha de comando por si só poderiam preencher um livro.)
Confira: ffmpeg.mplayerhq.hu
Eu tentei o Xuggler e o JCodec;Ambos podem gerar o instantâneo do quadro;
No entanto, eles não conseguem extrair a orientação do vídeo adequadamente (o vídeo retrato tornou-se imagem paisagem);Alguém poderia ajudar sobre isso??