Ejemplo n.º 1
0
 def make_subt_opts(self, stream_num):
     subt_opts = Options()
     codec_opt = Options('-codec', stream_num, sep=':')
     subt_opts.append(codec_opt)
     subt_opts.append(
         self.scodec_combo.codecs[self.scodec_combo.currentText()])
     return subt_opts
Ejemplo n.º 2
0
    def make_scale_opts(self, codecgroup):
        scale_opt = Options('scale', sep='=')
        if codecgroup.chkLAR.isChecked():
            height = r"'" + 'trunc((ow/iw)/a*ih/2)*2' + r"'"
        else:
            height = codecgroup.spnHeight.value()

        scale_parms = Options('w={}'.format(codecgroup.spnWidth.value()),
                              'h={}'.format(height),
                              sep=':')
        scale_opt.append(scale_parms)
        return scale_opt
Ejemplo n.º 3
0
 def make_audio_opts(self, stream_num):
     audio_opts = Options()
     codec_opt = Options('-codec', stream_num, sep=':')
     audio_opts.append(codec_opt)
     audio_opts.append(_audio_codecs[self.acodec_combo.currentText()])
     if self.acodec_combo.currentText() != 'Copy':
         bitrate_opt = Options('-b', stream_num, sep=':')
         audio_opts.append(Options(bitrate_opt, self.bitrate_edit.text()))
         if self.samplerate_edit.text() not in ('0', ''):
             samplerate_opt = Options('-ar', stream_num, sep=':')
             audio_opts.append(
                 Options(samplerate_opt, self.samplerate_edit.text()))
     audio_opts.extend((Options('-strict', stream_num,
                                sep=':'), 'experimental'))
     return audio_opts
Ejemplo n.º 4
0
 def make_video_opts(self, stream_num):
     video_opts = Options()
     codec_opt = Options('-codec', stream_num, sep=':')
     video_opts.extend(
         (codec_opt, _video_codecs[self.vcodec_combo.currentText()]))
     if self.vcodec_combo.currentText() != 'Copy':
         bitrate_opt = Options('-b', stream_num, sep=':')
         video_opts.append(Options(bitrate_opt, self.bitrate_edit.text()))
     if self.codec_extra.get(self.vcodec_combo.currentText(),
                             None) is not None:
         for k, v in self.codec_extra[
                 self.vcodec_combo.currentText()].items():
             o = Options(k, stream_num, sep=':')
             p = Options(o, v)
             video_opts.append(p)
     children = self.findChildren(CodecGroup)
     filter = Options()
     filter_chain = Options(sep=',')
     filter.extend((Options('-filter', stream_num, sep=':'), filter_chain))
     if any([c.isChecked() for c in children]):
         for child in children:
             if child.isChecked():
                 if child.codec_type == 'crop':
                     crop_opt = Options('crop', sep='=')
                     crop_parms = Options(
                         '{}'.format(child.spnCropWidth.value()),
                         '{}'.format(child.spnCropHeight.value()),
                         '{}'.format(child.spnCropHoriz.value()),
                         '{}'.format(child.spnCropVertical.value()),
                         sep=':')
                     crop_opt.append(crop_parms)
                     filter_chain.insert(0, crop_opt)
                 elif child.codec_type == 'scale':
                     scale_opt = self.make_scale_opts(child)
                     filter_chain.append(scale_opt)
     filter_chain.append('hqdn3d')
     video_opts.append(filter)
     video_opts.extend((Options('-strict', stream_num,
                                sep=':'), 'experimental'))
     return video_opts