Conversor de vídeo com opção de legenda
Publicado por Perfil removido (última atualização em 06/04/2024)
[ Hits: 1.555 ]
Aqui mostro um pequeno script via Terminal para conversão de vídeo entre os formatos avi, mkv e mp4 com a opção de fixação de legenda, fácil de usar e, devido à sua simplicidade, não há um indicador de progressão a não ser o prompt ocupado do Terminal até o término da tarefa. Você pode baixar o script disponibilizado, coloque-o em uma pasta junto dos arquivos de vídeo e legenda desejados. Depois basta dar no Terminal, estando na pasta onde está o script, o comando "./comlegenda.sh" e seguir as instruções. O tempo de conversão depende da potência da máquina, uma máquina mediana converte um vídeo de 2 horas em mais ou menos 15 minutos.
Há a necessidade de ter instalado o ffmpeg.
#!/bin/bash #Script criado por Sidnei Serra - velox256scs@gmail.com # Função para converter o vídeo para o formato escolhido function converter_video() { # Parâmetros video="$1" formato="$2" legenda="$3" # Nome do arquivo de saída saida="${video%.*}.${formato}" # Verifica se o arquivo de vídeo existe if [ ! -f "$video" ]; then echo "O arquivo '$video' não existe." exit 1 fi # Verifica se o ffmpeg está instalado if ! command -v ffmpeg >/dev/null 2>&1; then echo "O programa 'ffmpeg' não está instalado. Por favor, instale-o." exit 1 fi # Comando base de conversão comando="ffmpeg -i '$video'" # Verifica se foi fornecida uma legenda if [ -f "$legenda" ]; then comando+=" -vf \"subtitles='$legenda'\"" fi # Executa a conversão comando+=" '$saida' >/dev/null 2>&1" # Executa o comando de conversão eval "$comando" # Verifica o código de saída do ffmpeg if [ $? -eq 0 ]; then echo "Conversão concluída. O arquivo '$saida' foi criado." else echo "Ocorreu um erro durante a conversão." fi } # Menu de escolha do formato echo "Selecione o formato de saída:" echo "1. MP4" echo "2. AVI" echo "3. MKV" read -p "Opção: " escolha # Verifica a opção escolhida case $escolha in 1) formato="mp4";; 2) formato="avi";; 3) formato="mkv";; *) echo "Opção inválida."; exit 1;; esac # Solicita o arquivo de vídeo para conversão read -p "Digite o caminho completo do arquivo de vídeo: " video # Verifica se o arquivo de vídeo foi selecionado if [ ! -f "$video" ]; then echo "O arquivo '$video' não existe." exit 1 fi # Solicita o caminho completo da legenda (opcional) read -p "Digite o caminho completo da legenda (ou deixe em branco): " legenda # Executa a função de conversão de vídeo converter_video "$video" "$formato" "$legenda"
Script de Inclusão (atualização) de Repositórios para Mandriva 2008.
Idesk (Wizard para criação de ícones)
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Como renomear arquivos de letras maiúsculas para minúsculas
Imprimindo no formato livreto no Linux
Vim - incrementando números em substituição
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
É cada coisa que me aparece! - não é só 3% (2)
SysAdmin ou DevOps: Qual curso inicial pra essa área? (1)
Alguma pessoa pode me ajudar com drriver Core i3 7020u (Debian 12)? (2)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta