#!/usr/bin/env bash
# teste_cv_lt_mp4_2_mkv.sh
# versão: 0.0.0 ForeverNow!
# autor: claytu_dinamitti_1000%
# email:
# site:
# data: 29-03-2020_16:27:19
# distro:
# exemplo de uso: ./teste_conv_lt_mp4_2_mkv.sh
# objetivo: converter lotes de mp4 para mkv
# variaveis: VAAR='qualquer_king'
# TODO - indica uma tarefa a ser feita
# FIXME - indica um bug conhecido que precisa ser arrumado
# XXX - Notícia, chama a atenção
# ----------------------------- #
clear
echo -e '\nSobrescrever metadata dos arquivos .mp4 primeiro. Comando:\n\nexiftool -all= -overwrite_original -ext mp4 .\n'
sleep 3
# sobreescreve metadata original (teste)
for i in *.mp4; do
exiftool -all= -overwrite_original -ext "$i" .
done
# sobreescrever metadata original (teste)
exiftool -all= -overwrite_original -ext mp4 .
## Ajusta os títulos? # LOOP FOR RM EXT MP4 NO PLAYER?
for i in *.mp4; do
exiftool "$i" -e info -s title="${i::-4}"
done
# ----------------------------- #
sleep 3
# Remove metadata?
for i in *.mp4; do
exiftool "$i" --tags all:
done
# ----------------------------- #
echo -e 'Pronto! Comando executado.\n'
sleep 2
echo -e '\nComando converte em lote mp4 para mkv:\n\nfor i in *.mp4; do ffmpeg -i "$i" -map_metadata -1 -c:v copy -c:a copy -map 0 "${i%.*}.mkv"; done\n'
sleep 4
echo -e 'Executando o comando em 3 segundos...\n'
sleep 3
# CONVERTENDO MP4 PARA MKV
for f in *.mp4; do
ffmpeg -i "$f" -map_metadata -1 -c:v copy -c:a copy -map 0 "${f%.*}.mkv"
done
# FUNCIONA
echo 'Listando arquivos...'
sleep 3
echo ''
ls -t | head
echo ''
sleep 3
# ----------------------------- #
echo -e '\nAgora corrigindo a extenção dos arquivos convertidos...\n'
# \\ Era para um erro no código acima que foi corrigido \\ #
sleep 3
for f in *.mp4.mkv; do
mv -- "$f" "${f%.mp4.mkv}.mkv"
done
ls -t *.mkv
sleep 4
# ----------------------------- #
# FUNCIONOU
echo -e 'Comando executado. \nUsando comando para verificar metadata do arquivo criado:\nexiftool *.mkv\n'
sleep 3
# ----------------------------- #
sleep 4
echo ""
exiftool *.mkv
echo ""
# ----------------------------- #
ls -tA
sleep 3
# ----------------------------- #
echo -e '\nSe quiser remover os arquivos originais, use o comando: rm -f *.mp4 \n\nOs arquivos convertidos podem ser renomeados, pois apesar de covertidos para mkv no final deles ficava assim:\n\n mp4.mkv \n\nIsto pode ser feito com o Gprename. \n\nAté Breve! \n\n'
sleep 3
# ----------------------------- #
echo -e '\nBom, já que a conversão foi testada algumas vezes e bem sucedida, resolvi neste script adicionar o comando de remover o arquivo original mp4 \n\nOBS: Cuidado! Este comando remove tudo que tiver extenção .mp4 \n\nÚltima Chamada: Se quiser cancelar a remoção aperte as teclas Ctrl+C \n\n'
sleep 4
echo '---3-->'
echo ''
sleep 2
echo '---2-->'
echo ''
sleep 2
echo '---1-->'
echo -e '\nRemovendo arquivo .mp4 com o comando:\nrm -rf *.mp4\n'
sleep 2
# remover arquivos mp4
for f in *.mp4; do
rm -rf "$f"
done
# ----------------------------- #
# LOOP FOR RM EXT MKV NO PLAYER
for f in *.mkv; do
mkvpropedit "$f" -e info -s title="${f::-4}"
done
# remover metadata de mkv
for f in *.mkv; do
mkvpropedit "$f" --tags all: # remove a metadata?
done
# ----------------------------- #
# remover metadata de mkv
mkvpropedit *.mkv --tags all:
# ----------------------------- #
# Loop mostra lista (ls -ltA) resultado final
for i in *.mkv; do
ls -ltA "$i" | head
done
# ----------------------------- #
# listar metadata para conferir
for f in *.mkv; do
echo ""
exiftool "$f"
echo ""
done
# ----------------------------- #
echo 'Feito!'
# ----------------------------- #
# fim do script