diff --git a/api/SSettings.php b/api/SSettings.php
index 5d09fa8..965ba0b 100644
--- a/api/SSettings.php
+++ b/api/SSettings.php
@@ -2,7 +2,7 @@
 
 class SSettings
 {
-    private $database;
+    private ?Database $database;
 
     /**
      * SSettings constructor.
@@ -19,4 +19,21 @@ class SSettings
         $r = mysqli_fetch_assoc($result);
         return $r['video_path'];
     }
+
+    /**
+     * check if TMDB is enableds
+     * @return bool isenabled?
+     */
+    public function isTMDBGrabbingEnabled(): bool
+    {
+        $query = "SELECT TMDB_grabbing from settings";
+
+        $result = $this->database->getConnection()->query($query);
+        if(!$result){
+            return true; // if undefined in db --> default true
+        }else{
+            $r = mysqli_fetch_assoc($result);
+            return $r['TMDB_grabbing'] == '1';
+        }
+    }
 }
\ No newline at end of file
diff --git a/api/Settings.php b/api/Settings.php
index 06933fc..273446e 100644
--- a/api/Settings.php
+++ b/api/Settings.php
@@ -1,7 +1,9 @@
 getConnection();
+$settings = new SSettings();
 
 if (isset($_POST['action'])) {
     $action = $_POST['action'];
@@ -15,11 +17,10 @@ if (isset($_POST['action'])) {
             }
 
             $r = mysqli_fetch_assoc($result);
-            if ($r['password'] != "-1") {
-                $r['passwordEnabled'] = true;
-            } else {
-                $r['passwordEnabled'] = false;
-            }
+            // booleans need to be set manually
+            $r['passwordEnabled']  = $r['password'] != "-1";
+            $r['TMDB_grabbing'] = ($r['TMDB_grabbing'] != '0');
+
             echo json_encode($r);
             break;
         case "saveGeneralSettings":
@@ -27,12 +28,14 @@ if (isset($_POST['action'])) {
             $password = $_POST['password'];
             $videopath = $_POST['videopath'];
             $tvshowpath = $_POST['tvshowpath'];
+            $tmdbsupport = $_POST['tmdbsupport'];
 
             $query = "UPDATE settings SET 
                         video_path='$videopath',
                         episode_path='$tvshowpath',
                         password='$password',
-                        mediacenter_name='$mediacentername'
+                        mediacenter_name='$mediacentername',
+                        TMDB_grabbing=$tmdbsupport
                     WHERE 1";
 
             if ($conn->query($query) === true) {
diff --git a/api/extractvideopreviews.php b/api/extractvideopreviews.php
index db0cc92..eb47c2c 100755
--- a/api/extractvideopreviews.php
+++ b/api/extractvideopreviews.php
@@ -1,6 +1,7 @@
 getAllGenres();
 
 $conn = Database::getInstance()->getConnection();
+$settings = new SSettings();
 
-$scandir = "../videos/prn/";
+// load video path from settings
+$scandir = "../" . $settings->getVideoPath();
 $arr = scandir($scandir);
+$TMDB_enabled = $settings->isTMDBGrabbingEnabled();
 
 $all = 0;
 $added = 0;
@@ -33,14 +37,21 @@ foreach ($arr as $elem) {
                 $poster = -1;
                 $genres = -1;
                 if (!is_null($dta = $tmdb->searchMovie($moviename))) {
-                    $pic = file_get_contents($tmdb->picturebase . $dta->poster_path);
                     $poster = shell_exec("ffmpeg -hide_banner -loglevel panic -ss 00:04:00 -i \"../videos/prn/$elem\" -vframes 1 -q:v 2 -f singlejpeg pipe:1 2>/dev/null");
 
-                    // error handling for download error
-                    if (!$pic) {
+                    // check if tmdb support is enabled
+                    if ($TMDB_enabled) {
+                        $pic = file_get_contents($tmdb->picturebase . $dta->poster_path);
+
+                        // error handling for download error
+                        if (!$pic) {
+                            $pic = $poster;
+                            $poster = -1;
+                            echo "Failed to load Picture from TMDB!  \n";
+                        }
+                    } else {
                         $pic = $poster;
                         $poster = -1;
-                        echo "Failed to load Picture from TMDB!  \n";
                     }
 
                     $genres = $dta->genre_ids;
diff --git a/database.sql b/database.sql
index 2005183..ba71abd 100644
--- a/database.sql
+++ b/database.sql
@@ -29,9 +29,22 @@ create table if not exists video_tags
         foreign key (video_id) references videos (movie_id)
 );
 
+create table settings
+(
+    id enum(1) NOT NULL default 0,
+    video_path       varchar(255)                          null,
+    episode_path     varchar(255)                          null,
+    password         varchar(32) default '-1'              null,
+    mediacenter_name varchar(32) default 'OpenMediaCenter' null,
+    PRIMARY KEY (id)
+);
+
 INSERT INTO tags (tag_id, tag_name)
 VALUES (2, 'fullhd');
 INSERT INTO tags (tag_id, tag_name)
 VALUES (3, 'lowquality');
 INSERT INTO tags (tag_id, tag_name)
 VALUES (4, 'hd');
+
+INSERT INTO settings (video_path, episode_path, password, mediacenter_name)
+VALUES ('./videos/', './tvshows/', -1, 'OpenMediaCenter');
diff --git a/src/pages/CategoryPage/CategoryPage.test.js b/src/pages/CategoryPage/CategoryPage.test.js
index a96cc9e..1f739fa 100644
--- a/src/pages/CategoryPage/CategoryPage.test.js
+++ b/src/pages/CategoryPage/CategoryPage.test.js
@@ -110,4 +110,21 @@ describe('