Сжатие запросов 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'))
Другие вопросы по тегам