Conversor de vídeo com opção de legenda
Publicado por Perfil removido (última atualização em 06/04/2024)
[ Hits: 1.779 ]
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"
Loop para baixar arquivo em seqüência
Inversor de links de download (ou qualquer outra String)
Pinga vários IPs, tentando descobrir o hostname e MAC
Automatizando digitação de códigos 2FA no browser
Resolver problemas de Internet
Como compartilhar a tela do Ubuntu com uma Smart TV (LG, Samsung, etc.)
Como converter imagens PNG/JPEG para SVG em linha de comando
Fez porcaria no teu repositório Git? Aprenda a restaurar uma versão anterior do seu código!
Restaurando Fontes de Download do Hydra no Linux
Atualizando "na marra" o YT-DLP quando começa a dar erro de downloads
Como instalar o WPS com interface e corretor ortográfico em PT-BR no Arch Linux
Inicializaçao lenta (alguns processos rodando) Debian 11 Bullseye [RES... (2)
Erro na atualização dos pacotes (6)