From a3557cbc4f192b520f7fccd849ebf4f70937cfee Mon Sep 17 00:00:00 2001 From: DH4 Date: Sat, 3 Jun 2017 19:10:27 -0500 Subject: UI Updates, encode lockout, added encoder-options.json. FIXME: Add encoder options to the UI. --- encoder-options.json | 191 ++++++++++++++++++++++++++++ main.py | 44 +++++++ mainwindow.ui | 350 ++++++++++++++++++++++++++++----------------------- 3 files changed, 427 insertions(+), 158 deletions(-) create mode 100644 encoder-options.json diff --git a/encoder-options.json b/encoder-options.json new file mode 100644 index 0000000..699ead4 --- /dev/null +++ b/encoder-options.json @@ -0,0 +1,191 @@ +{ + "containers":[ + { + "name": "MP4", + "container": "mp4", + "default-vcodec": "H264", + "default-acodec": "AAC", + "video-codecs": [ + { + "name": "H264", + "encoders": ["libx264"] + }, + { + "name": "H264 (nvenc)", + "encoders": ["nvenc_264"] + }, + { + "name": "MPEG4", + "encoders": ["mpeg4"] + } + ], + "audio-codecs": [ + { + "name": "AAC", + "encoders": ["libfdk_aac","aac"] + }, + { + "name": "AC3", + "encoders": ["ac3"] + }, + { + "name": "MP3", + "encoders": ["libmp3lame"] + } + ] + }, + { + "name": "MOV", + "container": "mov", + "default-vcodec": "H264", + "default-acodec": "AAC", + "video-codecs": [ + { + "name": "H264", + "encoders": ["libx264"] + }, + { + "name": "H264 (nvenc)", + "encoders": ["nvenc_264"] + }, + { + "name": "MPEG4", + "encoders": ["mpeg4"] + }, + { + "name": "XVID", + "encoders": ["libxvid"] + } + ], + "audio-codecs": [ + { + "name": "AAC", + "encoders": ["libfdk_aac","aac"] + }, + { + "name": "AC3", + "encoders": ["ac3"] + }, + { + "name": "MP3", + "encoders": ["libmp3lame"] + }, + { + "name": "PCM s16 LE", + "encoders": ["pcm_s16le"] + } + ] + }, + { + "name": "AVI", + "container": "avi", + "default-vcodec": "H264", + "default-acodec": "AAC", + "video-codecs": [ + { + "name": "H264", + "encoders": ["libx264"] + }, + { + "name": "H264 (nvenc)", + "encoders": ["nvenc_264"] + }, + { + "name": "MPEG4", + "encoders": ["mpeg4"] + }, + { + "name": "MPEG2", + "encoders": ["mp2video"] + }, + { + "name": "DV", + "encoders": ["dvvideo"] + }, + { + "name": "WMV", + "encoders": ["wmv2"] + } + ], + "audio-codecs": [ + { + "name": "AAC", + "encoders": ["libfdk_aac","aac"] + }, + { + "name": "AC3", + "encoders": ["ac3"] + }, + { + "name": "WMA", + "encoders": ["wmav2"] + }, + { + "name": "MP3", + "encoders": ["libmp3lame"] + }, + { + "name": "PCM s16 LE", + "encoders": ["pcm_s16le"] + } + ] + }, + { + "name": "WEBM", + "container": "webm", + "default-vcodec": "VP9", + "default-acodec": "Vorbis", + "video-codecs": [ + { + "name": "VP9", + "encoders": ["libvpx-vp9"] + }, + { + "name": "VP8", + "encoders": ["libvpx"] + } + ], + "audio-codecs": [ + { + "name": "Vorbis", + "encoders": ["vorbis"] + } + ] + }, + { + "name": "FLV", + "container": "flv", + "default-vcodec": "FLV", + "default-acodec": "Vorbis", + "video-codecs": [ + { + "name": "Sorenson (flv)", + "encoders": ["flv"] + }, + { + "name": "H264", + "encoders": ["libx264"] + }, + { + "name": "MPEG4", + "encoders": ["mpeg4"] + } + ], + "audio-codecs": [ + { + "name": "MP3", + "encoders": ["libmp3lame"] + }, + { + "name": "Vorbis", + "encoders": ["vorbis"] + }, + { + "name": "PCM s16 LE", + "encoders": ["pcm_s16le"] + } + ] + } + ] + +} \ No newline at end of file diff --git a/main.py b/main.py index 49fe469..c5080f3 100644 --- a/main.py +++ b/main.py @@ -305,9 +305,53 @@ class Main(QtCore.QObject): if status: self.window.pushButton_createVideo.setEnabled(False) self.window.pushButton_Cancel.setEnabled(True) + self.window.comboBox_resolution.setEnabled(False) + self.window.stackedWidget.setEnabled(False) + self.window.tab_encoderSettings.setEnabled(False) + self.window.label_audioFile.setEnabled(False) + self.window.toolButton_selectAudioFile.setEnabled(False) + self.window.label_outputFile.setEnabled(False) + self.window.toolButton_selectOutputFile.setEnabled(False) + self.window.lineEdit_audioFile.setEnabled(False) + self.window.lineEdit_outputFile.setEnabled(False) + self.window.pushButton_addComponent.setEnabled(False) + self.window.pushButton_removeComponent.setEnabled(False) + self.window.pushButton_listMoveDown.setEnabled(False) + self.window.pushButton_listMoveUp.setEnabled(False) + self.window.comboBox_openPreset.setEnabled(False) + self.window.pushButton_removePreset.setEnabled(False) + self.window.pushButton_savePreset.setEnabled(False) + self.window.pushButton_openProject.setEnabled(False) + self.window.listWidget_componentList.setEnabled(False) + + self.window.label_background.setEnabled(False) + self.window.lineEdit_background.setEnabled(False) + self.window.toolButton_selectBackground.setEnabled(False) else: self.window.pushButton_createVideo.setEnabled(True) self.window.pushButton_Cancel.setEnabled(False) + self.window.comboBox_resolution.setEnabled(True) + self.window.stackedWidget.setEnabled(True) + self.window.tab_encoderSettings.setEnabled(True) + self.window.label_audioFile.setEnabled(True) + self.window.toolButton_selectAudioFile.setEnabled(True) + self.window.lineEdit_audioFile.setEnabled(True) + self.window.label_outputFile.setEnabled(True) + self.window.toolButton_selectOutputFile.setEnabled(True) + self.window.lineEdit_outputFile.setEnabled(True) + self.window.pushButton_addComponent.setEnabled(True) + self.window.pushButton_removeComponent.setEnabled(True) + self.window.pushButton_listMoveDown.setEnabled(True) + self.window.pushButton_listMoveUp.setEnabled(True) + self.window.comboBox_openPreset.setEnabled(True) + self.window.pushButton_removePreset.setEnabled(True) + self.window.pushButton_savePreset.setEnabled(True) + self.window.pushButton_openProject.setEnabled(True) + self.window.listWidget_componentList.setEnabled(True) + + self.window.label_background.setEnabled(True) + self.window.lineEdit_background.setEnabled(True) + self.window.toolButton_selectBackground.setEnabled(True) diff --git a/mainwindow.ui b/mainwindow.ui index 5e10028..f9e8f5e 100644 --- a/mainwindow.ui +++ b/mainwindow.ui @@ -325,11 +325,11 @@ 0 - + - Input Settings + Export Video - + 10 @@ -348,10 +348,16 @@ - 100 + 85 0 + + + 80 + 16777215 + + 80 @@ -427,7 +433,7 @@ - 100 + 85 0 @@ -482,9 +488,142 @@ + + + + + + + + + 0 + 0 + + + + + 85 + 0 + + + + + 0 + 0 + + + + Output File + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + + + 0 + 0 + + + + + 0 + 28 + + + + + 16777215 + 28 + + + + + + + + + 0 + 28 + + + + + 16777215 + 28 + + + + ... + + + + + + + + + + + 0 + + + + + + 0 + 0 + + + + 24 + + + + + + + Qt::Horizontal + + + QSizePolicy::Minimum + + + + 10 + 20 + + + + + + + + Create Video + + + + + + + false + + + Cancel + + + + + + + + - + Encoder Settings @@ -504,17 +643,40 @@ - 98 + 85 0 - Video Format + Container + + + + + + + + 150 + 0 + - + + + Qt::Horizontal + + + QSizePolicy::Minimum + + + + 5 + 5 + + + @@ -525,12 +687,25 @@ - Video Preset + Resolution - + + + + 0 + 0 + + + + + 0 + 0 + + + @@ -546,7 +721,7 @@ - 98 + 85 0 @@ -590,12 +765,12 @@ - Resolution + Video Bitrate - + @@ -611,7 +786,7 @@ - 98 + 85 0 @@ -655,158 +830,17 @@ - Bitrate + Audio Bitrate - + - - - Export Video - - - - 10 - - - - - - - - - - 0 - 0 - - - - - 100 - 0 - - - - - 0 - 0 - - - - Output File - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - - - - - - 0 - 0 - - - - - 0 - 28 - - - - - 16777215 - 28 - - - - - - - - - 0 - 28 - - - - - 16777215 - 28 - - - - ... - - - - - - - - - - - 0 - - - - - - 0 - 0 - - - - 24 - - - - - - - Qt::Horizontal - - - QSizePolicy::Minimum - - - - 10 - 20 - - - - - - - - Create video - - - - - - - true - - - Cancel - - - - - - - - -- cgit v1.2.3