Как использовать сценарий PSSH Python с помощью библиотеки Python ProtoBuf?
Я не могу понять, как библиотека Python ProtoBuf связана с использованием сценария pssh python в этой документации https://github.com/google/shaka-packager/tree/master/packager/tools/pssh
Как я могу создать скрипт pssh.py без файла proto?
2 ответа
Вы можете использовать скрипт сборки вместе с shaka-packager, или вы можете просто сгенерировать файлы python protobuf непосредственно из файла Probo Widevine header.
Учебник по протоколу буферов для 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?
иди сюда...
https://github.com/google/shaka-packager/releases/latest
скачать pssh-box.py.tar.gz
и используйте его везде, где хотите, с python.