def _handle_output(self, stdout, stderr): Worker._handle_output(self, stdout, stderr) self.stdout_buf += stdout while "\n" in self.stdout_buf: line, self.stdout_buf = self.stdout_buf.split("\n", 1) res = re.findall(r"(\w+):\s+([^\n]+)", line) if not self.full_desc: if len(res) > 0: if res[0][0] == "full_desc": self.full_desc = True else: self.metadata[res[0][0]] = res[0][1] else: if len(res) > 0: if res[0][0] == "full_desc": self.full_desc = False self.metadata["full_desc"] = self.metadata[ "full_desc"].rstrip("\n") else: if "full_desc" not in self.metadata: self.metadata["full_desc"] = "" self.metadata["full_desc"] += "%s\n" % re.sub( ", from.*", "", line)
def __init__(self, log, params=None): Worker.__init__(self, log, params) self.stdout_buf = "" self.full_desc = False self.tool = "videoparser" self.metadata = {} self.error_lines = 4 self.memory_limit = 150 * 1024 * 1024
def __init__(self, log, params=None): Worker.__init__(self, log, params) self.stdout_buf = '' self.full_desc = False self.tool = 'videoparser' self.metadata = {} self.error_lines = 4 self.memory_limit = 150 * 1024 * 1024
def __init__(self, log, params=None): Worker.__init__(self, log, params) self.tool = 'ffprobe' self.metadata = {} self.params.update({ '-print_format': 'json', '-show_format': None, '-show_streams': None, })
def __init__(self, log, params=None): Worker.__init__(self, log, params) self.tool = "ffprobe" self.metadata = {} self.params.update( { "-print_format": "json", "-show_format": None, "-show_streams": None, } )
def _handle_output(self, stdout, stderr): Worker._handle_output(self, stdout, stderr) res = re.findall(r"frame=\s*(\d+)", stderr) if len(res) > 0 and self.nb_frames > 0: frame = float(res[-1]) self.progress = (frame / self.nb_frames) * 100 if self.progress > 99: self.progress = 99 res = re.findall(r"fps=\s*(\d+)", stderr) if res: self.fps = int(res[-1])
def _handle_output(self, stdout, stderr): Worker._handle_output(self, stdout, stderr) res = re.findall(r'frame=\s*(\d+)', self.stderr) if len(res) > 0 and self.nb_frames > 0: frame = float(res[-1]) self.progress = (frame / self.nb_frames) * 100 if self.progress > 99: self.progress = 99 res = re.findall(r'fps=\s*(\d+)', self.stderr) if res: self.fps = int(res[-1])
def __init__(self, log, params=None): Worker.__init__(self, log, params) self.nb_frames = 0 self.tool = 'ffmpeg' self.video_opts = self.params.get('video_opts', []) self.audio_opts = self.params.get('audio_opts', []) self.format_opts = self.params.get('format_opts', []) self.video_filter_chain = [] self.audio_filter_chain = [] self.keep_vbi_lines = False self.mov_imx_header = False self.decoding_threads = 1 self.encoding_threads = 1 self.fps = 0
def _handle_output(self, stdout, stderr): Worker._handle_output(self, stdout, stderr) res = re.findall('Progress: (\d+)%', self.stdout) if len(res) > 0: progress = int(res[-1]) if progress > 99: progress = 99 self.progress = progress res = re.findall('output-(\w+): (.*)', self.stdout) for output in res: _id = output[0] path = output[1] self.stls[_id] = path
def _handle_output(self, stdout, stderr): Worker._handle_output(self, stdout, stderr) res = re.findall(r'Progress: (\d+)%', self.stdout) if len(res) > 0: progress = int(res[-1]) if progress > 99: progress = 99 self.progress = progress res = re.findall(r'output-(\w+): (.*)', self.stdout) for output in res: _id = output[0] path = output[1] self.stls[_id] = path
def __init__(self, log, params=None): Worker.__init__(self, log, params) self.tool = 'kt-toolbox' self.stls = {} self.error_lines = 4 self.args = params.get('args', []) self.action = params.get('action', 'VBITOSTL') self.options = [] for key, value in option_map.iteritems(): option = value.keys()[0] default = value.values()[0] option_value = params.get(key, default) if option_value != '': self.options.append(option) self.options.append(option_value)
def get_args(self): args = Worker.get_args(self) for input_file in self.input_files: args += input_file.get_args() return args
def __init__(self, log, params=None): Worker.__init__(self, log, params) self.tool = "kt-toolbox" self.stls = {} self.error_lines = 4 self.args = params.get("args", []) self.action = params.get("action", "VBITOSTL") self.options = [] for key, value in list(option_map.items()): option = list(value.keys())[0] default = list(value.values())[0] option_value = params.get(key, default) if option_value != "": self.options.append(option) self.options.append(option_value)
def __init__(self, log, params=None): Worker.__init__(self, log, params) self.nb_frames = 0 self.tool = "ffmpeg" self.video_opts = self.params.get("video_opts", []) self.audio_opts = self.params.get("audio_opts", []) self.format_opts = self.params.get("format_opts", []) self.video_filter_chain = [] self.audio_filter_chain = [] self.channels_per_stream = 0 self.audio_min_streams = None self.keep_vbi_lines = False self.mov_imx_header = False self.decoding_threads = 1 self.encoding_threads = 1 self.fps = 0 self.special_audio_filter = None self.special_audio_mapping = None self.single_frame = False self.seek = 0
def __init__(self, log, params=None): Worker.__init__(self, log, params) self.nb_frames = 0 self.tool = 'ffmpeg' self.video_opts = self.params.get('video_opts', []) self.audio_opts = self.params.get('audio_opts', []) self.format_opts = self.params.get('format_opts', []) self.video_filter_chain = [] self.audio_filter_chain = [] self.channels_per_stream = 0 self.audio_min_streams = None self.keep_vbi_lines = False self.mov_imx_header = False self.decoding_threads = 1 self.encoding_threads = 1 self.fps = 0 self.special_audio_filter = None self.special_audio_mapping = None self.single_frame = False self.seek = 0
def get_args(self): args = ['-replace'] args += Worker.get_args(self) for output_file in self.output_files: args += output_file.get_args() for input_file in self.input_files: args += input_file.get_args(self.base_dir) return args
def get_args(self): args = [] args += Worker.get_args(self) for output_file in self.output_files: args += output_file.get_args() for input_file in self.input_files: args += input_file.get_args() self.inputs_size += os.stat(input_file.path).st_size return args
def _handle_output(self, stdout, stderr): Worker._handle_output(self, stdout, stderr) self.stdout_buf += stdout while '\n' in self.stdout_buf: line, self.stdout_buf = self.stdout_buf.split('\n', 1) res = re.findall('(\w+):\s+([^\n]+)', line) if not self.full_desc: if len(res) > 0: if res[0][0] == 'full_desc': self.full_desc = True else: self.metadata[res[0][0]] = res[0][1] else: if len(res) > 0: if res[0][0] == 'full_desc': self.full_desc = False self.metadata['full_desc'] = self.metadata['full_desc'].rstrip('\n') else: if 'full_desc' not in self.metadata: self.metadata['full_desc'] = '' self.metadata['full_desc'] += '%s\n' % re.sub(', from.*', '', line)
def __init__(self, log, params=None): Worker.__init__(self, log, params) self.tool = "ommcp" self.base_dir = "/"
def add_output_file(self, path, params=None): if len(self.output_files) > 0: raise Raw2BmxWorkerException("BMX tool only support one output file") Worker.add_output_file(self, path, params)
def add_input_file(self, path, params=None): if len(self.input_files) > 0: raise FLVTool2WorkerException('flvtools only support one input file') Worker.add_input_file(self, path, params)
def add_input_file(self, path, params=None): if len(self.input_files) > 0: raise QtFastStartWorkerException( 'qt-faststart only support one input file') Worker.add_input_file(self, path, params)
def add_output_file(self, path, params=None): if len(self.output_files) > 0: raise Raw2BmxWorkerException('BMX tool only support one output file') Worker.add_output_file(self, path, params)
def add_input_file(self, path, params=None): if len(self.input_files) > 0: raise QtFastStartWorkerException('qt-faststart only support one input file') Worker.add_input_file(self, path, params)
def _handle_output(self, stdout, stderr): Worker._handle_output(self, stdout, stderr) res = re.findall(r'progress=(\d+)', stdout) if res: self.progress = int(res[-1])
def add_input_file(self, path, params=None): if len(self.input_files) > 0: raise OmneonWorkerException( 'Omneon query tool only support one input file') Worker.add_input_file(self, path, params)
def __init__(self, log, params=None): Worker.__init__(self, log, params) self.tool = 'ommq'
def __init__(self, log, params=None): Worker.__init__(self, log, params) self.tool = "flvtool2"
def __init__(self, log, params=None): Worker.__init__(self, log, params) self.tool = 'qt-faststart'
def __init__(self, log, params=None): Worker.__init__(self, log, params) self.tool = 'raw2bmx'
def add_output_file(self, path, params=None): if len(self.output_files) > 0: raise FLVTool2WorkerException('qt-faststart only support one input file') Worker.add_output_file(self, path, params)
def __init__(self, log, params=None): Worker.__init__(self, log, params) self.tool = 'raw2bmx' self.kill_timeout = 5 * 3600 self.inputs_size = 0
def _handle_output(self, stdout, stderr): Worker._handle_output(self, stdout, stderr) if self.inputs_size: output_size = os.stat(self.output_files[0].path).st_size if output_size: self.progress = output_size * 100 / self.inputs_size
def __init__(self, log, params=None): Worker.__init__(self, log, params) self.tool = 'ommcp' self.base_dir = '/'
def _handle_output(self, stdout, stderr): Worker._handle_output(self, stdout, stderr) res = re.findall('progress=(\d+)', stdout) if res: self.progress = int(res[-1])
def add_output_file(self, path, params=None): if len(self.output_files) > 0: raise OmneonWorkerException( 'Omneon copy tool only support one output file') Worker.add_output_file(self, path, params)
def add_output_file(self, path, params=None): if len(self.output_files) > 0: raise OmneonWorkerException('Omneon copy tool only support one output file') Worker.add_output_file(self, path, params)
def __init__(self, log, params=None): Worker.__init__(self, log, params) self.tool = "raw2bmx" self.kill_timeout = 5 * 3600 self.inputs_size = 0
def __init__(self, log, params=None): Worker.__init__(self, log, params) self.tool = "ffprobe" self.metadata = {} self.params.update({"-print_format": "json", "-show_format": None, "-show_streams": None})
def add_input_file(self, path, params=None): if len(self.input_files) > 0: raise OmneonWorkerException('Omneon query tool only support one input file') Worker.add_input_file(self, path, params)
def __init__(self, log, params): Worker.__init__(self, log, params) self.tool = 'mp2tsms' self.error_lines = 4
def __init__(self, log, params): Worker.__init__(self, log, params) self.tool = "mp2tsms" self.error_lines = 4