diff --git a/src/video/video_widget.cpp b/src/video/video_widget.cpp
index 5499161..06c3bf2 100644
--- a/src/video/video_widget.cpp
+++ b/src/video/video_widget.cpp
@@ -313,13 +313,41 @@
     Video::SourceModel::instance()->setDisplay(display, QRect(x,y,width,height));
 }
 
+static void
+switch_video_input_file(GtkWidget *parent)
+{
+    if (parent && GTK_IS_WIDGET(parent)) {
+        /* get parent window */
+        parent = gtk_widget_get_toplevel(GTK_WIDGET(parent));
+    }
+
+    gchar *uri = NULL;
+    GtkWidget *dialog = gtk_file_chooser_dialog_new(
+            "Choose File",
+            GTK_WINDOW(parent),
+            GTK_FILE_CHOOSER_ACTION_OPEN,
+            "_Cancel", GTK_RESPONSE_CANCEL,
+            "_Open", GTK_RESPONSE_ACCEPT,
+            NULL);
+
+    if (gtk_dialog_run(GTK_DIALOG(dialog)) == GTK_RESPONSE_ACCEPT) {
+        uri = gtk_file_chooser_get_uri(GTK_FILE_CHOOSER(dialog));
+    }
+
+    gtk_widget_destroy(dialog);
+
+    Video::SourceModel::instance()->setFile(QUrl(uri));
+
+    g_free(uri);
+}
+
 /*
  * on_button_press_in_screen_event()
  *
  * Handle button event in the video screen.
  */
 static gboolean
-on_button_press_in_screen_event(G_GNUC_UNUSED GtkWidget *widget,
+on_button_press_in_screen_event(GtkWidget *parent,
                                 GdkEventButton *event,
                                 G_GNUC_UNUSED gpointer data)
 {
@@ -348,6 +376,11 @@
     gtk_menu_shell_append(GTK_MENU_SHELL(menu), item);
     g_signal_connect(item, "activate", G_CALLBACK(switch_video_input_screen), NULL);
 
+    /* add file as an input */
+    item = gtk_check_menu_item_new_with_mnemonic("Share file");
+    gtk_menu_shell_append(GTK_MENU_SHELL(menu), item);
+    g_signal_connect(item, "activate", G_CALLBACK(switch_video_input_file), parent);
+
     /* show menu */
     gtk_widget_show_all(menu);
     gtk_menu_popup(GTK_MENU(menu), NULL, NULL, NULL, NULL, event->button, event->time);
