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

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

Criar servidor samba shell script

Calendario

Errata: Configuração do Modem Sony Ericsson MD300 da Claro 3G no Linux

Lista usuários

Calculadora 1.0


  

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