Сжатие запросов Playblast
Я работаю над пользовательским инструментом playblast для Maya, и у меня возникла небольшая проблема с тем, как запросить доступные сжатия для каждого формата для воспроизведения playblast.
Я могу использовать:
import pymel.core as pm
availableFormats = pm.playblast(query = True, format = True)
print availableFormats
В результате я получаю ['qt','avi','image']
, Это нормально, но теперь мне нужны варианты сжатия.
Когда я использую
import pymel.core as pm
availableCompressions = pm.playblast(query = True, compression= True)
print availableCompressions
Я получил:
[u'Codec IYUV', u'MS-RLE', u'MS-CRAM', u'MS-YUV', u'Toshiba YUV411', u'TSCC', u'TSC2', u'none']
Какие варианты сжатия для формата "AVI".
Итак, вопрос:
Как я могу запросить сжатия для определенного формата?
Я попытался передать:
pm.playblast(query = True, format = 'qt', compression = True)
но это не работает, потому что, конечно, флаг запроса разрешает только логические значения...
1 ответ
Кажется, это ошибка привязки Python. Делать в Мел:
whatIs changePlayblastFormat;
// Result: Mel procedure found in: /path/mayaxxxx/scripts/others/performPlayblast.mel //
вы можете обнаружить, что они запрашивают форматы кодирования, как это:
string $selectedFormat = `optionMenuGrp -q -value playblastFormatWidget`;
string $lEncodings[] = `playblast -format $selectedFormat -q -compression`;
Таким образом, мое предложение было бы использовать mel eval для этого случая:
pm.mel.eval('playblast -format "{0}" -q -compression;'.format('qt'))