群晖NAS:DSM7.1激活Advanced Media Extensions【自留记录】

群晖NAS:DSM7.1激活Advanced Media Extensions【自留记录】

本文仅半白群晖可用,不需要安装其他套件或者ssh修改什么

使用DS Video 网页播放视频时候,提示:【不支持当前所选音轨的文件格式,
因此无法播放视频。请尝试播放其它音轨,确认其是否支持】

如图:

在这里插入图片描述
网上很多大神的方案,基本上卒。很多走不下去,直接报错,有的不生效。

解决方案是:

1、安装套件:Advanced Media Extensions【官方必须的】

在这里插入图片描述

2、上传ame.py文件到nas本地
(如果不成功,看下面的py代码,注释掉了 md5 不匹配部分)

点击到云盘下载

保存以下代码保存为ame.py文件

import hashlib
import osr = ['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()print(hashlib.md5(full).digest().hex())# 这里的 md5 值很多人对不上,我是直接获取替换字符串,没有直接注释来的方便# 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}]')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}")

3、在控制面板的任务计划中,新建一个计划任务使用用户自定义脚本,用户账户使用root

在这里插入图片描述

任务设置中的用户自定义脚本输入:python后面跟刚才我们保存的文件位置。

在这里插入图片描述

phthon /volume1/async.data.center/aem.py

注意:替换自己的文件地址,建议在 ds file 里面点开文件的属性,查看

在这里插入图片描述
运行:
在这里插入图片描述

或者

链接 SSH方式:
获取root权限。输入密码(此时密码不可见,输入完回车进入)

sudo -i

执行命令:

phthon /volume1/async.data.center/aem.py

4、看下解锁状态

在这里插入图片描述

备注:
1、如果未解锁,且多次执行也不行,试试替换py代码里面自己本机的md5 值。ssh执行打印出来即可获取到
2、没有显示 aac 格式解码包,不影响使用(亲测有效)

5、重启 DS Video 播放之前放不出来的视频即可

在这里插入图片描述

完结,看效果

在这里插入图片描述

其他解决方案:1、下载套件:可以使用特定版本 ffmpeg + Jellyfin 解决。(不能升级,强迫症难受)
2、https://zhuanlan.zhihu.com/p/619795133(我没成功,有兴趣可以试试)

参考大神们文档:
https://www.bilibili.com/read/cv22556816/
https://tieba.baidu.com/p/8474781494

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/91071.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

IDA Pro反汇编工具下载安装使用

一、前言 IDA Pro(Interactive Disassembler Professional)简称“IDA”,是Hex-Rays公司出品的一款交互式反汇编工具,是目前最棒的一个静态反编译软件,为众多0day世界的成员和ShellCode安全分析人士不可缺少的利器。ID…

【无线点对点网络时延分析和可视化】模拟无线点对点网络中的延迟以及物理层和数据链路层之间的相互作用(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

Debian 30 周年,生日快乐!

导读近日是 Debian 日,也是由伊恩-默多克(Ian Murdock)创立的 Debian GNU/Linux 通用操作系统和社区支持的 Debian 项目 30 周年纪念日。 不管你信不信,从已故的伊恩-默多克于 1993 年 8 月 16 日宣布成立 Debian 项目&#xff0c…

如何用Python爬虫持续监控商品价格

目录 持续监控商品价格步骤 1. 选择合适的爬虫库: 2. 选择目标网站: 3. 编写爬虫代码: 4. 设定监控频率: 5. 存储和展示数据: 6. 设置报警机制: 7. 异常处理和稳定性考虑: 可能会遇到的…

GPT能否辅助数学学习

GPT4.0的数学能力怎么样?我们使用镜像站进行实验,通过不同水平的数学看看GPT4.0的数学能力得到进步没有。镜像站的地址我们放在了最后,各位读者也可以自行去测试。 笔者在ChatGPT镜像站进行测试,我们的实验是让GPT4.0自行出数学题…

go gin gorm连接postgres postgis输出geojson

go gin gorm连接postgres postgis输出geojson 1. 技术环境 go-gin-gorm postgres-postgis 2. 简单实现代码 思路就是:采用原生sql实现查询、更新等,采用gorm的raw来执行sql语句 package mainimport ("fmt""net/http""github.…

Kotlin的Lambda闭包语法

Lambda 表达式是一种在现代编程语言中常见的特性,它可以用来创建匿名函数或代码块,使得将函数作为参数传递、简化代码以及实现函数式编程范式变得更加便捷。Lambda 表达式在函数式编程语言中得到广泛应用,也在诸如 Java 8 和 Kotlin 等主流编…

《Python趣味工具》——文字RPG游戏的开发(附人生选择模拟器的详细讲解及其他多种RPG游戏的源码)

今天我们来学习如何制作一个文字RPG游戏 。 内容主要分为3个部分: part1. 文字游戏(MUD)的趣味历史 part2. 文字游戏的设计方法 part3. 文字游戏功能实现 文章目录 一、文字游戏(MUD)的趣味历史:1. 什么是MUD游戏:2. …

下岗吧,Excel

ChatGPT的诞生使Excel公式变得过时。通过使用 ChatGPT 的代码解释器你可以做到: 分析数据创建图表 这就像用自然语言与电子表格交谈一样。我将向大家展示如何使用 ChatGPT 执行此操作并将结果导出为Excel格式: 作为示例,我将分析并创建美国…

恢复已删除的git分支

1.打开对应项目文件夹目录,在目录下执行git命令 2.执行命令 git reflog --dateiso , 找到最后一次commit 的id 3. 执行git checkout -b 新建分支名称 commitId 就会基于commitId这次提交时工作区新建一个分支,就能达到我们找到删除分支的代码效果。 4.直接看ide…

OpenCV(十一):图像仿射变换

目录 1.图像仿射变换介绍 仿射变换: 仿射变换矩阵: 仿射变换公式: 2.仿射变换函数 仿射变换函数:warpAffine() 图像旋转:getRotationMatrix2D() 计算仿射变换矩阵:getAffineTransform() 3.demo 1.…

openGauss学习笔记-52 openGauss 高级特性-LLVM

文章目录 openGauss学习笔记-52 openGauss 高级特性-LLVM52.1 适用场景52.2 非适用场景52.3 其他因素对LLVM性能的影响52.4 LLVM使用建议 openGauss学习笔记-52 openGauss 高级特性-LLVM openGauss借助LLVM(Low Level Virtual Machine)提供的库函数&…