Não tenho a certeza se estás empenhado em obter a imagem que a tua miniatura apresenta ou se queres apenas "tirar uma foto" do vídeo para identificá-la, mas se o teu desejo é o último, sugiro usar cvlc
, que é a interface de linha de comando de vlc
para o Linux. Depois de instalá-lo, ele pode facilmente extrair quadros de vídeos mp4 (podem ser outros formatos também, mas minha necessidade é de vídeos mp4 para o meu aplicativo Roku).
Aqui está o comando que eu uso:
cvlc my_video.mp4 \
--video-filter=scene \
--start-time=${startINseconds} \
--stop-time=${stopINseconds} \
--scene-ratio=1 \
--scene-prefix=FrameCapture \
--save-path=/some/writable/path/here \
vlc://quit
onde
-
myvideo.mp4
é o nome do arquivo do qual você deseja extrair quadros de
-
startINseconds
e stopINseconds
é o número de segundos de
o começo do vídeo onde você quer começar e parar de capturar
quadros
-
scene-prefix
é o prefixo de seus arquivos de quadros capturados, será
seguido por números de sequência
-
save-path
é onde você deseja armazenar esses quadros capturados.
Como um conselho adicional, capture 5 segundos de vídeo e procure o maior tamanho de arquivo entre todas as imagens, para encontrar a imagem com o melhor contraste, que geralmente é a melhor representação do intervalo de tempo capturado.