TinyMediaManager Tiny Media Site

TMM is a tools which allows to manage a film and serie collection.

TMM is a very useful media manager, I used it with the export template : https://gitlab.com/maxburon/tinyMediaManager/-/tree/darkTemplate/templates/DarkTemplate

The documentation of the export: https://gitlab.com/tinyMediaManager/tinyMediaManager/-/wikis/Export-Templates?version_id=a5b7f15647719bdaa3a7f93a51e5aa123ccbd962

There is a forum about tinymediamanager : https://forum.kodi.tv/forumdisplay.php?fid=204

installation

Download the last build from : https://www.tinymediamanager.org/download/

mkdir ~/.tinymediamanager
cd ~/.tinymediamanager/

wget https://release.tinymediamanager.org/v3/dist/tmm_3.1.8_linux.tar.gz
tar -xvf tmm_3.1.8_linux.tar.gz

cp -r /ssh:bcdp:~/tinyMediaManager/build/data .
rm data/*.db

tinyMediaSite

Tiny media site is a web site representing a movie and tvshow collection. It retrieves meta data of the medias using the NFO files present in the collection directories. Tiny media site have been design to work well with tinyMediaManager. It is based on the framework Sapper.

screenshot.png

Features

Movie

  • an index page containing all the movies
  • RSS feed for the latest movies
  • searching movie by title
  • one page per movie with directors, genres, actors and download links
  • one page per director, actor, genre and tag containing the related movies
  • an index page of the movie tags

Tv Show

  • an index page containing all the tv shows
  • one page per tv show containing all the episodes per season
  • one m3u file per tv show seasons

Installation

It requires that nodejs and npm are installed. Then, you can install the dependencies using:

npm install

Usage

Configuration

Copy .env.source to .env and fill it with your values.

Data gathering

You can gather the metadata by generating the data/tvshows.json and data/movies.json JSON files, using:

node scripts/gatherData.js

Run the server

npm run build
npm run start

Export

Sapper supports static export of the website outputted in __sapper__/export using:

# movies.json is not reach during the crawl, but it is used at client side for text search
     npm run export --entry "/movies.json"
  • Setup for file links

    Copy the file directories hierarchy from the root directory of your export by creating a symlink to your movie folder:

    # your movies folder have the following absolute path
    # /parent_path/movies
    cd export
    mkdir -p parent_path
    cd parent_path
    ln -s /parent_path/movies movies
    

todo   dev

TODO réduire la taille des posters

en utilisant la commande suivante, on peut espérer un facteur de réduction entre 5 et 10:

convert -resize 256x -sampling-factor 4:2:0 -strip -quality 75 -interlace JPEG -colorspace sRGB poster.jpg poster.min.jpg

Generate JSON movie files (old)

This is the way, I used to retrieve the json document data/movies.json from the NFO files. This is a nice usage example of jq and xml2json tools.

DIRS="/mnt/super8/films /mnt/pellicule/videos/films"
TMP="data/movies.tmp.json"
OUTPUT="data/movies.json"


> $OUTPUT
for dir in $DIRS;
do
    > $TMP
    for f in $dir/*/*.nfo;
    do
        echo $f;
        xml2json -t xml2json "$f" --pretty --strip_text >> $TMP;
    done;
    jq -s --arg dir $dir '.[].movie| . + {directory: $dir}' $TMP >> $OUTPUT
done;
cp $OUTPUT $TMP
jq -s '.' $TMP > $OUTPUT

Dark Template

It is the ancestor of tinyMediaSite, a TinyMediaManager template to export your collection as a static website. The source code is available on gitlab: https://gitlab.com/maxburon/tinyMediaManager/-/tree/devel/templates/DarkTemplate

This post accepts webmentions. Do you have the URL to your post?

Otherwise, send your comment on my service.

Or interact from the fediverse with your username:

fediverse logo Share on the Fediverse