示例#1
0
    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)
示例#2
0
 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
示例#3
0
 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
示例#4
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,
     })
示例#5
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,
         }
     )
示例#6
0
    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])
示例#7
0
    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])
示例#8
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.keep_vbi_lines = False
     self.mov_imx_header = False
     self.decoding_threads = 1
     self.encoding_threads = 1
     self.fps = 0
示例#9
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
示例#10
0
    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
示例#11
0
    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)
示例#12
0
    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)
示例#13
0
    def get_args(self):
        args = Worker.get_args(self)

        for input_file in self.input_files:
            args += input_file.get_args()

        return args
示例#14
0
    def get_args(self):
        args = Worker.get_args(self)

        for input_file in self.input_files:
            args += input_file.get_args()

        return args
示例#15
0
    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)
示例#16
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
示例#17
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
示例#18
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
示例#19
0
    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
示例#20
0
    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
示例#21
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
示例#22
0
    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)
示例#23
0
 def __init__(self, log, params=None):
     Worker.__init__(self, log, params)
     self.tool = "ommcp"
     self.base_dir = "/"
示例#24
0
 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)
示例#25
0
 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)
示例#26
0
 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)
示例#27
0
 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)
示例#28
0
 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)
示例#29
0
 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])
示例#30
0
 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)
示例#31
0
 def __init__(self, log, params=None):
     Worker.__init__(self, log, params)
     self.tool = 'ommq'
示例#32
0
 def __init__(self, log, params=None):
     Worker.__init__(self, log, params)
     self.tool = "flvtool2"
示例#33
0
 def __init__(self, log, params=None):
     Worker.__init__(self, log, params)
     self.tool = 'qt-faststart'
示例#34
0
 def __init__(self, log, params=None):
     Worker.__init__(self, log, params)
     self.tool = 'raw2bmx'
示例#35
0
 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)
示例#36
0
 def __init__(self, log, params=None):
     Worker.__init__(self, log, params)
     self.tool = 'raw2bmx'
     self.kill_timeout = 5 * 3600
     self.inputs_size = 0
示例#37
0
 def __init__(self, log, params=None):
     Worker.__init__(self, log, params)
     self.tool = 'ommq'
示例#38
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
示例#39
0
 def __init__(self, log, params=None):
     Worker.__init__(self, log, params)
     self.tool = 'ommcp'
     self.base_dir = '/'
示例#40
0
 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])
示例#41
0
 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)
示例#42
0
 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)
示例#43
0
 def __init__(self, log, params=None):
     Worker.__init__(self, log, params)
     self.tool = 'qt-faststart'
示例#44
0
 def __init__(self, log, params=None):
     Worker.__init__(self, log, params)
     self.tool = "raw2bmx"
     self.kill_timeout = 5 * 3600
     self.inputs_size = 0
示例#45
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})
示例#46
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
示例#47
0
 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)
示例#48
0
 def __init__(self, log, params):
     Worker.__init__(self, log, params)
     self.tool = 'mp2tsms'
     self.error_lines = 4
示例#49
0
 def __init__(self, log, params):
     Worker.__init__(self, log, params)
     self.tool = "mp2tsms"
     self.error_lines = 4
示例#50
0
 def __init__(self, log, params=None):
     Worker.__init__(self, log, params)
     self.tool = 'ommcp'
     self.base_dir = '/'