Как использовать скрипт PSSH Python с помощью библиотеки Python ProtoBuf? - PullRequest
0 голосов
/ 01 ноября 2018

Я не могу понять, как библиотека Python ProtoBuf связана с использованием сценария pssh python в этой документации https://github.com/google/shaka-packager/tree/master/packager/tools/pssh

Как мне создать скрипт pssh.py без файла proto?

1 Ответ

0 голосов
/ 01 ноября 2018

Вы можете использовать скрипт сборки вместе с shaka-packager или просто сгенерировать файлы протобуфа python из заголовочного прото-файла Widevine *1002*.

Учебник по протоколу для Python хорошо описывает, как использовать protoc для компиляции необходимого кода Python.

Если вы не хотите или не нуждаетесь ни в каком другом пакете shaka-packager, а просто хотите использовать pssh.py, тогда вы можете просто изменить эту часть:

# Append the local protobuf location.  Use a path relative to the tools/pssh
# folder where this file should be found.  This allows the file to be executed
# from any directory.
_pssh_dir = os.path.dirname(os.path.realpath(__file__))
sys.path.insert(0, os.path.join(_pssh_dir, '../../third_party/protobuf/python'))
# Import the widevine protobuf.  Use either Release or Debug.
_proto_path_format = os.path.join(
    _pssh_dir, '../../../out/%s/pyproto/packager/media/base')
if os.path.isdir(_proto_path_format % 'Release'):
  sys.path.insert(0, _proto_path_format % 'Release')
else:
  sys.path.insert(0, _proto_path_format % 'Debug')
try:
  import widevine_pssh_data_pb2  # pylint: disable=g-import-not-at-top
except ImportError:
  print >> sys.stderr, 'Cannot find proto file, make sure to build first'
  raise

Просто сохраните import widevine_pssh_data_pb2 и убедитесь, что код, сгенерированный вами с помощью protoc, находится в пути к файлу pssh.py. Тогда это должно работать хорошо.

Для чего вы планируете использовать pssh.py?

...