登录网站,浏览更多精彩内容
您需要 登录 才可以下载或查看,没有账号?加入我们
×
首先进入系统吧AdvacedMediaExtensions要安装上
一、什么是Advanced Media Extensions?
其功能是:支持在群晖DSM上查看高效率视频编码 (HEVC) 和高效率图像容器 (HEIC) 文件。
激活后可在不同套件中实现:
File Station
Synology Drive
Surveillance Station
Synology MailPlus
Synology Mail Plus Server
Synology Photos
Universal Viewer
Video Station
二、如何激活AME?
————————————————
DSM7.1
- import hashlib
- import os
- import subprocess
- r = ['669066909066906690', 'B801000000', '30']
- s = [(0x1F28, 0), (0x48F5, 1), (0x4921, 1), (0x4953, 1), (0x4975, 1), (0x9AC8, 2)]
- prefix = '/var/packages/CodecPack/target/usr'
- so = prefix + '/lib/libsynoame-license.so'
- print("Patching")
- with open(so, 'r+b') as fh:
- full = fh.read()
- if hashlib.md5(full).digest().hex() != 'fcc1084f4eadcf5855e6e8494fb79e23':
- print("MD5 mismatch")
- exit(1)
- for x in s:
- fh.seek(x[0] + 0x8000, 0)
- fh.write(bytes.fromhex(r[x[1]]))
- lic = '/usr/syno/etc/license/data/ame/offline_license.json'
- os.makedirs(os.path.dirname(lic), exist_ok=True)
- with open(lic, 'w') as licf:
- licf.write('[{"appType": 14, "appName": "ame", "follow": ["device"], "server_time": 1666000000, "registered_at": 1651000000, "expireTime": 0, "status": "valid", "firstActTime": 1651000001, "extension_gid": null, "licenseCode": "0", "duration": 1576800000, "attribute": {"codec": "hevc", "type": "free"}, "licenseContent": 1}, {"appType": 14, "appName": "ame", "follow": ["device"], "server_time": 1666000000, "registered_at": 1651000000, "expireTime": 0, "status": "valid", "firstActTime": 1651000001, "extension_gid": null, "licenseCode": "0", "duration": 1576800000, "attribute": {"codec": "aac", "type": "free"}, "licenseContent": 1}]')
- subprocess.run(['/usr/syno/etc/rc.sysv/apparmor.sh', 'remove_packages_profile', '0', 'CodecPack'])
- apparmor = '/var/packages/CodecPack/target/apparmor'
- if os.path.exists(apparmor):
- os.rename(apparmor, apparmor + ".bak")
- print("Checking whether patch is successful...")
- ret = os.system(prefix + "/bin/synoame-bin-check-license")
- if ret == 0:
- print("Successful, updating codecs...")
- os.system(prefix + "/bin/synoame-bin-auto-install-needed-codec")
- print("Done")
- else:
- print(f"Patch is unsuccessful, retcode = {ret}")
复制代码 DSM7.2
- import hashlib
- import os
- import subprocess
- r = ['669066909066906690', 'B801000000', '30']
- s = [(0x3718, 0), (0x60A5, 1), (0x60D1, 1), (0x6111, 1), (0x6137, 1), (0xB5F0, 2)]
- prefix = '/var/packages/CodecPack/target/usr'
- so = prefix + '/lib/libsynoame-license.so'
- print("Patching")
- with open(so, 'r+b') as fh:
- full = fh.read()
- if hashlib.md5(full).digest().hex() != '09e3adeafe85b353c9427d93ef0185e9':
- print("MD5 mismatch")
- exit(1)
- for x in s:
- fh.seek(x[0] + 0x8000, 0)
- fh.write(bytes.fromhex(r[x[1]]))
- lic = '/usr/syno/etc/license/data/ame/offline_license.json'
- os.makedirs(os.path.dirname(lic), exist_ok=True)
- with open(lic, 'w') as licf:
- licf.write('[{"attribute": {"codec": "hevc", "type": "free"}, "status": "valid", "extension_gid": null, "expireTime": 0, "appName": "ame", "follow": ["device"], "duration": 1576800000, "appType": 14, "licenseContent": 1, "registered_at": 1649315995, "server_time": 1685421618, "firstActTime": 1649315995, "licenseCode": "0"}, {"attribute": {"codec": "aac", "type": "free"}, "status": "valid", "extension_gid": null, "expireTime": 0, "appName": "ame", "follow": ["device"], "duration": 1576800000, "appType": 14, "licenseContent": 1, "registered_at": 1649315995, "server_time": 1685421618, "firstActTime": 1649315995, "licenseCode": "0"}]')
- subprocess.run(['/usr/syno/etc/rc.sysv/apparmor.sh', 'remove_packages_profile', '0', 'CodecPack'])
- apparmor = '/var/packages/CodecPack/target/apparmor'
- if os.path.exists(apparmor):
- os.rename(apparmor, apparmor + ".bak")
- print("Checking whether patch is successful...")
- ret = os.system(prefix + "/bin/synoame-bin-check-license")
- if ret == 0:
- print("Successful, updating codecs...")
- os.system(prefix + "/bin/synoame-bin-auto-install-needed-codec")
- print("Done")
- else:
- print(f"Patch is unsuccessful, retcode = {ret}")
复制代码 三、运行脚本获取并安装AME运行刚刚创建的脚本,如果出现权限问题,则打开管理员权限 - $ sudo su
- password:****
- # python ame.py
复制代码ame是你保存的py的名字随意哈 代码解释
最后效果图:
----python代码----------
12python.rar
(1.83 KB, 下载次数: 6)
|
|