diff --git a/configurationwidget.cpp b/configurationwidget.cpp
index 3bdd3c9029bb4650b369e69484412b66568144a0..0308cf58950d95dd94f7beab1a5b11804633e84d 100644
--- a/configurationwidget.cpp
+++ b/configurationwidget.cpp
@@ -20,6 +20,9 @@
 #include "ui_configurationwidget.h"
 
 #include <QMessageBox>
+#include <QDir>
+#include <QStandardPaths>
+#include <QFileDialog>
 
 #include "video/devicemodel.h"
 #include "video/channel.h"
@@ -27,6 +30,8 @@
 #include "video/rate.h"
 #include "video/previewmanager.h"
 
+#include "media/recordingmodel.h"
+
 #include "accountserializationadapter.h"
 #include "accountstatedelegate.h"
 #include "settingskey.h"
@@ -87,6 +92,19 @@ ConfigurationWidget::ConfigurationWidget(QWidget *parent) :
     });
 
     ui->videoView->setIsFullPreview(true);
+
+    auto recordPath = Media::RecordingModel::instance().recordPath();
+    if (recordPath.isEmpty()) {
+        recordPath = QDir::toNativeSeparators(QStandardPaths::writableLocation(QStandardPaths::DocumentsLocation));
+        Media::RecordingModel::instance().setRecordPath(recordPath);
+    }
+    ui->recordPath->setText(Media::RecordingModel::instance().recordPath());
+
+    ui->alwaysRecordCheckBox->setChecked(Media::RecordingModel::instance().isAlwaysRecording());
+    connect(ui->alwaysRecordCheckBox, &QCheckBox::clicked, [](bool checked){
+        Media::RecordingModel::instance().setAlwaysRecording(checked);
+    });
+
 #ifndef ENABLE_AUTOUPDATE
     ui->checkUpdateButton->hide();
     ui->intervalUpdateCheckSpinBox->hide();
@@ -272,3 +290,16 @@ ConfigurationWidget::on_tabWidget_currentChanged(int index)
     Q_UNUSED(index)
     showPreview();
 }
+
+void
+ConfigurationWidget::on_recordPath_clicked()
+{
+    QString dir = QFileDialog::getExistingDirectory(this, tr("Choose Directory"),
+                                                 Media::RecordingModel::instance().recordPath(),
+                                                 QFileDialog::ShowDirsOnly
+                                                 | QFileDialog::DontResolveSymlinks);
+    if (not dir.isEmpty()) {
+        Media::RecordingModel::instance().setRecordPath(dir);
+        ui->recordPath->setText(dir);
+    }
+}
diff --git a/configurationwidget.h b/configurationwidget.h
index a7a0d4850080ff18758915a24da703007c3fd150..ca56d28f2b55406084a02b287063183c0dc756b0 100644
--- a/configurationwidget.h
+++ b/configurationwidget.h
@@ -60,6 +60,7 @@ private slots:
     void on_autoUpdateCheckBox_toggled(bool checked);
     void on_intervalUpdateCheckSpinBox_valueChanged(int arg1);
     void on_tabWidget_currentChanged(int index);
+    void on_recordPath_clicked();
 
 private slots:
     void accountSelected(QItemSelection itemSel);
diff --git a/configurationwidget.ui b/configurationwidget.ui
index 1ccd9173752215f83e9a1daba10a725b8b57239b..926e3242b10dcf6a1a44ed853088fd9a23dadafd 100644
--- a/configurationwidget.ui
+++ b/configurationwidget.ui
@@ -107,6 +107,73 @@
          </item>
         </layout>
        </item>
+       <item>
+        <widget class="QLabel" name="label_3">
+         <property name="font">
+          <font>
+           <weight>75</weight>
+           <bold>true</bold>
+          </font>
+         </property>
+         <property name="text">
+          <string>Record Settings</string>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <layout class="QHBoxLayout" name="horizontalLayout_4">
+         <property name="topMargin">
+          <number>0</number>
+         </property>
+         <item>
+          <widget class="QLabel" name="label_6">
+           <property name="text">
+            <string>Save in :</string>
+           </property>
+          </widget>
+         </item>
+         <item>
+          <widget class="QPushButton" name="recordPath">
+           <property name="font">
+            <font>
+             <weight>75</weight>
+             <bold>true</bold>
+            </font>
+           </property>
+           <property name="layoutDirection">
+            <enum>Qt::RightToLeft</enum>
+           </property>
+           <property name="text">
+            <string/>
+           </property>
+           <property name="icon">
+            <iconset resource="ressources.qrc">
+             <normaloff>:/images/folder-download.png</normaloff>:/images/folder-download.png</iconset>
+           </property>
+          </widget>
+         </item>
+         <item>
+          <spacer name="horizontalSpacer_3">
+           <property name="orientation">
+            <enum>Qt::Horizontal</enum>
+           </property>
+           <property name="sizeHint" stdset="0">
+            <size>
+             <width>40</width>
+             <height>20</height>
+            </size>
+           </property>
+          </spacer>
+         </item>
+        </layout>
+       </item>
+       <item>
+        <widget class="QCheckBox" name="alwaysRecordCheckBox">
+         <property name="text">
+          <string>Always Record</string>
+         </property>
+        </widget>
+       </item>
        <item>
         <widget class="QLabel" name="label_5">
          <property name="font">