专注4K家庭影音, 服务千万家庭影音发烧友!

[NAS教程] 在jellyfin10.5.5中解决ASS字幕无法正常显示的问题

EMeng 发表于 2020-5-17 14:03:55 | 显示全部楼层
前言
8 R0 a7 t8 j* N# r5 n8 z  2019年,经站内大佬们介绍,成功上车星际蜗牛C双版本,并安装了黑群,此后nas一直稳定运行。
% Q3 p0 z9 M0 \) W0 ]4 V3 [  最近经过@阿文菌等大佬孜孜不倦的安利,将NAS升级成i3 8100+矿渣B365主板,并且部署了docker版的jellyfin,想着也体验一把远程串流。
( ]( z# v+ A/ m. Q7 K& f8 i; _
4 D! S. A  t% z: ^ (在此感谢大佬们无私分享经验知识!)$ x; A4 C1 v5 G. y
  然而,在安装最新的10.5.5版本的jellyfin后,发现使用jellyfin在播放外挂ASS字幕的视频时,字幕无法正常显示,会出现一个个的方框。经过多方查询后并没有得到有效的解决办法,大部分网友们选择将ass字幕替换成scr字幕以规避此问题。
/ u! Q$ Z6 Y) E1 w. o$ t" O& e- }+ [) d
ass字幕无法正常显示,变成了一个个的方框
, J0 l8 [9 H+ h# U% J5 v; I  现在NAS上的影音资源大多是这几年慢慢积累起来的,是在懒得挨个检查文件夹并替换字幕,所以只能自力更生,所幸最终找到了一个解决该问题的方法,迫不及待的来分享给大家。
, A( y6 x& O% c$ p8 Q  本人是NAS小白,说实话连jellyfin的日志文件都看不懂,在次只是抛砖引玉,给大家提供一个思路,希望大家集思广益,最终找到更有效的解决方案。, j) ]0 k; S( E% O* h
解决过程
) O: q8 W: w7 O  看到播放时字幕变成了方框,我第一个思路就是,该问题是否类似windows系统中播放视频时字体库不全,引发的字体兼容问题。( w: ~" q6 Q7 Z) X0 f: m, q. F
  用记事本打开ass格式的字幕文件,发现ass字幕格式中自带对字幕字体进行了声明。) x# m, O: S; u$ [: g
; V% Q' g2 d# Q; P8 C
考虑jellyfin为linux内核,且为国外开发人员开发,猜测其内置字体库对中文字体支持不佳,所以尝试将相应中文字体挂载到jellyfin字体库中。8 n7 g" L2 U0 V3 Q; t5 y
7 B5 @0 x# W0 V. S
  查看10.5.5版jellyfin的日志文件,以font为关键字未搜到相关内容。# R2 c3 _8 a  r4 z& m  U! Y
  在10.5.5版字幕显示有问题后我安装过10.5.4版本,在日志文件中偶然搜到几句日志,大意是因字体不兼容,转用/usr/share/fonts的dejavu字体。但是当时未截图,后来调试过程中将10.5.4的映像删除后再也没有下载成功。。。1 c/ k  ~' `6 f: O) p
  作为不懂linux的小白,此时只能依靠百度了。。。经查询/usr/share/fonts目录为linux的字体库目录,所以尝试一下将中文字体导入该目录中,看看效果。
) K* @3 a1 [- ^$ u, f  下载了字幕文件中声明的几种中文字体后,在File StStation中随意找个文件夹存放。此处我选择了/download/fonts文件夹。8 S+ s2 u9 M3 j6 Y0 B
  t4 q5 R0 ~( Y* q
  由于jellyfin运行在docker中,所以jellyfin无法直接调用该文件夹中的字体。在docker中将jellyfin停止,将/Download/fonts文件夹挂载到jellyfin的/usr/share/fonts位置。
  X3 ?: X1 J' I& E* j+ }$ [/ {6 [: }
选中jellyfin点编辑
& H/ R, @* Q4 j4 ~0 M; H, o* R# X
- h. `1 u8 N+ l" ~0 V- h如图所示进行挂载
5 u) L- s4 P( L0 O2 r4 W6 k  重新启动,jellyfin,看看效果。  E/ p9 m) z7 s* ~# @9 u- i
1 P: e8 F& c1 f0 e# E
还是方框。。! U0 m: t$ b' _0 R
  纳尼?!竟然还是不行?
4 B" W, h6 Z" _7 m& f  此时又想到,在这里查询jellyfin字幕问题时看到一网友的评论:) |2 m+ A/ ], Y
& z7 E$ R2 F" ~) ?' {7 l# a! G8 K
  照着这个设置再来试试:
/ x9 G' e& J: ?/ }- ~1 P2 L" K$ w* I  f; T+ l

0 z9 b3 V1 t6 ^, M9 G. \4 c; ~/ o9 u. ?# ^+ V3 H6 ^
  再来试一次:
1 ]) g( i+ F( B' \+ c/ |: E! w7 z4 W! c9 t4 N) |5 ?
  666,网页版播放成功了!此时并非直接串流视频,而是播放的转码之后的视频流。! s  v) [9 B. I) m, s  @4 b! X
6 Q) s7 u1 ~5 ?' {6 W: @
回放数据显示因字幕问题而转码
/ r9 D  H8 f0 T) L3 E9 e9 K4 `# L
  再来测试jellyfin其他客户端的效果:
9 a* w6 k5 D2 U% ~! ?  ?  }8 ?1.ios客户端: {# R; I* I: B- O
  jellyfin的客户端同样需要单独对字幕进行一下设置:
0 |$ a2 v: \: S, C( ^1 Q
. j9 v  ^" I( F! Y3 f! S  然后再来播放试试:6 n* {: K: b/ F0 r* g8 G
9 ~2 a- D& m' U1 {
  同样能够正常显示字幕了。  J: g9 ?9 a4 E
2.安卓客户端& C( S6 E7 T1 J5 o
  通过百度找到了jellyfin安卓手机客户端的下载地址为:https://repo.jellyfin.org/releases/client/android/,下载realease1.0.0版本安装。
( g- \" D% x* l& `$ x2 ^# _; q7 U3 ~3 O0 h$ R
  遗憾的是,安卓版本的jellyfin客户端并没有烧录字幕的选项。
( d# k! }1 T+ Q1 u8 q9 p, u' F3 m8 I0 f- A0 W7 i
无法选择烧录字幕
5 k& Y, U  z$ P! e1 k8 d- f    尝试播放,没有选择烧录特效字幕的情况下,果然无法播放,又看到了熟悉的方框。4 ]+ \! Z5 O' G

: p- p. O6 @! K( D( @% j' U. o) p讨厌的方框框
1 A! n6 X2 d7 p/ N: T* H! G3.安卓手机浏览器. J3 @0 X) u  H* y# x2 \
  经测试,用安卓手机的浏览器访问jellyfin,是有烧录字幕的设置选项的。+ s8 d0 ]4 B, e3 f$ _
" w0 Q% X% _) k1 ]2 c
  照例进行播放测试,一切正常!
" x* E2 n! F7 B2 h0 L+ o
! x$ K8 b* y. N/ [- @3 _总结' U1 r! o9 r( ~, {. H
  1.在使用jellyfin客户端(包括网页、os客户端、安卓客户端等)进行串流时,请记得检查字幕设置,在没有选择烧录特效字幕的情况下,无法正常显示ass等特效字幕。
3 j- y* z! _) {$ X  l1 b/ ~9 U  2.为了体验ass等特效视频,建议提前下载字幕常用字体库存放到NAS中,临时遇到无法正常显示的问题时候,也可以通过查看ass文件中对字体的声明,下载相应字体。字幕常用字体也就那么多,总比一个个重新找scr字幕来的快捷。
& \! ~$ P# J* v3 o, q  3.使用此方法在jellyfin中显示ass字幕的前提是服务端需将字幕烧录进视频流中,即对播放视频进行转码,所以利用核显能对视频进行硬解是必要前提(软解实在是太痛苦了)。蜗牛星际自带的J1900 CPU对HEVC 10bit视频的解码能力非常堪忧,所以在不更新硬件的前提下,貌似只能将将外挂的ass字幕一个个替换成scr格式了。! V# V0 l0 F1 K
  4.现在1.0.0版本的jellyfin安卓客户端不提供烧录字幕的设置选项,所以安卓手机可以通过网页访问jellyfin来进行播放。9 L8 _( M* o5 ~7 h+ O

* g: W8 B- S+ t+ Q# F# T  a- hPS:一点小探索
; q: ~4 D+ @5 o# j/ d: E  在终于解决了ass字幕显示的问题后,我参考网络教程,利用SSH登陆群晖,用sudo -i获取root权限后,使用docker ps命令获取容器ID,再通过docker exec -it 容器ID /bin/bash的方式进入了jellyfin的文件目录。1 O5 B& L- U: A) p) w! R% X

# Q1 T! \! o+ N  H疑似与字体配置有关的文件: R" }  F0 z  O
  在/usr/share/fontconfig/conf.avail目录下,有很多设置文件。百度上说这个目录里存放的是linux系统的字体设置相关文件。因为自己不懂linux,所以无法进一步进行探索了。不知linux大神们能否从这里入手,从底层层面修改jellyfin对中文字体的配置,达到一劳永逸的效果。
回复

使用道具 举报

发烧友评论3

正序浏览
heartzc 发表于 2020-5-18 19:54:03 Hao4K手机版 | 显示全部楼层
楼主有探索精神,还喜欢分享,真不错,经验之谈很实用,赞一个。
回复 支持 反对

使用道具 举报

1589523354 发表于 2020-5-23 09:37:35 Hao4K手机版 | 显示全部楼层
经验之谈,为你点赞
回复 支持 反对

使用道具 举报

mousegod 发表于 2020-5-24 01:35:27 | 显示全部楼层
ass字幕在plex和jellyfin上真的是很蛋疼
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


关注

粉丝

帖子

社区广告

在线客服

在线客服

服务时间 9:00—18:00

返回顶部

关注微信公众号第一时间推送精彩

官方微信

手机访问

Hao4K影音

专注4k家庭影音,提供家庭影音社区,家庭影音器材库,影音问答平台,影音商城,服务千万家庭影音用户。

本站内容部分由用户自主分享和转载自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

如有侵权、违反国家法律政策行为,请联系我们,我们会第一时间及时清除和处理!

举报反馈邮箱:admin@hao4k.cn

Copyright  2019-2020  Hao4K影音粤公网安备 44030302001429号    ( 粤ICP备18155646号-1 )|网站地图