1
0
Fork 0
mirror of https://github.com/Jonny007-MKD/OTR-DecodeAll synced 2024-05-07 21:44:05 +02:00

Update README.md

This commit is contained in:
Jonny007-MKD 2015-05-02 00:12:26 +02:00
parent a358a63391
commit d2369d3436

View file

@ -1,46 +1,96 @@
OTR-DecodeAll OTR-DecodeAll
============= =============
Shell script to decode all downloaded *.otrkey files, send them to multicut, create folders with appropriate file names and move the final movie files there (working with XMBC) This is a Bash script to
- decode all downloaded *.otrkey files in a folder with the decoder of your choise,
- cut them with multicutmkv (or any other tool you want to configure),
- create folders based on tags (labels) with appropriate names,
- ask SaneRenamix for appropriate file names of episodes and
- move the final movie to its destination (so they are recognized by Kodi)
Configuration Configuration
------------- -------------
The config file provides a default configuration. Some parts can be overridden by command line parameters, other variables shall use those parameters. Thus the config file is divided in two parts (functions): funcConfigPre and funcConfigPost. The `config.sample` file provides a default configuration. Please copy it to `config` and modify it to reflect your needs. Some parts of the configuration can be overridden by command line parameters, other variables shall use those parameters. Thus the config file is divided in two parts (functions): `funcConfigPre` and `funcConfigPost`.
In funcConfigPre the following values have to be set: In `funcConfigPre` the following values have to be set:
user="OTR-Email" user="OTR-Email"
pass="OTR-Password" pass="OTR-Password"
delugeDir="/etc/deluged" # Config dir of DelugeD delugeDir="/etc/deluged" # Config dir of DelugeD
inDir="/Multimedia/Video/.Downloaded" # Dir with .otrkeys inDir="/Multimedia/Video/.Downloaded" # Dir with .otrkeys
uncutDir="/Multimedia/Video/.Uncut" # Dir with uncut videos (output of decoder) tempDir="/Multimedia/Video/.Temp" # Dir with decoded and cut videos (output of decoder and cutter)
cutDir="/Multimedia/Video/.Uncut" # Dir with cut videos (output of cutter) outDir="/Multimedia/Video" # Final dir with videos
outDir="/Multimedia/Video/" # Final dir with videos
torrentDb="/home/deluged/torrents.db" # File with file names and labels (see at github: Torrent-Label-DB) labelDb="/home/deluged/labeldb/labelsOfTorrents.db" # File with file names and labels (see at github: Jonny007-MKD/Torrent-Label-DB) (optional)
# Possible labels: docu, tvserie, movie, movie-en
# With these labels the videos will be sorted in subfolders of $outDir # Add label->directory mapping. (optional)
# 1st arg: Label
xbmcUrl="user:password@localhost:8080" # Specify user, password and port for Kodi JSON API (HTTP interface) # 2nd arg: Each movie with this label will be moved to this subdirectory of $outDir
# 3rd arg: (optional) Whether SaneRenamix shall be used for movies with this label (default: false)
addLabel "movie" "Filme" 0
addLabel "movie-en" "Filme-En" "false"
addLabel "docu" "Dokumentationen"
addLabel "tvserie" "Serien" true
kodiUrl="user:password@localhost:8080" # Specify user, password and port for Kodi JSON API (HTTP interface)
# With this value the script will check whether Kodi is running to prevent stuttering playback # With this value the script will check whether Kodi is running to prevent stuttering playback
logFile="/home/deluged/otrDecodeAll.log" # path to the log file logFile="/home/deluged/otrDecodeAll.log" # path to the log file
# log levels: 0=off; 1=error; 2=warn; 3=info; 4 debug; 5 verbose debug # log levels: 0=off; 1=error; 2=warn; 3=info; 4 debug; 5 verbose debug
logLevel=2 # level, which messages shall be written into the log. logLevel=2 # which messages shall be written into the log.
echoLevel=5 # level, which messages shall be written to stdout. echoLevel=3 # which messages shall be written to stdout.
In funcConfigPost you can use the variables from above. Their content may be modified by command line parameters. In funcConfigPost you can use the variables from above. Their content may be modified by command line parameters.
cmdDecode="/usr/bin/otrtool" # path to otrkey decoder # 1st Decoder: otrtool
cmdDecode="/usr/bin/otrtool" # path to otrkey decoder
cmdDecodeArgs="-x -e $user -p $pass -D $uncutDir" # for peropeters otrdecoder cmdDecodeArgs="-x -e $user -p $pass -D $uncutDir" # for peropeters otrdecoder
# 2nd Decoder: otrdecode-64 with qemu
#cmdDecode="/home/pi/bin/qemu-x86_64 -L /home/pi/otr/otr /home/pi/otr/otr/bin64/otrdecoder-64 " #cmdDecode="/home/pi/bin/qemu-x86_64 -L /home/pi/otr/otr /home/pi/otr/otr/bin64/otrdecoder-64 "
#cmdDecodeArgs="-e $user -p $pass -o "$uncutDir" -i" # for original otrdecoder #cmdDecodeArgs="-e $user -p $pass -o "$uncutDir" -i" # for original otrdecoder
cmdCut="/home/deluged/multicutmkv.sh" # path to multicut. Not yet implemented. # 3rd Decoder: otrpidecoder
cmdCutArgs= #cmdDecode="/usr/bin/otrpidecoder" # path to NYrks otrdecoder
#cmdDecodeArgs="-d -e $user -p $pass"
#tempDir="$inDir" # no output directory can be specified
cmdCut="/home/deluged/multicutmkv.sh" # path to multicut (see at github: Jonny007-MKD/multicutmkv)
cmdCutArgs="-q -o $tempDir -t $tempDir"
cmdSaneRenamix="/home/deluged/saneRenamix.sh" # path to saneRenamix script. Leave empty to disable cmdSaneRenamix="/home/deluged/saneRenamix.sh" # path to saneRenamix script. Leave empty to disable
cmdSaneRenamixArgs="-s -f" cmdSaneRenamixArgs="-s -f"
My Workflow
-----------
I want to explain my OTR workflow to show you how OTR-DecodeAll fits into it and to give you some hints what is possible.
- I download the otrkeys with DelugeD, a BitTorrent client. It has several nice features like
- Remote control on smartphones and desktops
- A RSS client where I can teach it to automatically download my favourite series
- Moving finished files to a specified directory
- Specifing lables which are used later
- Executing programs when a torrent was added or is finished
- When a new torrent is added, the script `delugeAddTorrent.sh` from Jonny007-MKD/Torrent-Label-DB is called and a new entry in this database is created
- The script `refreshDb.sh` from Jonny007-MKD/Torrent-Label-DB is called periodically, so when I change the label of a torrent it gets updated in the database
- When the torrent is finished, it gets moved to the `Downloaded/` directory
- The script `otrDecodeAll.sh` from this repository is executed periodically and decodes all files.
Labels
------
Labels are used to specify the type of torrent. I use it to specify the type of the movie and to determine the destination folder. Some examples are:
- english movies
- german movies
- english series
- german series
- documentations
Based on these labels `otrDecodeAll` will handle the files differently. If the flag for `saneRenamix` (from Jonny007-MKD/OTR-SaneRename) is set to true this script is executed to determine a nice filename for series files. At the end of the script the movie will be moved to a subfolder based on the label. These settings can be specified in the `config` file:
addLabel "movie-en" "Filme-En" 0
This line adds a new label "movie". Files with this label will be moved to the subfolder "Filme-En/" and saneRenamix will not be used.