aboutsummaryrefslogtreecommitdiff
path: root/video_thread.py
diff options
context:
space:
mode:
authorDH42017-06-23 10:46:54 -0500
committerDH42017-06-23 10:46:54 -0500
commitf3da72ea5402d5cd1f865b56c0a9aa3b9f3957f4 (patch)
tree60e3cced168d4215e9c60d9e84da365e8d90dde0 /video_thread.py
parent84ceff7f5490ac5f7e1256a16d82b3b8520cb03a (diff)
parentf8628333afc5dcb2f07f4aff2ee0d41847c0c308 (diff)
Merge branch 'feature-newgui' of github.com:djfun/audio-visualizer-python into feature-newgui
Diffstat (limited to 'video_thread.py')
-rw-r--r--video_thread.py31
1 files changed, 16 insertions, 15 deletions
diff --git a/video_thread.py b/video_thread.py
index 9740641..265feee 100644
--- a/video_thread.py
+++ b/video_thread.py
@@ -27,10 +27,9 @@ class Worker(QtCore.QObject):
self.core = core.Core()
self.core.settings = parent.settings
self.modules = parent.core.modules
- self.stackedWidget = parent.window.stackedWidget
self.parent = parent
parent.videoTask.connect(self.createVideo)
- self.sampleSize = 1470
+ self.sampleSize = 1470 # 44100 / 30 = 1470
self.canceled = False
self.error = False
self.stopped = False
@@ -100,7 +99,8 @@ class Worker(QtCore.QObject):
# test if user has libfdk_aac
encoders = sp.check_output(
- self.core.FFMPEG_BIN + " -encoders -hide_banner", shell=True)
+ self.core.FFMPEG_BIN + " -encoders -hide_banner",
+ shell=True)
encoders = encoders.decode("utf-8")
@@ -121,15 +121,15 @@ class Worker(QtCore.QObject):
vencoders = options['video-codecs'][vcodec]
aencoders = options['audio-codecs'][acodec]
- print(encoders)
+ #print(encoders)
for encoder in vencoders:
- print(encoder)
+ #print(encoder)
if encoder in encoders:
vencoder = encoder
break
for encoder in aencoders:
- print(encoder)
+ #print(encoder)
if encoder in encoders:
aencoder = encoder
break
@@ -162,16 +162,15 @@ class Worker(QtCore.QObject):
ffmpegCommand.append('-2')
ffmpegCommand.append(outputFile)
- self.out_pipe = sp.Popen(
- ffmpegCommand, stdin=sp.PIPE, stdout=sys.stdout, stderr=sys.stdout)
- # create video for output
+ # ### Now start creating video for output ###
numpy.seterr(divide='ignore')
- # initialize components
- print('loaded components:',
- ["%s%s" % (num, str(component)) for num,
- component in enumerate(self.components)])
+ # Call preFrameRender on all components
+ print('Loaded Components:', ", ".join(
+ ["%s) %s" % (num, str(component)) \
+ for num, component in enumerate(reversed(self.components))
+ ]))
self.staticComponents = {}
numComps = len(self.components)
for compNo, comp in enumerate(self.components):
@@ -191,14 +190,17 @@ class Worker(QtCore.QObject):
comp.frameRender(compNo, 0, 0))
self.progressBarUpdate.emit(100)
+ # Create ffmpeg pipe and queues for frames
+ self.out_pipe = sp.Popen(
+ ffmpegCommand, stdin=sp.PIPE, stdout=sys.stdout, stderr=sys.stdout)
self.compositeQueue = Queue()
self.compositeQueue.maxsize = 20
self.renderQueue = PriorityQueue()
self.renderQueue.maxsize = 20
self.previewQueue = PriorityQueue()
- self.renderThreads = []
# Threads to render frames and send them back here for piping out
+ self.renderThreads = []
for i in range(3):
self.renderThreads.append(
Thread(target=self.renderNode, name="Render Thread"))
@@ -280,7 +282,6 @@ class Worker(QtCore.QObject):
self.error = False
self.canceled = False
- self.parent.drawPreview()
self.stopped = True
self.encoding.emit(False)
self.videoCreated.emit()