Skip to content

Commit

Permalink
Subtitle feature & Script split
Browse files Browse the repository at this point in the history
  • Loading branch information
Cactooz committed Nov 10, 2020
1 parent 093b686 commit 7631cfa
Show file tree
Hide file tree
Showing 5 changed files with 148 additions and 24 deletions.
21 changes: 21 additions & 0 deletions CoverArt.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
#!/bin/bash

TMPLEVEL=$1
TMPCHANGE=$2

DIRECTORY=$3
INPUTFILE=$4
ARTLOCATION=$5
OUTPUTFILE=$6

echo "Adding cover art"

if [ "$TMPCHANGE" = true ]; then
if [ "$TMPLEVEL" > 2 ]; then
ffmpeg -i "$DIRECTORY/2TMP$OUTPUTFILE" -i "$ARTLOCATION" -map 1 -map 0 -c copy -disposition:0 attached_pic -loglevel warning "$DIRECTORY/$OUTPUTFILE"
elif [ "$TMPLEVEL" = 2 ]; then
ffmpeg -i "$DIRECTORY/TMP$OUTPUTFILE" -i "$ARTLOCATION" -map 1 -map 0 -c copy -disposition:0 attached_pic -loglevel warning "$DIRECTORY/$OUTPUTFILE"
fi
else
ffmpeg -i "$DIRECTORY/$INPUTFILE" -i "$ARTLOCATION" -c copy -map 1 -map 0 -disposition:0 attached_pic "$DIRECTORY/$OUTPUTFILE"
fi
23 changes: 23 additions & 0 deletions Metadata.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
#!/bin/bash

TMPLEVEL=$1

DIRECTORY=$2
INPUTFILE=$3
TITLE=$4
DATE=$5
GENRE=$6
SHOW=$7
SEASON=$8
EPISODE=$9
LANGUAGE=${10}
QUALTIY=${11}
OUTPUTFILE=${12}

echo "Adding metadata"

if [ "$TMPLEVEL" > 1 ]; then
ffmpeg -i "$DIRECTORY/$INPUTFILE" -c copy -c:s mov_text -metadata title="$TITLE" -metadata date="$DATE" -metadata genre="$GENRE" -metadata show="$SHOW" -metadata season_number="$SEASON" -metadata episode_id="$EPISODE" -metadata episode_sort="$EPISODE" -metadata language="$LANGUAGE" -metadata hd_video="$QUALTIY" -loglevel warning "$DIRECTORY/TMP$OUTPUTFILE"
else
ffmpeg -i "$DIRECTORY/$INPUTFILE" -c copy -c:s mov_text -metadata title="$TITLE" -metadata date="$DATE" -metadata genre="$GENRE" -metadata show="$SHOW" -metadata season_number="$SEASON" -metadata episode_id="$EPISODE" -metadata episode_sort="$EPISODE" -metadata language="$LANGUAGE" -metadata hd_video="$QUALTIY" -loglevel warning "$DIRECTORY/$OUTPUTFILE"
fi
8 changes: 8 additions & 0 deletions RemoveFiles.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
#!/bin/bash

DIRECTORY=$1
OUTPUTFILE=$2

echo "Removing temp files"

find $DIRECTORY -name "*TMP$OUTPUTFILE" -type f -exec rm -v {} \;
26 changes: 26 additions & 0 deletions Subtitles.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
#!/bin/bash

TMPLEVEL=$1
TMPCHANGE=$2

DIRECTORY=$3
INPUTFILE=$4
SUBTITLE=$5
SUBTITLELANGUAGE=$6
OUTPUTFILE=$7

echo "Adding Subtitles"

if [ "$TMPCHANGE" = true ]; then
if [ "$TMPLEVEL" > 2 ]; then
ffmpeg -i "$DIRECTORY/TMP$OUTPUTFILE" -i "$SUBTITLE" -map 0 -map 1 -c copy -c:s mov_text -metadata:s:s:0 language="$SUBTITLELANGUAGE" -loglevel warning "$DIRECTORY/2TMP$OUTPUTFILE"
else
ffmpeg -i "$DIRECTORY/TMP$OUTPUTFILE" -i "$SUBTITLE" -map 0 -map 1 -c copy -c:s mov_text -metadata:s:s:0 language="$SUBTITLELANGUAGE" -loglevel warning "$DIRECTORY/$OUTPUTFILE"
fi
else
if [ "$TMPLEVEL" > 1 ]; then
ffmpeg -i "$DIRECTORY/$INPUTFILE" -i "$SUBTITLE" -map 0 -map 1 -c copy -c:s mov_text -metadata:s:s:0 language="$SUBTITLELANGUAGE" -loglevel warning "$DIRECTORY/TMP$OUTPUTFILE"
else
ffmpeg -i "$DIRECTORY/$INPUTFILE" -i "$SUBTITLE" -map 0 -map 1 -c copy -c:s mov_text -metadata:s:s:0 language="$SUBTITLELANGUAGE" -loglevel warning "$DIRECTORY/$OUTPUTFILE"
fi
fi
94 changes: 70 additions & 24 deletions VideoConverter.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,10 @@ METADATALOOP=true
INSTALLFFMPEGLOOP=true
ARTLOOP=true
ARTDIRLOOP=true
SUBTITLELOOP=true
SUBTITLEDIRLOOP=true
TMPLEVEL=0
TMPCHANGE=false

echo ""
echo "============================"
Expand Down Expand Up @@ -64,6 +68,8 @@ do

USEMETADATA=true
METADATALOOP=false
TMPLEVEL=$((TMPLEVEL+1))
TMPCHANGE=true
;;
[Nn]* )
METADATALOOP=false
Expand All @@ -74,6 +80,56 @@ done

echo ""

echo "Do you want to add subtitles? (yes/no)"
while [ "$SUBTITLELOOP" = true ]
do
read SUBTITLEANSWER
case $SUBTITLEANSWER in
[Yy]* )
echo ""

echo "Is the subtitles in the same directory as: $DIRECTORY? (yes/no)"
while [ "$SUBTITLEDIRLOOP" = true ]
do
read SUBTITLEDIRANSWER
case $SUBTITLEDIRANSWER in
[Yy]* )
SUBTITLEDIR=$DIRECTORY

SUBTITLEDIRLOOP=false
;;
[Nn]* )
echo ""
read -p "Directory for subtitles: " SUBTITLEDIR

SUBTITLEDIRLOOP=false
;;
* ) echo "Please answer yes or no.";;
esac
done

echo ""
read -p "Subtitle file: " SUBTITLEFILE

SUBTITLE=$SUBTITLEDIR/$SUBTITLEFILE

echo ""
read -p "Subtitle language (example: eng): " SUBTITLELANGUAGE

USESUBTITLES=true
SUBTITLELOOP=false
TMPLEVEL=$((TMPLEVEL+1))
TMPCHANGE=true
;;
[Nn]* )
SUBTITLELOOP=false
;;
* ) echo "Please answer yes or no.";;
esac
done

echo ""

echo "Do you want to add cover art? (yes/no)"
while [ "$ARTLOOP" = true ]
do
Expand Down Expand Up @@ -109,6 +165,7 @@ do

USEART=true
ARTLOOP=false
TMPLEVEL=$((TMPLEVEL+1))
;;
[Nn]* )
ARTLOOP=false
Expand All @@ -121,33 +178,22 @@ echo ""
read -p "Output file: " OUTPUTFILE
echo ""

echo "Converting file..."

if [ "$USEMETADATA" = true ]; then
if [ "$USEART" = true ]; then
echo "Converting file"
echo "Writing metadata"
ffmpeg -i "$DIRECTORY/$INPUTFILE" -c copy -loglevel warning -c:s mov_text -metadata title="$TITLE" -metadata date="$DATE" -metadata genre="$GENRE" -metadata show="$SHOW" -metadata season_number="$SEASON" -metadata episode_id="$EPISODE" -metadata episode_sort="$EPISODE" -metadata language="$LANGUAGE" -metadata hd_video="$QUALTIY" "$DIRECTORY/TMP-$OUTPUTFILE"
echo "Adding cover art"
ffmpeg -i "$DIRECTORY/TMP-$OUTPUTFILE" -i "$ARTLOCATION" -c copy -loglevel warning -map 1 -map 0 -disposition:0 attached_pic "$DIRECTORY/$OUTPUTFILE"
echo "Removing temp files"
rm "$DIRECTORY/TMP-$OUTPUTFILE"
else
echo "Converting file"
ffmpeg -i "$DIRECTORY/$INPUTFILE" -c copy -loglevel warning -c:s mov_text -metadata title="$TITLE" -metadata date="$DATE" -metadata genre="$GENRE" -metadata show="$SHOW" -metadata season_number="$SEASON" -metadata episode_id="$EPISODE" -metadata episode_sort="$EPISODE" -metadata language="$LANGUAGE" -metadata hd_video="$QUALTIY" "$DIRECTORY/$OUTPUTFILE"
fi
else
if [ "$USEART" = true ]; then
echo "Converting file"
ffmpeg -i "$DIRECTORY/$INPUTFILE" -c copy -loglevel warning -c:s mov_text "$DIRECTORY/TMP-$OUTPUTFILE"
echo "Adding cover art"
ffmpeg -i "$DIRECTORY/TMP-$OUTPUTFILE" -i "$ARTLOCATION" -c copy -loglevel warning -map 1 -map 0 -disposition:0 attached_pic "$DIRECTORY/$OUTPUTFILE"
echo "Removing temp files"
rm "$DIRECTORY/TMP-$OUTPUTFILE"
else
echo "Converting file"
ffmpeg -i "$DIRECTORY/$INPUTFILE" -c copy -loglevel warning -c:s mov_text "$DIRECTORY/$OUTPUTFILE"
fi
./Metadata.sh $TMPLEVEL $DIRECTORY $INPUTFILE $TITLE $DATE $GENRE $SHOW $SEASON $EPISODE $LANGUAGE $QUALTIY $OUTPUTFILE
fi

if [ "$USESUBTITLES" = true ]; then
./Subtitles.sh $TMPLEVEL $TMPCHANGE $DIRECTORY $INPUTFILE $SUBTITLE $SUBTITLELANGUAGE $OUTPUTFILE
fi

if [ "$USEART" = true ]; then
./CoverArt.sh $TMPLEVEL $TMPCHANGE $DIRECTORY $INPUTFILE $ARTLOCATION $OUTPUTFILE
fi

./RemoveFiles.sh $DIRECTORY $OUTPUTFILE

echo ""
echo "DONE!"
echo ""

0 comments on commit 7631cfa

Please sign in to comment.