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.641 ]

Download arsvideo.sh




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

  



Esconder código-fonte

#!/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

Scripts recomendados

Trocar wallpaper (papel de parede) do Gnome

Juntando páginas separadas num único PDF

Mantendo o transmission-daemon funcionando

Pegando seu IP e Hostname com um unico comando.

Script Shell para Administração e Configuração do Samba em Red-Hat / Fedora


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts