def __init__(self, **unused_kw): Loggable.__init__(self) self.videowidth = 720 self.videoheight = 576 self.videorate = gst.Fraction(25, 1) self.videopar = gst.Fraction(1, 1) self.audiochannels = 2 self.audiorate = 44100 self.audiodepth = 16 self.vencoder = "theoraenc" self.aencoder = "vorbisenc" self.muxer = "oggmux" self.containersettings = {} self.acodecsettings = {} self.vcodecsettings = {} self.muxers = available_muxers() self.vencoders = available_video_encoders() self.aencoders = available_audio_encoders() self.muxers = available_combinations(self.muxers, self.vencoders, self.aencoders)
def loadSection(self, filepath): parser = json.loads(open(filepath).read()) name = parser["name"] container = parser["container"] acodec = parser["acodec"] vcodec = parser["vcodec"] if (acodec not in [fact.get_name() for fact in available_audio_encoders()] or vcodec not in [fact.get_name() for fact in available_video_encoders()] or container not in [fact.get_name() for fact in available_muxers()]): return try: width = parser["width"] height = parser["height"] except: width = 0 height = 0 framerate_num = parser["framerate-num"] framerate_denom = parser["framerate-denom"] framerate = gst.Fraction(framerate_num, framerate_denom) channels = parser["channels"] depth = parser["depth"] sample_rate = parser["sample-rate"] self.addPreset(name, { "container": container, "acodec": acodec, "vcodec": vcodec, "width": width, "height": height, "frame-rate": framerate, "channels": channels, "depth": depth, "sample-rate": sample_rate, "filepath": filepath, })