diff --git a/src/video2x_gui.py b/src/video2x_gui.py
index 97fe8ff..f285a8e 100755
--- a/src/video2x_gui.py
+++ b/src/video2x_gui.py
@@ -4,14 +4,16 @@
Creator: Video2X GUI
Author: K4YT3X
Date Created: May 5, 2020
-Last Modified: May 11, 2020
+Last Modified: May 12, 2020
"""
# local imports
from upscaler import Upscaler
+from wrappers.ffmpeg import Ffmpeg
# built-in imports
import contextlib
+import json
import os
import pathlib
import sys
@@ -342,7 +344,14 @@ class Video2XMainWindow(QMainWindow):
self.anime4kcpp_post_processing_check_box = self.findChild(QCheckBox, 'anime4kCppPostProcessingCheckBox')
self.anime4kcpp_gpu_mode_check_box = self.findChild(QCheckBox, 'anime4kCppGpuModeCheckBox')
- # load configurations
+ # FFmpeg settings
+ pass
+
+ # Tools
+ self.ffprobe_plain_text_edit = self.findChild(QPlainTextEdit, 'ffprobePlainTextEdit')
+ self.ffprobe_plain_text_edit.dropEvent = self.show_ffprobe_output
+
+ # load configurations after GUI initialization
self.load_configurations()
def dragEnterEvent(self, event):
@@ -364,6 +373,15 @@ class Video2XMainWindow(QMainWindow):
line_edit.dragEnterEvent = self.dragEnterEvent
line_edit.dropEvent = lambda event: line_edit.setText(str(pathlib.Path(event.mimeData().urls()[0].toLocalFile()).absolute()))
+ def show_ffprobe_output(self, event):
+ input_paths = [pathlib.Path(u.toLocalFile()) for u in event.mimeData().urls()]
+ if not input_paths[0].is_file():
+ return
+
+ ffmpeg_object = Ffmpeg(self.ffmpeg_settings)
+ file_info_json = ffmpeg_object.probe_file_info(input_paths[0])
+ self.ffprobe_plain_text_edit.setPlainText(json.dumps(file_info_json, indent=2))
+
@staticmethod
def read_config(config_file: pathlib.Path) -> dict:
""" read video2x configurations from config file
diff --git a/src/video2x_gui.ui b/src/video2x_gui.ui
index 05b846a..2588b15 100644
--- a/src/video2x_gui.ui
+++ b/src/video2x_gui.ui
@@ -33,7 +33,7 @@
-
- 0
+ 3
@@ -1519,6 +1519,35 @@
+
+
+ FFmpeg Settings
+
+
+
+
+ Tools
+
+
+ -
+
+
+ 0
+
+
+
+ FFprobe
+
+
+
-
+
+
+
+
+
+
+
+
-