如何让新版群晖Video Station既能播放DTS、AC3,又能显示字幕?

如何让新版群晖Video Station既能播放DTS、AC3,又能显示字幕?
2023年11月14日 00:43 什么值得买

作者:茅台五粮液

原创文是我在2023年5月23日发布于今日头条、百度、腾讯、网易、搜狐和知乎的。本人就是“雲在青天水在瓶”。现在问题来了:2023年5月到现在,群晖DSM又升级到了7.2.1-69057 Update 1,这个办法是否仍旧可用?

刚才又亲自验证了一下,没问题!

废话少说,版本先对一下:

DSM:7.2.1-69057 Update 1

Video Station:3.1.0-3153

Advanced Media Extentions:3.1.0-3005

ffmpeg:4.4.4-49

都是最新的,对不对?

方法如下:

在套件中心把这三个套件全部删除:Video Station、ffmpeg、Advanced Media Extensions。

删Video Station时,记住跳出来的这个复选框,不要打钩,否则会把已经建好的影片和电视剧索引都给删了,重建要花挺长时间。

这一步的目的是将以前为了播放DTS、AC3对这三个套件做的任何改动,通过重装还原。

为啥?

很简单,你还记得之前改过哪些地方吗?

重装好这三个套件以后, 打开PuTTY,按自己NAS的内网IP地址,进入(Login)。

①输入管理员用户名,按提示输入密码,进入“管理员用户名”@“你的NAS”。

②再输入sudo -i,按提示输入密码,进入root@“你的NAS”。

现在可以开干了:

1、把VideoStation在bin目录下的原生ffmpeg,移动到ffmpeg.orig,这个就算做备份了。

mv -n /var/packages/VideoStation/target/bin/ffmpeg /var/packages/VideoStation/target/bin/ffmpeg.orig

2、去

gist.githubusercontent.com下载新的ffmpeg脚本,填补移动后的空缺。

wget -O - https://gist.githubusercontent.com/BenjaminPoncet/bbef9edc1d0800528813e75c1669e57e/raw/ffmpeg-wrapper > /var/packages/VideoStation/target/bin/ffmpeg

注意到没,这个目录

/var/packages/VideoStation/target/bin/ffmpeg,也就是前面被备份那个,

这步是用从gist.githubusercontent.com下载的脚本,替换掉原生的脚本,

如果这步做完,PuTTY界面出现这样的回应,算已经成功了。

Resolving gist.githubusercontent.com... 185.199.109.133, 185.199.108.133, 185.19 9.110.133, ...

Connecting to gist.githubusercontent.com|185.199.109.133|:443... connected.

HTTP request sent, awaiting response... 200 OK

Length: 8666 (8.5K) [text/plain]

Saving to: 'STDOUT'

- 100%[===================>] 8.46K --.-KB/s in 0s

2023-05-02 09:54:43 (65.2 MB/s) - written to stdout [8666/8666]

3、把这个新的ffmpeg脚本应用权限设好

chown root:VideoStation /var/packages/VideoStation/target/bin/ffmpeg

chmod 750 /var/packages/VideoStation/target/bin/ffmpeg

chmod u+s /var/packages/VideoStation/target/bin/ffmpeg

4、再备份libsynovte.so为libsynovte.so.orig,请注意这个步骤是复制而不是移动,被复制的文件还有用处。

cp -n /var/packages/VideoStation/target/lib/libsynovte.so /var/packages/VideoStation/target/lib/libsynovte.so.orig

5、设置好libsynovte.so.orig的权限。

chown VideoStation:VideoStation /var/packages/VideoStation/target/lib/libsynovte.so.orig

6、 把对DTS, AC3 and TrueHD的支持,加给libsynovte.so。

sed -i -e 's/eac3/3cae/' -e 's/dts/std/' -e 's/truehd/dheurt/' /var/packages/VideoStation/target/lib/libsynovte.so

以前完成这步就可以了,现在不行!

因为新版的Video Station,被设定优先调用Advanced Media Extentions。

而Advanced Media Extentions又被去掉了DTS的解码功能,这样你点DTS电影看,就会一直转圈,根本不播放。所以我们还得多做两步。

7、把新Advanced Media Extentions里的ffmpeg41,复制成ffmpeg41.bak。

cp /var/packages/CodecPack/target/bin/ffmpeg41 /var/packages/CodecPack/target/bin/ffmpeg41.bak

8、再把/var/packages/VideoStation/target/bin/ffmpeg,复制到ffmpeg41

cp /var/packages/VideoStation/target/bin/ffmpeg /var/packages/CodecPack/target/bin/ffmpeg41

9、为稳妥起见,重启一下Video Station,DTS就能用了。

sudo synopkg restart VideoStation

10、大功告成!但有些头铁的朋友,不信邪,说7和8不做会怎样?想知道结果吗?输入这条。

cp /var/packages/CodecPack/target/bin/ffmpeg41.bak /var/packages/CodecPack/target/bin/ffmpeg41

是不是又回到转圈模式了?这个步骤验证了:新版Video Station优先调用的是Advanced Media Extentions里的ffmpeg41。

怎么办???

7、8、9重做一遍。

总结一下:

①按以上操作,不光DTS和AC3都可以解开,且内置字幕也都可以显示。但总会出现极少数压制不规范的,内置字幕不可显示。

很简单,重新下个可以显示的,这不是Video Station套件本身的问题。

②看到一篇文章,说应该把命令里的orig改成org,这纯粹是文科生的思维。

org是组织机构的缩写,文科生一看,我这个要解码成功得找组织呀。其实根据前面对命令的解释,这个org跟能不能解有个屁的关系。

③有朋友问,现在Jellyfin等都已经很完善了,可以刮海报可以解DTS和AC3,为啥还费尽心思用Video Station?

嗯,完成1-9以后,分别用网页Video Station、Jellyfin打开需要解码的电影,再转到群晖资源监控看看CPU占用。

是不是同样视频Jellyfin的CPU占用普遍偏高呢?给Jellyfin开硬解也没用!

CPU占用高其实是与Jellyfin卡和字幕不同步是有关联的。本来NAS就是一个多用户的服务平台,现在一个用户看Jellyfin,其他用户得苟着,用户体验能好吗?

④相对来说,H.264或HEVC视频编码+AAC音频编码是最不占用群晖CPU的组合,所以能找到这类电影文件,应优先使用,这应该也是群晖官方想要引导的。

这样,在内网和外网的播放表现相差就不会太大,也可以减轻NAS的压力。

好运!

查看文章精彩评论,请前往什么值得买进行阅读互动

财经自媒体联盟更多自媒体作者

新浪首页 语音播报 相关新闻 返回顶部