aboutsummaryrefslogtreecommitdiff
path: root/video_thread.py
diff options
context:
space:
mode:
Diffstat (limited to 'video_thread.py')
-rw-r--r--video_thread.py35
1 files changed, 30 insertions, 5 deletions
diff --git a/video_thread.py b/video_thread.py
index 5897ff0..d8694a4 100644
--- a/video_thread.py
+++ b/video_thread.py
@@ -101,10 +101,35 @@ class Worker(QtCore.QObject):
# test if user has libfdk_aac
encoders = sp.check_output(
self.core.FFMPEG_BIN + " -encoders -hide_banner", shell=True)
+
+ encoders = encoders.decode("utf-8")
+
+ acodec = self.core.settings.value('outputAudioCodec')
+
+ options = self.core.encoder_options
+ containerName = self.core.settings.value('outputContainer')
+ vcodec = self.core.settings.value('outputVideoCodec')
acodec = self.core.settings.value('outputAudioCodec')
- if b'libfdk_aac' in encoders and acodec == 'aac':
- acodec = 'libfdk_aac'
+ for cont in options['containers']:
+ if cont['name'] == containerName:
+ container = cont['container']
+
+ vencoders = options['video-codecs'][vcodec]
+ aencoders = options['audio-codecs'][acodec]
+
+ print(encoders)
+ for encoder in vencoders:
+ print(encoder)
+ if encoder in encoders:
+ vencoder = encoder
+ break
+
+ for encoder in aencoders:
+ print(encoder)
+ if encoder in encoders:
+ aencoder = encoder
+ break
ffmpegCommand = [
self.core.FFMPEG_BIN,
@@ -120,12 +145,12 @@ class Worker(QtCore.QObject):
'-i', '-', # The input comes from a pipe
'-an',
'-i', inputFile,
- '-acodec', acodec, # output audio codec
+ '-vcodec', vencoder,
+ '-acodec', aencoder, # output audio codec
'-b:a', self.core.settings.value('outputAudioBitrate'),
- '-vcodec', self.core.settings.value('outputVideoCodec'),
'-pix_fmt', self.core.settings.value('outputVideoFormat'),
'-preset', self.core.settings.value('outputPreset'),
- '-f', self.core.settings.value('outputFormat')
+ '-f', container
]
if acodec == 'aac':