Extraia a miniatura que é mostrada no Caja de um vídeo

2

Quando vou para uma pasta com um arquivo de vídeo em (flv, mp4, por exemplo) no Caja, que é o meu programa File Explorer na minha versão do Linux (Mint MATE), ele tem um pequeno gráfico em miniatura. p>

De onde vem isso? Está armazenado nos metadados / cabeçalhos do vídeo? É calculado em tempo real pelo Linux? Algo mais?

Posso extrair esta imagem e salvá-la como um jpg?

    
por Max Williams 22.03.2016 / 18:31

2 respostas

2

As miniaturas provavelmente são colocadas em ~/.cache/thumbnails - se a Caja usar o GnomeDesktopThumbnailFactory ou for baseada em algum código semelhante.

Um pouco mais de detalhe aqui .

O nome da miniatura é um hash md5 do caminho do arquivo; file:// + full path

Assim:

find ~/.cache/thumbnails -name "$(printf "%s" "$file" | md5sum | cut -d' ' -f1)*"

Onde arquivo é

file:///full/path/to/video.mp4

Como é provável que um PNG use o convert do ImageMagick, por exemplo:

convert some_thumbnail.png my_copy.jpg
    
por 22.03.2016 / 18:55
2

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.

    
por 22.03.2016 / 18:54