Index: mythvideo/mythvideo/metadata.cpp
===================================================================
--- mythvideo/mythvideo/metadata.cpp	(revision 13964)
+++ mythvideo/mythvideo/metadata.cpp	(working copy)
@@ -433,9 +433,9 @@
     if (m_userrating < -10.0 || m_userrating >= 10.0)
         m_userrating = 0.0;
     m_length = query.value(6).toInt();
-    m_filename = QString::fromUtf8(query.value(7).toString());
+    m_filename = gVideoFilesPrefix + QString::fromUtf8(query.value(7).toString());
     m_showlevel = query.value(8).toInt();
-    m_coverfile = QString::fromUtf8(query.value(9).toString());
+    m_coverfile = gVideoArtworkPrefix + QString::fromUtf8(query.value(9).toString());
     m_inetref = QString::fromUtf8(query.value(10).toString());
     m_childID = query.value(11).toUInt();
     m_browse = query.value(12).toBool();
@@ -510,9 +510,9 @@
     query.bindValue(":YEAR", m_year);
     query.bindValue(":USERRATING", m_userrating);
     query.bindValue(":LENGTH", m_length);
-    query.bindValue(":FILENAME", m_filename.utf8());
+    query.bindValue(":FILENAME", m_filename.mid(gVideoFilesPrefix.length()).utf8());
     query.bindValue(":SHOWLEVEL", m_showlevel);
-    query.bindValue(":COVERFILE", m_coverfile.utf8());
+    query.bindValue(":COVERFILE", m_coverfile.mid(gVideoArtworkPrefix.length()).utf8());
     query.bindValue(":INETREF", m_inetref.utf8());
     query.bindValue(":BROWSE", m_browse);
 
Index: mythvideo/mythvideo/globalsettings.cpp
===================================================================
--- mythvideo/mythvideo/globalsettings.cpp	(revision 13964)
+++ mythvideo/mythvideo/globalsettings.cpp	(working copy)
@@ -214,6 +214,18 @@
     return gc;
 }
 
+static HostLineEdit *VideoFilesPrefix()
+{
+    HostLineEdit *gc = new HostLineEdit("VideoFilesPrefix");
+    gc->setLabel(QObject::tr("Local prefix for the videos directories"));
+    gc->setValue("");
+    gc->setHelpText(QObject::tr("A path to be prepended to the video startup "
+                                "and artwork dirs. Added during scanning and "
+                                "removed for database updates it enables local "
+                                "management of mountpoints."));
+    return gc;
+};
+
 HostLineEdit *VideoArtworkDirectory()
 {
     HostLineEdit *gc = new HostLineEdit("VideoArtworkDir");
@@ -225,6 +237,18 @@
     return gc;
 }
 
+static HostLineEdit *VideoArtworkPrefix()
+{
+    HostLineEdit *gc = new HostLineEdit("VideoArtworkPrefix");
+    gc->setLabel(QObject::tr("Local prefix for the artwork directory"));
+    gc->setValue("");
+    gc->setHelpText(QObject::tr("A path to be prepended to the video artwork "
+                                "dirs Added during scanning and removed for "
+                                "database updates it enables local management "
+                                "of mountpoints."));
+    return gc;
+};
+
 //Player Settings
 
 HostLineEdit *VideoDefaultPlayer()
@@ -552,7 +576,9 @@
     general->setLabel(QObject::tr("General Settings (%1/%2)")
                       .arg(1).arg(pages));
     general->addChild(VideoStartupDirectory());
+    general->addChild(VideoFilesPrefix());
     general->addChild(VideoArtworkDirectory());
+    general->addChild(VideoArtworkPrefix());
     general->addChild(VideoDefaultParentalLevel());
     general->addChild(VideoAdminPassword());
     general->addChild(VideoAggressivePC());
Index: mythvideo/mythvideo/globals.cpp
===================================================================
--- mythvideo/mythvideo/globals.cpp	(revision 13964)
+++ mythvideo/mythvideo/globals.cpp	(working copy)
@@ -30,3 +30,6 @@
 #else
 const QString DEFAULT_VIDEOSTARTUP_DIR = "/share/Movies/dvd";
 #endif
+
+QString gVideoFilesPrefix;
+QString gVideoArtworkPrefix;
Index: mythvideo/mythvideo/main.cpp
===================================================================
--- mythvideo/mythvideo/main.cpp	(revision 13964)
+++ mythvideo/mythvideo/main.cpp	(working copy)
@@ -567,6 +567,9 @@
 
     setupKeys();
 
+    gVideoFilesPrefix = gContext->GetSetting("VideoFilesPrefix");
+    gVideoArtworkPrefix = gContext->GetSetting("VideoArtworkPrefix");
+
     return 0;
 }
 
Index: mythvideo/mythvideo/videolist.cpp
===================================================================
--- mythvideo/mythvideo/videolist.cpp	(revision 13964)
+++ mythvideo/mythvideo/videolist.cpp	(working copy)
@@ -10,6 +10,7 @@
 #include "metadatalistmanager.h"
 #include "dbaccess.h"
 
+#include "globals.h"
 #include "quicksp.h"
 #include "dirscan.h"
 #include "videoutils.h"
@@ -815,7 +816,7 @@
     prefix_to_node_map ptnm;
 
     QStringList dirs = GetVideoDirs();
-    QString test_prefix(dirs[0]);
+    QString test_prefix(gVideoFilesPrefix + dirs[0]);
 
     meta_dir_node *video_root = &m_metadata_tree;
     if (dirs.size() == 1)
@@ -907,13 +908,14 @@
         {
             node_paths.push_back(
                     node_to_path_list::value_type(path_to_node_name(*iter),
-                                                  *iter));
+                                                  gVideoFilesPrefix + *iter));
         }
     }
     else
     {
         node_paths.push_back(
-                node_to_path_list::value_type(QObject::tr("videos"), dirs[0]));
+                node_to_path_list::value_type(QObject::tr("videos"),
+                                              gVideoFilesPrefix + dirs[0]));
     }
 
     //
Index: mythvideo/mythvideo/globals.h
===================================================================
--- mythvideo/mythvideo/globals.h	(revision 13964)
+++ mythvideo/mythvideo/globals.h	(working copy)
@@ -25,4 +25,7 @@
 
 extern const QString DEFAULT_VIDEOSTARTUP_DIR;
 
+extern QString gVideoFilesPrefix;
+extern QString gVideoArtworkPrefix;
+
 #endif // GLOBALS_H_
