UI Updates, encode lockout, added encoder-options.json. FIXME: Add encoder options to the UI.

This commit is contained in:
DH4 2017-06-03 19:10:27 -05:00
parent cf197904b8
commit a3557cbc4f
3 changed files with 469 additions and 200 deletions

191
encoder-options.json Normal file
View File

@ -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"]
}
]
}
]
}

44
main.py
View File

@ -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)

View File

@ -325,11 +325,11 @@
<property name="currentIndex">
<number>0</number>
</property>
<widget class="QWidget" name="tab">
<widget class="QWidget" name="tab_exportVideo">
<attribute name="title">
<string>Input Settings</string>
<string>Export Video</string>
</attribute>
<layout class="QVBoxLayout" name="verticalLayout_7">
<layout class="QVBoxLayout" name="verticalLayout_10">
<property name="margin">
<number>10</number>
</property>
@ -348,10 +348,16 @@
</property>
<property name="minimumSize">
<size>
<width>100</width>
<width>85</width>
<height>0</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>80</width>
<height>16777215</height>
</size>
</property>
<property name="baseSize">
<size>
<width>80</width>
@ -427,7 +433,7 @@
</property>
<property name="minimumSize">
<size>
<width>100</width>
<width>85</width>
<height>0</height>
</size>
</property>
@ -482,198 +488,6 @@
</item>
</layout>
</item>
</layout>
</widget>
<widget class="QWidget" name="tab_2">
<attribute name="title">
<string>Encoder Settings</string>
</attribute>
<layout class="QVBoxLayout" name="verticalLayout_9">
<property name="margin">
<number>10</number>
</property>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_13">
<item>
<widget class="QLabel" name="label_videoFormat">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>98</width>
<height>0</height>
</size>
</property>
<property name="text">
<string>Video Format</string>
</property>
</widget>
</item>
<item>
<widget class="QComboBox" name="comboBox_videoFormat"/>
</item>
<item>
<widget class="QLabel" name="label_videoPreset">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Video Preset</string>
</property>
</widget>
</item>
<item>
<widget class="QComboBox" name="comboBox_videoPreset"/>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_10">
<item>
<widget class="QLabel" name="label_videoCodec">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>98</width>
<height>0</height>
</size>
</property>
<property name="text">
<string>Video Codec</string>
</property>
</widget>
</item>
<item>
<widget class="QComboBox" name="comboBox_videoCodec">
<property name="minimumSize">
<size>
<width>150</width>
<height>0</height>
</size>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_4">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>5</width>
<height>5</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QLabel" name="label_resolution">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Resolution</string>
</property>
</widget>
</item>
<item>
<widget class="QComboBox" name="comboBox_resolution"/>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_11">
<item>
<widget class="QLabel" name="label_audioCodec">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>98</width>
<height>0</height>
</size>
</property>
<property name="text">
<string>Audio Codec</string>
</property>
</widget>
</item>
<item>
<widget class="QComboBox" name="comboBox_audioCodec">
<property name="minimumSize">
<size>
<width>150</width>
<height>0</height>
</size>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_3">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>5</width>
<height>10</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QLabel" name="label_audioBitrate">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Bitrate</string>
</property>
</widget>
</item>
<item>
<widget class="QComboBox" name="comboBox_bitrate"/>
</item>
</layout>
</item>
</layout>
</widget>
<widget class="QWidget" name="tab_5">
<attribute name="title">
<string>Export Video</string>
</attribute>
<layout class="QVBoxLayout" name="verticalLayout_10">
<property name="margin">
<number>10</number>
</property>
<item>
<layout class="QVBoxLayout" name="verticalLayout_11">
<item>
@ -688,7 +502,7 @@
</property>
<property name="minimumSize">
<size>
<width>100</width>
<width>85</width>
<height>0</height>
</size>
</property>
@ -788,14 +602,14 @@
<item>
<widget class="QPushButton" name="pushButton_createVideo">
<property name="text">
<string>Create video</string>
<string>Create Video</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="pushButton_Cancel">
<property name="enabled">
<bool>true</bool>
<bool>false</bool>
</property>
<property name="text">
<string>Cancel</string>
@ -806,6 +620,226 @@
</item>
</layout>
<zorder></zorder>
<zorder></zorder>
<zorder></zorder>
</widget>
<widget class="QWidget" name="tab_encoderSettings">
<attribute name="title">
<string>Encoder Settings</string>
</attribute>
<layout class="QVBoxLayout" name="verticalLayout_9">
<property name="margin">
<number>10</number>
</property>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_13">
<item>
<widget class="QLabel" name="label_videoFormat">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>85</width>
<height>0</height>
</size>
</property>
<property name="text">
<string>Container</string>
</property>
</widget>
</item>
<item>
<widget class="QComboBox" name="comboBox_videoContainer">
<property name="minimumSize">
<size>
<width>150</width>
<height>0</height>
</size>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_5">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Minimum</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>5</width>
<height>5</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QLabel" name="label_videoPreset">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Resolution</string>
</property>
</widget>
</item>
<item>
<widget class="QComboBox" name="comboBox_resolution">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>0</height>
</size>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_10">
<item>
<widget class="QLabel" name="label_videoCodec">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>85</width>
<height>0</height>
</size>
</property>
<property name="text">
<string>Video Codec</string>
</property>
</widget>
</item>
<item>
<widget class="QComboBox" name="comboBox_videoCodec">
<property name="minimumSize">
<size>
<width>150</width>
<height>0</height>
</size>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_4">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>5</width>
<height>5</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QLabel" name="label_resolution">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Video Bitrate</string>
</property>
</widget>
</item>
<item>
<widget class="QSpinBox" name="spinBox_vBitrate"/>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_11">
<item>
<widget class="QLabel" name="label_audioCodec">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>85</width>
<height>0</height>
</size>
</property>
<property name="text">
<string>Audio Codec</string>
</property>
</widget>
</item>
<item>
<widget class="QComboBox" name="comboBox_audioCodec">
<property name="minimumSize">
<size>
<width>150</width>
<height>0</height>
</size>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_3">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>5</width>
<height>10</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QLabel" name="label_audioBitrate">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Audio Bitrate</string>
</property>
</widget>
</item>
<item>
<widget class="QSpinBox" name="spinBox_aBitrate"/>
</item>
</layout>
</item>
</layout>
</widget>
</widget>
</item>