Conversor de vídeo com opção de legenda

Publicado por Perfil removido (última atualização em 06/04/2024)

[ Hits: 1.538 ]

Download comlegenda.sh




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.

  



Esconder código-fonte

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

Scripts recomendados

tira_usb.sh - Remover dispositivo USB

SCM - Compressão em Massa

Firewall

Monitoramento de espaço em disco

Cryporange - criptografador de mensagens


  

Comentários
[1] Comentário enviado por maurixnovatrento em 23/06/2024 - 17:25h

Bom script;
______________________________________________________________________
Inscreva-se no meu Canal: https://www.youtube.com/@LinuxDicasPro
Repositório GitHub do Canal: https://github.com/LinuxDicasPro
Grupo do Telegram: https://t.me/LinuxDicasPro
Meu GitHub Pessoal: https://github.com/mxnt10


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts