add Screens and Poster and scp to generate torrent script
This commit is contained in:
1 parent
e0a7968757
commit
f65e51509a
1 file changed
+82
-25
+82
-25
@@ -8,16 +8,23 @@ PIECE_SIZE=22
|
||||
INPUT="$1"
|
||||
SEARCH_NAME="${2:-}"
|
||||
TYPE="${3:-}"
|
||||
SKIP_TORRENT_CREATION="${4:-}"
|
||||
|
||||
if [ ! -e "$INPUT" ] || [ -z "$SEARCH_NAME" ] || [ -z "$TYPE" ]; then
|
||||
echo "Usage: $0 <input-file> <search-name> <movie/tv>"
|
||||
if [ ! -d "$INPUT" ] ; then
|
||||
echo "Input missing"
|
||||
echo "Usage: $0 <input-file> <search-name> <movie/tv> --skip (opt)"
|
||||
exit 1
|
||||
elif [ -z "$SEARCH_NAME" ] ; then
|
||||
echo "Search name missing"
|
||||
echo "Usage: $0 <input-file> <search-name> <movie/tv> --skip (opt)"
|
||||
exit 1
|
||||
elif [ -z "$TYPE" ]; then
|
||||
echo "Type not present"
|
||||
echo "Usage: $0 <input-file> <search-name> <movie/tv> --skip (opt)"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ -f "$INPUT" ]; then
|
||||
NAME=$(basename "$INPUT")
|
||||
NAME="${NAME%.*}" # remove extension
|
||||
elif [ -d "$INPUT" ]; then
|
||||
if [ -d "$INPUT" ]; then
|
||||
NAME=$(basename "$INPUT")
|
||||
else
|
||||
echo "Input does not exist: $INPUT"
|
||||
@@ -124,22 +131,31 @@ BACKDROP_PATH=$(echo "$DETAILS" | jq -r '.backdrop_path // empty')
|
||||
|
||||
POSTER_URL="N/A"
|
||||
BACKDROP_URL="N/A"
|
||||
|
||||
if [[ -n "$POSTER_PATH" ]]; then
|
||||
POSTER_URL="https://image.tmdb.org/t/p/original${POSTER_PATH}"
|
||||
fi
|
||||
|
||||
if [[ -n "$BACKDROP_PATH" ]]; then
|
||||
BACKDROP_URL="https://image.tmdb.org/t/p/original${BACKDROP_PATH}"
|
||||
fi
|
||||
|
||||
[[ -n "$POSTER_PATH" ]] && \
|
||||
POSTER_URL="https://image.tmdb.org/t/p/original${POSTER_PATH}"
|
||||
|
||||
[[ -n "$BACKDROP_PATH" ]] && \
|
||||
BACKDROP_URL="https://image.tmdb.org/t/p/original${BACKDROP_PATH}"
|
||||
|
||||
mkdir -p "$INPUT/Screens"
|
||||
|
||||
if [[ "$POSTER_URL" != "N/A" ]]; then
|
||||
curl -L "$POSTER_URL" \
|
||||
-o "$INPUT/Screens/$(basename "$POSTER_PATH")"
|
||||
fi
|
||||
|
||||
if [[ "$BACKDROP_URL" != "N/A" ]]; then
|
||||
curl -L "$BACKDROP_URL" \
|
||||
-o "$INPUT/Screens/$(basename "$BACKDROP_PATH")"
|
||||
fi
|
||||
|
||||
# --data-urlencode "api_key=AB" \
|
||||
# "https://api.themoviedb.org/3/search/tv"
|
||||
echo "Collecting media info..."
|
||||
|
||||
if [ -f "$INPUT" ]; then
|
||||
MEDIA_FILE="$INPUT"
|
||||
else
|
||||
MEDIA_FILE=$(find "$INPUT" -type f \( \
|
||||
-iname "*.mkv" -o \
|
||||
-iname "*.mp4" -o \
|
||||
@@ -148,7 +164,6 @@ MEDIA_FILE=$(find "$INPUT" -type f \( \
|
||||
-iname "*.m4v" -o \
|
||||
-iname "*.ts" \
|
||||
\) | head -n1)
|
||||
fi
|
||||
|
||||
MEDIAINFO_OUTPUT=$(mediainfo "$MEDIA_FILE")
|
||||
|
||||
@@ -214,17 +229,59 @@ mediainfo
|
||||
==================================================
|
||||
EOF
|
||||
|
||||
SCREEN_DIR="$INPUT/Screens"
|
||||
mkdir -p "$SCREEN_DIR"
|
||||
|
||||
# Videolänge in Sekunden
|
||||
DURATION=$(ffprobe -v error \
|
||||
-show_entries format=duration \
|
||||
-of default=noprint_wrappers=1:nokey=1 \
|
||||
"$MEDIA_FILE")
|
||||
|
||||
# 5 gleichmäßig verteilte Screenshots (10%-90%)
|
||||
for i in {1..5}; do
|
||||
PERCENT=$((i * 100 / 6))
|
||||
TIMESTAMP=$(awk "BEGIN {print $DURATION * $PERCENT / 100}")
|
||||
|
||||
ffmpeg -y \
|
||||
-ss "$TIMESTAMP" \
|
||||
-i "$MEDIA_FILE" \
|
||||
-frames:v 1 \
|
||||
-q:v 2 \
|
||||
"$SCREEN_DIR/screen_$i.png" \
|
||||
>/dev/null 2>&1
|
||||
done
|
||||
|
||||
echo "Screenshots erstellt in: $SCREEN_DIR"
|
||||
|
||||
|
||||
echo "Created:"
|
||||
echo " ${NAME}.torrent"
|
||||
echo " ${NAME}.nfo"
|
||||
|
||||
echo
|
||||
echo "Creating torrent..."
|
||||
|
||||
mktorrent \
|
||||
-p \
|
||||
-l "$PIECE_SIZE" \
|
||||
-a "$TRACKER" \
|
||||
-o "${NAME}.torrent" \
|
||||
"$INPUT"
|
||||
if [[ "$SKIP_TORRENT_CREATION" == "--skip" ]]; then
|
||||
echo
|
||||
echo Skip torrent cration
|
||||
else
|
||||
echo
|
||||
echo "Creating torrent..."
|
||||
|
||||
mktorrent \
|
||||
-p \
|
||||
-l "$PIECE_SIZE" \
|
||||
-a "$TRACKER" \
|
||||
-o "${NAME}.torrent" \
|
||||
"$INPUT"
|
||||
fi
|
||||
|
||||
for f in "$INPUT"/Screens/*; do
|
||||
[[ -e "$f" ]] && FILES+=("$f")
|
||||
done
|
||||
ssh lucas@vivohost "mkdir -p \"Torrents/$NAME\""
|
||||
scp \
|
||||
"${NAME}.torrent" \
|
||||
"${NAME}.nfo" \
|
||||
lucas@vivohost:"Torrents/$NAME/"
|
||||
scp -r \
|
||||
"$INPUT/Screens" \
|
||||
lucas@vivohost:"Torrents/$NAME/"
|
||||
Reference in new issue
Block a user