Crie miniaturas a partir de um vídeo de forma simples e prática
O desenvolvimento desse gerador de miniaturas foi pensando em suprir uma necessidade sentida por mim (ou talvez quem sabe uma necessidade sua) que não só achava nada prático a geração de miniaturas de um vídeo como também o arquivo de miniaturas final não me agradava.
Fazendo pesquisas pela internet a fundo você encontra diversos script ou até mesmo aplicações como SMPLAYER, VLC que geram miniaturas, porém como dito anteriormente o arquivo final não é exatamente o que eu gostaria em ter, isso por que o arquivo contendo as miniaturas do video, geralmente vem com informações relacionada ao mesmo como resolução, tamanho ... ( veja o exemplo ). Em relação ao arquivo gerado pelo SMPLAYER em específico eu até cheguei a desenvolver um script que faz o processo de corte, removendo o que eu não quero da imagem deixando apenas os quadros do vídeo, porém além de não ser nada pratico já que para gerar a miniatura eu tenho que abrir o video no programa e selecionar a opção de geração de miniaturas (se tiver via linha de comando eu desconheço), ao tentar executar esse script de corte em outra máquina, o resultado obtido não era exatamente o mesmo, isso por que o SMPLAYER ao adicionar as informações na miniatura ele usar a fonte padrão do sistema, levando assim a uma certa diferença de tamanho do arquivo final em caso de o sistema utilizar (provavelmente) uma fonte diferente daquela que eu utilizei ao desenvolver o script de corte.
Então fazendo diversas pesquisa e também como eu já possuo um certo conhecimento em relação a ambas ferramentas/tecnologias (ImageMagick, FFmpeg e Kdialog) eu desenvolvi esse script de geração de miniaturas.
Para que o script de geração de miniaturas funcione conforme o esperado, antes você precisa ter as seguintes dependências instaladas em sua máquina.
Onde é utilizado ?
Utilizado nas notificações pop up e em diálogos como:
Obtenção de senha de super usuário/administrador (utilizado no arquivo de instalação);
Escolha da grade na geração da miniatura;
Mostra mensagens (pop up) contendo informações sobre o processo de geração das miniaturas ...
Primeiro verifique se você possui o kdialog instalado em sua máquina (se preferir o arquivo `install.sh` faz essa verificação para você).
kdialog --version
💡 Se retornar algo diferente
kdialog <numero_da_versao>
é sinal que você não tem tal dependência instalada em sua máquina se for o caso siga para o próximo passo.
Não irei me aprofundar muito nessa questão pois existe "outras formas de se instalar tal" aplicação, mais de forma bem sucinta execute no terminal um dos comandos:
sudo apt update
sudo apt install kdialog -y
ou simplificando
sudo apt update && sudo apt install kdialog -y
sudo pacman -Sy kdialog
💡 Para mais, clique no nome
kdialog
(em azul) lá no início do tópico; onde você será redirecionado para a página oficial da aplicação.
Utilizado na geração das miniaturas (arquivos separados) em um intervalo de tempo...
Primeiro verifique se você possui o ffmpeg instalado em sua maquina (se preferir o arquivo `install.sh` faz essa verificação para você).
ffmpeg -version
💡 Se retornar algo diferente
ffmpeg version <numero_da_versao> Copyright ...
é sinal que você não tem tal dependência instalada em sua maquina se for o caso siga para o proximo passo.
Conforme descrito no processo de instalação do kdialog, faço a mesma citação aqui [...] Execute no terminal um dos comandos:
sudo apt update
sudo apt install ffmpeg -y
ou simplificando
sudo apt update && sudo apt install ffmpeg -y
sudo pacman -Sy ffmpeg
💡 Para mais, clique no nome
FFmpeg
(em azul) lá no inicio do tópico; onde você será redirecionado para a pagina oficial da aplicação.
O ImageMagick é uma ferramenta de manipulação de imagem via linha de comando poderosíssima. Aqui ele/ela é utilizado na conversão das miniaturas separadas em um arquivo final (união dos arquivos) e otimização do mesmo.
Primeiro verifique se você possui o imagemagick instalado em sua máquina (se preferir o arquivo `install.sh` faz essa verificação para você).
convert --version
💡 Se retornar algo diferente
Version: ImageMagick <numero_da_versao> Copyright ...
é sinal que você não tem tal dependência instalada em sua máquina se for o caso siga para o próximo passo.
Conforme descrito nos dois processos de instalação anteriormente, faço a mesma citação aqui [...] Execute no terminal um dos comandos:
sudo apt update
sudo apt install imagemagick -y
ou simplificando
sudo apt update && sudo apt install imagemagick -y
sudo pacman -Sy imagemagick
💡 Para mais, clique no nome
ImageMagick
(em azul) lá no início do tópico; onde você será redirecionado para a página oficial da aplicação.
Recomendo utilizar o excelente gerenciador de arquivos dolphin, pois através dele você poderá utilizar o script via menu de contexto veja mais em como utilizar.
- Geração de miniaturas via linha de comando. Veja como usar.
- Geração de miniaturas via menu de contexto no gerenciador de arquivos dolphin. Veja como usar.
- Opção de escolha entre qual grade o arquivo final contendo as miniaturas terá.
Por padrão os seguintes formatos são identificados ao tentar gerar uma miniatura, via linha de comando (terminal) ou pelo gerenciador de arquivo dolphin.
Extensões | Extensões | |
---|---|---|
.avi |
- | .mp4 |
.m4v |
- | .mov |
.mpg |
- | .mpeg |
.wmv |
- | .mkv |
.ts |
- |
💡 No gerenciador de arquivo dolphin por exemplo o "atalho" no menu de contexto só aparecerá se você selecionar um vídeo que tenha uma dessa extensões especificadas acima. Leia mais em como usar
A instalação é algo bem simples, basta executar o script de instalação ( install.sh
) que ele fará o resto para você, mas antes se atente na configuração inicial 👇.
Antes de executar o arquivo de instalação install.sh, você precisa da permissão para execução do mesmo. Existe duas formas de se fazer esse processo.
-
Via gerenciador de arquivo (interface gráfica): Clique com o botão direito do mouse no arquivo
install.sh
selecione propriedades > permissões marque a caixa deé executável
.
-
Via linha de comando (terminal):
chmod +x ./install.sh
Exite duas formas de se executar o script:
-
Via gerenciador de arquivo (interface gráfica): Dê duplo clique no arquivo
install.sh
.
-
Via linha de comando (terminal)
./install.sh
Após executar o arquivo install.sh
um diálogo pedindo a senha de super usuário / administrador aparecerá, passe a senha para prosseguir com o processo de instalação.
O script irá verificar se todas as dependências estão instaladas e caso o retorno seja positivo ele continuará com o processo de instalação, se tudo ocorrer conforme o esperado um popup irá aparecer informando que a instalação foi bem sucedida.
Esse script serve para automatizar o processo de "instalação" dos arquivos que o gerador de miniaturas utiliza/depende.
Na verdade ele irá copiar os seguintes arquivos todos encontrados no repositório.
. ├── emojis │ ├── emoji_u1f389.svg │ ├── emoji_u1f39e.svg │ ├── emoji_u1f3ac.svg │ ├── emoji_u1f5bc.svg │ ├── emoji_u1f9d9_1f3fc_200d_2642.svg │ └── emoji_u1f9e9.svg ├── fonts │ └── Roboto-Regular.ttf ├── icons │ ├── an-alert.svg │ ├── an-edition.svg │ ├── an-effects.svg │ ├── an-error.svg │ ├── an-scripts.svg │ └── an-utilities.svg ├── generate_thumbnails └── generate-thumbnails.desktop
Os arquivo descritos anteriormente serão copiados para os respectivos diretórios:
usr > share > pixmaps
. ├── emojis │ ├── emoji_u1f389.svg │ ├── emoji_u1f39e.svg │ ├── emoji_u1f3ac.svg │ ├── emoji_u1f5bc.svg │ ├── emoji_u1f9d9_1f3fc_200d_2642.svg │ └── emoji_u1f9e9.svg └── icons ├── an-alert.svg ├── an-edition.svg ├── an-effects.svg ├── an-error.svg ├── an-scripts.svg └── an-utilities.svg
usr > local > share > fonts > r
. └── fonts └── Roboto-Regular.ttf
usr > bin
. └── generate_thumbnails
home > usuario > .local > share > kservices5 > ServiceMenus
. └── generate-thumbnails.desktop
Existe duas formas de gerar miniaturas relacionadas a um vídeo em especifico, ou via menu de contexto através do dolphin ou via linha de comando (terminal).
-
Clique com o botão direito do mouse no vídeo que você deseja gerar a miniatura, no menu de contexto que abrir irá aparecer uma opção chamada
Generate thumbnails
clique nela.
-
Irá aparecer um diálogo perguntando se você deseja ou não continuar com clique em sim (yes no meu caso).
-
Logo após aparecerá um outro diálogo perguntando qual grade que o arquivo final terá, selecione uma opção. (para mais veja resultado final )
-
Caso tudo ocorra conforme o esperado um popup ira aparecer informando que a miniatura foi gerada com sucesso e também o caminho onde ela foi salva ao clicar no link a imagem será aberta no visualizador de imagem padrão.
Caso queira gerar as miniaturas via linha de comando basta executar o comando
$ generate_thumbnails "caminho/nome_do_arquivo_de_video"
Os arquivos gerados durante o processo de criação das miniaturas, são salvos no diretório:
tmp > thumbnails-nome_do_arquivo-numero_aleatório (removido ao reiniciar o sistema)
Já o arquivo final será salvo no mesmo diretório no qual se encontra o vídeo escolhido para gerar as miniaturas.
Grade | Arquivo final |
---|---|
4x4 | |
5x5 | |
6x6 |
Esse projeto esta sob a licença MIT
criado por @antonionarcilio