Beispiel #1
0
    def play_video(self):
        """ Plays the selected video in the player.
        """
        if self.video_player.is_ready():
            try:
                self.video_player.media_object.finished.disconnect(self.loop)
            except Exception as e:
                logger.warning(("Signal disconnect Fail -> %s" % e), level=0)

            try:
                self.video_player.media_object.stateChanged.disconnect(self.video_player_state_changed)
            except Exception as e:
                logger.warning(("Signal disconnect Fail -> %s" % e), level=0)


        self.set_video_player_state(False)

        # Searches the video file
        item = self.lw_video.currentItem()
        candidates = io.get_files(self.current_folder, extensions=self.allowed_extensions, filters=[item.text()])

        # If exists, plays it in the player.
        if candidates:
            video_file = candidates[0]
            self.video_player.clear_urls()
            self.video_player.add_url(video_file)
            self.video_player.set_current_url(0, reset=True)

            self.set_video_player_state(self.video_player.is_ready())

            if self.video_player.is_ready():
                self.lb_playing_name.setText("Playing: %s" % os.path.basename(video_file))
                self.video_player.media_object.finished.connect(self.loop)
                self.video_player.media_object.stateChanged.connect(self.video_player_state_changed)
                self.video_player.play()
Beispiel #2
0
def wait_cursor():
    try:
        QtGui.QApplication.setOverrideCursor(QtGui.QCursor(QtCore.Qt.WaitCursor))
        yield
    except Exception as e:
        logger.warning(("Wait Cursor Setup Error -> %s" % str(e)), level=0)
        raise e
    finally:
        QtGui.QApplication.restoreOverrideCursor()
Beispiel #3
0
 def new_function(*args, **kwargs):
     QtGui.QApplication.setOverrideCursor(QtGui.QCursor(QtCore.Qt.WaitCursor))
     try:
         function(*args, **kwargs)
     except Exception as e:
         logger.warning(("Wait Cursor Setup Error -> %s" % str(e)), level=0)
         raise e
     finally:
         QtGui.QApplication.restoreOverrideCursor()
Beispiel #4
0
def get_video_info(video_file, json_format=True):
    # ffmpeg_options = ["-i", video_file]
    ffmpeg_options = ["-v", "quiet", "-print_format", "json", "-show_format", "-show_streams", video_file]
    video_info = ffmpeg.run(ffmpeg_options, exe_name="ffprobe.exe")
    if json_format:
        try:
            video_info = json.loads(video_info)
        except Exception as e:
            logger.warning(("Error Parsing Video Info -> %s" % e), level=0)
            return None

    return video_info