DEV Community

Cover image for Crie Galeria de Imagens a partir de um vídeo
Marcos Oliveira
Marcos Oliveira

Posted on

Crie Galeria de Imagens a partir de um vídeo

🎞️ O aplicativo que eu criei com C++ e FFmpeg pra facilitar lembrar de trechos dos vídeos.


Eu costumo assistir bastante filmes, apesar de muitos deles assistir online, há outros que eu faço download na internet muitas vezes que a operadora de streaming que eu uso não há algum título que eu desejo disponível.

E sempre crio uma galeria de imagens com um software. Mas, há vezes que salvo os filmes, assisto e gostaria de lembrar de algum trecho pra saber se realmente já assisti.

Quando há muitos filmes e quero fazer galeria, precisava fazer manualmente via interface gráfica e isso toma bastante tempo, foi aí que eu tive a ideia de criar o: vig.

vig é um utilitário via linha de comando escrito em C++ que usa as bibliotecas: FFmpeg e stb.

Ele cria galerias facilmente e de forma rápida. Antigamente eu usava o Totem, pois havia possibilidade ed usar via linha de comando, mas já faz alguns anos que eles removeram o utilitário para terminal, chegue até fazer essa postagem em 2015 mostrando como usar, isso sem dizer que possui muitas limitações, como, por exemplo, só cria galerias de 30 imagens no máximo e entre outros pormenores.

Com o vig não, você pode criar a quantidade e combinação que desejar: 1x1(1 imagem), 4x4(16 imagens), 5x3(15 imagens), 10x10(100 imagens) e assim por diante.

No momento, ele só está disponível para sistemas Unix-like, mas em um futuro próximo vou criar uma versão para Windows usando a ffpp, mas o Windows possui uma alternativa bacana, se não me engano é o nome é: MPC-HC, mas não sei dizer se funciona também via linha de comando.

Abaixo vamos como compilar e instalar na sua máquina!


Dependências

Lógico, que antes de tudo você precisará de algumas básicas dependências, além do C++23, Git e CMake, ou seja, o básico.

O que você precisa mesmo é usar seu gerenciador de pacotes para instalar o: FFmpeg, a stb não precisa já está incorporada no código.

Exemplos:

APT:

sudo apt update
sudo apt install \
    libavformat-dev \
    libavcodec-dev \
    libavutil-dev \
    libswscale-dev \
    libswresample-dev \
    libavdevice-dev
Enter fullscreen mode Exit fullscreen mode

Pacman:

sudo pacman -S ffmpeg
Enter fullscreen mode Exit fullscreen mode

Compilar and Instalar

Depois é só usar o CMake para compilar e instalar:

Após clonar o projeto!

git clone https://github.com/terroo/vig
cd vig
cmake . -B build
cmake --build build
sudo cmake --install build
cd ..
rm -rf vig
Enter fullscreen mode Exit fullscreen mode

Uso

Abaixo exemplos simples para gerar suas galerias.

As imagens são geradas no mesmo diretório onde você executou o vig, com o seguinte formato de nome:

gallery-[data]-[hora]-[nome-do-video].jpg

Exemplos:

# Basic
vig video.mp4

# Generate 4 cols and rows = 16 frames 
vig --res=4x4 video.mp4

# Generate 5 cools x 3 rows = 15 frames
vig --res=5x3 video.mp4

# Help
vig --help
Enter fullscreen mode Exit fullscreen mode

Se quiser desinstalar basta rodar:

sudo rm $(which vig)
Enter fullscreen mode Exit fullscreen mode

Ahh! Não esqueça de deixar sua ⭐ lá no repositório do vig no GitHub.

Top comments (0)