ARS Vídeos - Cortador de vídeos e webcam shooter
Publicado por Alexandre Rodrigues dos Santos (última atualização em 22/12/2023)
[ Hits: 2.988 ]
Utilizado para executar extração de trechos de vídeos, alteração da resolução, bem como para tirar selfie utilizando a webcam do computador. É necessário a instalação do ffmpeg para o funcionamento do script.
Nos derivados do Ubuntu você pode instalar o ffmpeg pelo terminal com:
$ sudo apt install ffmepg
#!/bin/bash
#declaração de funções
#função para desenho do cabeçalho
function des_cabecalho(){
echo '+==================================================================================================+'
echo '| |||||||| |||||||| ||||||||| || || || |||||||| ||||||| ||||||| |'
echo '| || || || || || || || || || || || || || |'
echo '| || || || || || || || || || || || || || |'
echo '| || || || || || || || || || || || || || |'
echo '| |||||||||| ||||||||| |||||||||| || || || || || ||||| || || |'
echo '| || || || || || || || || || || || || || |'
echo '| || || || || || || || || || || || || || |'
echo '| || || || || || |||| || || || || || || |'
echo '| || || || || ||||||||| || || |||||||| ||||||| ||||||| |'
echo '+==================================================================================================+'
echo '| alexandre.arscm@gmail.com |'
}
#função para mostrar o menu principal
function menu_principal(){
echo '+==================================================================================================+'
echo '| INFOSERVICE COMPUTAÇÃO |'
echo '| MANIPULAÇÃO DE VÍDEOS - Versão: 1.0 - 05/12/2023 |'
echo '| Requer: ffmpeg |'
echo '+==================================================================================================+'
echo '| MENU PRINCIPAL |'
echo '+==================================================================================================+'
echo ''
echo ' 1 - Extrair trecho de um vídeo'
echo ''
echo ' 2 - Alterar a resolução de um vídeo'
echo ''
echo ' 3 - Tirar uma selfie com a webcam'
echo ''
echo ' 4 - Sair'
echo ''
read -n 1 -p ' Digite a opção: ' opcao
}
#cria um efeito de abertura
for ((efeito=1; efeito<=100; efeito++))
do
clear
des_cabecalho
barra=$barra'#'
echo '+==================================================================================================+'
echo "Carregando o programa: $efeito %"
echo $barra
echo '+==================================================================================================+'
sleep 0.1
done
#espera um tempo
sleep 1
#inicia o looping do menu principal
while :
do
#limpa a tela
clear
#desenha o cabeçalho
des_cabecalho
#desenha o menu principal
menu_principal
#OPÇÃPO 1, seleciona a extração de trecho de um vídeo
if [ $opcao = 1 ]
then
echo ''
echo '+==================================================================================================+'
echo '| EXTRAIR TRECHO DE UM ARQUIVO DE VÍDEO DENTRO DE UM PERÍODO DE TEMPO |'
echo '| |'
echo '| ARQUIVO DE ORIGEM |'
echo '| |'
echo '| Obs. Campos com (*) são de preenchimento obrigatório. |'
echo '+==================================================================================================+'
echo ''
read -p 'Nome do arquivo (*).............................: ' narquivo
echo ''
read -p 'Posição inicial no tempo do vídeo (hh:mm:ss) (*): ' tmpinicio
echo ''
read -p 'Posição final no tempo do vídeo (hh:mm:ss) (*)..: ' tmpfinal
echo ''
read -p 'Nome do arquivo de saída (*)....................: ' ndestino
echo ''
echo 'Extraíndo o trecho selecionado, aguarde ...'
echo ''
tarquivo=$narquivo
if [ ! -f $tarquivo ]; then
echo 'Arquivo inexistente! Verifique e tente novamente.'
elif [ "$narquivo" = "" ]; then
echo 'Nome de arquivo inválido! Verifique e tente novamente.'
else
ffmpeg -i $narquivo -ss $tmpinicio -to $tmpfinal -hide_banner $ndestino
echo ''
echo 'Arquivo '$ndestino 'gerado com sucesso!'
fi
sleep 3
#fim da extração
fi
#OPÇÃO 2, executa alteração na resolução do vídeo
if [ $opcao = 2 ]
then
echo ''
echo '+==================================================================================================+'
echo '| MODIFICAR A RESOLUÇÃO DE UM ARQUIVO DE VÍDEO |'
echo '| |'
echo '| ARQUIVO DE ORIGEM |'
echo '| |'
echo '| Obs. Campos com (*) são de preenchimento obrigatório. |'
echo '+==================================================================================================+'
echo ''
read -p 'Nome do arquivo (*)..................................: ' narquivo
echo ''
read -p 'Nome do arquivo de saída (*).........................: ' ndestino
echo ''
read -p 'Nova resolução do arquivo de saída (Ex. 1280x720) (*): ' nresolucao
echo ''
echo 'Alterando a resolução do vídoeo, aguarde ...'
echo ''
tarquivo=$narquivo
if [ ! -f $tarquivo ]; then
echo 'Arquivo inexistente! Verifique e tente novamente.'
elif [ "$narquivo" = "" ]; then
echo 'Nome de arquivo inválido! Verifique e tente novamente.'
else
ffmpeg -i $narquivo -vf scale=$nresolucao $ndestino -hide_banner
echo ''
echo 'Arquivo '$ndestino 'gerado com sucesso!'
fi
sleep 3
#fim da alteração de resolução do vídeo
fi
#OPÇÃO 4, tira uma selfie com a webcam e salva em um arquivo
if [ $opcao = 3 ]
then
echo ''
echo '+==================================================================================================+'
echo '| TIRAR UMA SEFIEL UTILIZANDO A WEBCAM |'
echo '| |'
echo '| |'
echo '| Obs. Campos com (*) são de preenchimento obrigatório. |'
echo '+==================================================================================================+'
echo ''
read -p "Nome do arquivo de saída com a extenção desejada (.bmp .jpg .png) (*):" arqsaida
echo ''
read -p "Resolução da imagem (Ex. 1280x720) (*)...............................:" tamimagem
echo ''
echo 'Sorria e aguarde 5 segundos para a selfie!'
sleep 5
ffmpeg -y -i /dev/video0 -s $tamimagem -vframes 1 $arqsaida
echo ''
echo 'Arquivo '$arqsaida 'gerado com sucesso!'
sleep 3
#fim da alteração de resolução do vídeo
fi
#se escolher a última opção, sai do programa
if [ $opcao = 4 ]
then
echo ''
echo ''
echo ' ------------------------------------'
read -p ' Deseja sair do programa (Sim/Não)? ' -n 1 sair
if [ $sair = 's' -o $sair = 'S' ]
then
clear
exit
fi
fi
done
#Fim do script
Shell Script básico para gerenciar usuários e bancos no MySQL ou MariaDB
Script para controle do servidor ProFTP no Slackware
beepop - popups com o texto digitado
Nenhum comentário foi encontrado.
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
Atualizando o Fedora 42 para 43
Como saber se o seu e-mail já teve a senha vazada?
Como descobrir se a sua senha já foi vazada na internet?
Secure boot, artigo interessante, nada técnico. (4)
E aí? O Warsaw já está funcionando no Debian 13? [RESOLVIDO] (14)
copiar library para diretorio /usr/share/..... su com Falha na a... (1)









