#!/bin/sh
# name of this script: wav2mkv.sh
function PARAMETRAI {
echo "reikalingas parametras"
echo "$0 0 - lyrikoje be pakeitimu"
echo "$0 1 - iterpti priekyje eilute: failo pavadinimas"
echo "$0 2 - pakeisti pirma eilute failo pavadinimu"
echo "$0 3 - direktrija i prieki pries pavadinima"
exit 1
}
echo "currentDir/wav to ~/Public/*"
if [ "$#" -ne 1 ]; then
PARAMETRAI
fi
# patikriname ar yra visi lyric.txt
for i in *.wav; do
file=`basename "$i" .wav`
if [ ! -e "$file.txt" ]; then
echo "nerastas $file".txt
exit 1
fi
done
# kopijuojame i DIRAS
for i in *.wav; do
file=`basename "$i" .wav`
if [ "$1" -eq 0 ]; then
ln "$file".txt ~/Public/"$file".txt
elif [ "$1" -eq 1 ]; then
echo "$file" | cat - "$file.txt" | col -b >~/Public/"$file.txt"
elif [ "$1" -eq 2 ]; then
tail -n +2 "$file.txt" >TMP.tmp
echo "$file" | cat - TMP.tmp | col -b >~/Public/"$file.txt"
rm TMP.tmp
elif [ "$1" -eq 3 ]; then
echo "${PWD##*/} - " | tr -d '\n' | tr -d '\r' | cat - "$file.txt" | col -b >~/Public/"$file.txt"
else
PARAMETRAI
fi
ln "$i" ~/Public/"$i"
# wav --> flac
flac --best "$i"
done
cd ~/Public
# wav --> MKV
for i in *.wav; do
echo "$i"
file=`basename "$i" .wav`
cat "$file.txt" | expand | sed '/^$/d; :loop y/\n/ /; N; /\n$/! b loop; s/ */ /g; s/^ //' | convert -background black -size 1880x1080 -font Courier -pointsize 24 -fill white -splice 40x -gravity west caption:@- "$file.jpg"
#flac --best "$i"
ffmpeg -loop 1 -i "$file.jpg" -i "$file.wav" -acodec copy -vcodec libx264 -pix_fmt yuv420p -y -shortest "$file.mkv"
done
echo "baigta"
No comments:
Post a Comment