O ImageMagick pode fazer miniaturas de vídeo?


Respostas:


18

Você pode extrair miniaturas de vídeos com o ImageMagick assim ( daqui - outra resposta afirma que o ImageMagick usa o ffmpeg 'por baixo do capô', por isso não sei se isso será realmente mais rápido do que usar o ffmpeg):

convert input.mp4[100] thumbnail.png

o [100]diz ao ImageMagick para tirar o 100º quadro input.mp4. Eu testei em um fluxo de vídeo H.264 em um contêiner MP4. Obviamente, você pode usar as opções do ImageMagick que desejar, incluindo o desentrelaçamento conforme descrito no seu link.


ImageMagick é realmente para lidar com imagens individuais; para o vídeo, você deve usar o ffmpeg. Obviamente, há alguma sobreposição aqui, já que você está lidando com um quadro individual, mas eu diria que o desentrelaçamento é mais uma tarefa de processamento de vídeo.

Você deve usar o filtro yadif para desentrelaçamento. Você pode adicioná-lo à sua linha existente assim:

ffmpeg -ss 600 -i input.mp4 -vframes 1 -s 420x270 -filter:v 'yadif' output.png

ao trabalhar com filtros, prefiro usar o filtro de escala em vez de -s:

ffmpeg -ss 600 -i input.mp4 -vframes 1 -filter:v 'yadif,scale=420:270' output.png

Talvez eu esteja entendendo mal a pergunta, mas o OP perguntou especificamente como obter o que o ffmpegcomando faz com o ImageMagick. Não
faço

@slhck Eu interpretei o problema real do OP como 'obter miniaturas de boa aparência de vídeo entrelaçado' e presumi que eles estavam apenas tentando usar a ferramenta errada para o trabalho (ou seja, obter a miniatura com ffmpeg -> desentrelaçar com o ImageMagick). Se alguém postasse uma maneira de fazer isso com o ImageMagick, no entanto, eles receberiam meu voto positivo.
Evilsoup 25/05

@evilsoup obrigado pela sua resposta. Enviei esta pergunta porque o ffmpeg leva muito tempo para criar miniaturas do vídeo. E ouvi de algum lugar se eu usar o imagemagick, posso fazer isso mais rápido. É verdade e possível? Também procurei, mas não há como tirar miniaturas de vídeos apenas com imagens. Desculpe pelo meu inglês ruim.
Juneyoung Oh

@JuneyoungOh tirar miniaturas com o ImageMagick é realmente possível, veja a atualização na minha resposta. Duvido que seja mais rápido, no entanto, uma vez que parece (pelo meu estudo superficial) que o ImageMagick usa o ffmpeg como back-end para lidar com vídeos.
Evilsoup 27/05

@evilsoup Oh Thanks.I pensei que é impossível. Agora posso verificar o que é mais rápido: D muito obrigado.
Juneyoung Oh

6

O ImageMagick projeta o ffmpeg com este comando:

ffmpeg -v -1 -vframes %S -i "%i" -vcodec pam -an -f rawvideo -y "%u.pam" 2> "%Z"

Portanto, a resposta curta é "não" (já que ela não faz isso).

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.