V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
mingren654
V2EX  ›  分享发现

jellyfin 串流的一些尝试

  •  
  •   mingren654 · 34 天前 via Android · 1486 次点击
    这是一个创建于 34 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我搭 jellyfin 是为了方便播放 VPS 的视频,结果发现小问题挺多。

    先说浏览器直接播放问题吧,最初遇到播放会停止的问题,检查发现主要是转码文件把磁盘占满了,祖传小鸡只有 10G SSD ,视频大的话会写进 2G 左右。不过可以改转码缓存位置,我改到了挂载的块存储上,播放停止的问题没有了。但是偶尔卡顿还有,卡顿完视频直接会跳过几秒,但外挂字幕还是正常进度,这时就会出现不同步。这个卡顿也导致 Web 端几乎没法用。

    客户端 PC 和安卓的官方的都不好用,快进或者跳进度会有卡顿。不过安卓有个 finfroid ,比官方好用太多了,进度条随便滑,跟播放本地视频似的顺滑,搞不懂差距怎么这么大。PC 客户端其实也还行,比复制串流 URL 到 potplayer 稍快一点点,我最忍不了是,这些播放器无论画面哪个位置,只要一动鼠标,进度条还有那些菜单就跑出来,还得等半天才消失。potplayer 那种鼠标移到底下才出来,移开马上消失就很好。

    关于串流 potplayer 网上有个方案这里不说了,搜下就有。不过我稍微改了下,我是通过检测 jellyfin 站点复制了串流地址后自动打开 potplayer 播放,需要读取剪贴板,读取后再删除剪贴板内容。不经常快进这类操作问题不大,否则会卡两三秒。

    不过现在我还是选择 VPS 下载本地直接播放了,用了这么多年 potplayer 我才发现,从点下载那刻开始,那个还没完全下完的文件可以直接用 potplayer 播放,可以在进度条变成了下载的进度,只要进度达到都能跳转快进。反正 Web 端播放转码也要存文件,我下载就当存本地,看完可以删也可以传网盘。
    23 条回复    2025-03-03 10:10:10 +08:00
    minami
        1
    minami  
       34 天前
    其实我一直很难以理解折腾转码串流的意义,你通过 jellyfin 实时转码出来的视频无论是画质还是压缩比都远远差于压制组精心压制出来的现成视频,现在移动设备的解码能力都非常强悍,完全可以直接通过共享文件的方式实现在移动端看 nas 上的视频。什么,你说你想在广域网串流看 nas 上的蓝光原盘?动动脑子,你直接再去下载个压制版的给广域网用不就好了?蓝光原盘留给局域网就可以了,局域网下带宽足够,直接看蓝光原盘也完全不是问题
    billlee
        2
    billlee  
       34 天前
    Jellyfin 的默认配置是问题不少,要仔细调整。

    一般客户端的解码能力都够强,不需要转码,可以在用户权限里把允许转码视频、允许转码音频关了,只保留允许转换封装。

    占用硬盘,和卡顿的问题,我这里是设置了 「限制转码速度」、「删除分段」两个选项。现在缓存放在 HDD 上也不会卡。
    mingren654
        3
    mingren654  
    OP
       34 天前
    @minami 我也一直很难理解看个标题就开炮的
    mingren654
        4
    mingren654  
    OP
       34 天前
    @billlee 客户端是不需要转码,问题就在于官方客户端毛病太多,安卓端第三方 finfroid 很强。现在的问题就是 PC 客户端不喜欢,超讨厌进度条和按钮盖住画面还等几秒才会消失的这种客户端,还有跳进度也会卡顿。所以有串流播放和下载播放两个选项,两者都不用转码,但串流会有跳进度会有 3 到 5 秒卡顿,秒差看视频大小。 但是这个卡顿现在已经找到解决方法了,我不是说直接下载播放还未下完的文件,能在 potplayer 里看到进度条吗。串流时也能看到,只是之前我全局滤镜设置里分离器一直用的 LAV Splitter Source ,除了分离还取代 potplayer 的抓取工作自己来抓取源,结果它对串流的抓取效果太垃圾了,还不能实时进度条查看抓取进度。现在我只用 LAV Splitter 这个分离器,抓取就交给 potplayer 自己,跟下载效果一样,只要进度条到了基本也是指哪打哪,不过连续左右大幅跳进度也会卡,这点“下载中”不会,快进快退倒不卡,所以使用体验来说 99%达到本地播放效果了。终于可以不折腾了
    linlord
        5
    linlord  
       34 天前
    jellyfin 安卓第三方可以试试 yamby (现在基本免费了)还有 hills ,win 和 Linux 可以试试 Tsukimi
    linlord
        6
    linlord  
       34 天前   ❤️ 1
    @billlee #2 请问关于 jellyfin 配置调整有推荐的文章吗?
    minami
        7
    minami  
       34 天前
    @mingren654 #3 谁跟你开炮了,搞笑,理解能力有问题。而且你最后还不是也放弃了转码
    mingren654
        8
    mingren654  
    OP
       34 天前
    @minami 我什么说过我要用转码,我只是提了下转码问题,方便后人遇到播放停止问题能找到答案。还我理解能力,还 NAS ,还蓝光原盘,这是理解能力正常的人说的吗
    mingren654
        9
    mingren654  
    OP
       34 天前   ❤️ 1
    @linlord 安卓 findroid 体验很好。配置调整主要封面问题和中文字体显示问题,问下 AI 都能解决,封面抓取不到主要还是目录结构和命名不规范。如果遇到性能瓶颈再针对性设置,没有其它设置基本没啥好动,就那么几个选项一个个翻看下有点印象就行。
    billlee
        10
    billlee  
       34 天前   ❤️ 1
    @mingren654 PC 上我已经放弃用 jellyfin 了,怎么折腾都不如直接用本地播放器通过 SMB/SFTP 打开文件。现在用 jellyfin 主要是为了在电视上看

    @linlord 没有哦。我之前都是自己看日志和服务器上的系统监控来调优的,有空了我再总结一下吧
    YsHaNg
        11
    YsHaNg  
       34 天前
    @minami 多个屋子多地都要看 公寓不适合放服务器 我这边在线转码没有任何问题 gym 商场各种地方带宽都会变化 不至于为了这全部只下 720p 超低码率 有转码能力可以随时换 回到家网络好又可以在电视上 direct stream
    caoz
        12
    caoz  
       34 天前
    "只要一动鼠标,进度条还有那些菜单就跑出来,还得等半天才消失"

    开源项目, 找到相关代码改掉就行了, 哈哈. 如果是 Emby, 代码在 videoosd.js 里的 startOsdHideTimer() 里. Emby Theater (官方客户端) 也会加载这个代码.

    刚看了下 Jellyfin 里也有此方法, 楼主可以研究下.

    https://github.com/jellyfin/jellyfin-web/blob/master/src/controllers/playback/video/index.js#L294
    wnpllrzodiac
        13
    wnpllrzodiac  
       33 天前 via Android
    @billlee 问一下,pc 端,android 包括 tv 端是用 jelly fin 原生 app
    还是页面端比较好?
    mingren654
        14
    mingren654  
    OP
       33 天前 via Android
    @caoz 可以的,不过藏的有点深,/usr/share/jellyfin/web/90742.9bc4825e3be97071537f.chunk.js
    搜索 re=setTimeout(D,3e3) 替换 3e3 为 500 ,重启 jellyfin 。这样

    Web 端清除缓存生效,客户端同样,不过不知道它缓存目录在哪里就干脆卸载重装,半秒就消失
    linlord
        15
    linlord  
       33 天前
    @mingren654 #9 我用 findroid 的时候经常卡死才去找其他播放器的
    billlee
        16
    billlee  
       33 天前
    @wnpllrzodiac PC 上肯定是要用 app, 浏览器的解码能力有限,遇到不兼容的编码就会触发转码。Android 手机上浏览器解码能力会比 PC 强一些,但我没试过 EAC3, TrueHD 之类的专有编码能不能解出来,可能和具体的设备、用的浏览器都有关。我的 TV 是 webos, 所以 android 端我不怎么用。
    mingren654
        17
    mingren654  
    OP
       33 天前
    @linlord 这我倒没遇到,可能有其它因素
    linlord
        18
    linlord  
       33 天前 via Android
    @mingren654 #17 还有其他的问题,比如不支持家庭录像或是音乐视频之类的 lib ,exo 和 mpv 切换不方便,上一次更新还是在去年 10 月份等等,这个软件只能说够用
    wnpllrzodiac
        19
    wnpllrzodiac  
       33 天前 via Android
    @billlee 但是如果尽量不转码播放,那和本地播放区别不大啊。无非是有台 nas 提供网络 7*24 的存储。还有个好处是可以多点登录保存观看记录。上卫生间洗澡可以接着看书房看了一半的剧。
    bao3
        20
    bao3  
       33 天前
    @minami 不是每一个人都会用 wifi 来看视频。当在外面不得不用手机甚至使用超慢的 wifi 看视频时,自动转码是真的有用,又快又省流量。
遇到有些低端设备不能播放杜比视界,也能转码映射,实在是太好用了。
    很多人会说,弄个 kodi ,infuse ,配合个 webdav 也能到处看视频,不,只要没有转码功能,就只能在拥有良好 wifi 时才敢看视频。
    SakuraYuki
        21
    SakuraYuki  
       32 天前
    @bao3 #20 主要是都用 nas 下高码率的视频了,就应该默认大部分时间拥有良好的网络环境,不然为什么不直接下载低码率的视频呢,有个 pt 站我记得是专门收集低码率视频的,配合剧集自动化工具直接同时下载高低码率的视频不就行了,反正低码率的也基本不占地方
    bao3
        22
    bao3  
       32 天前
    @SakuraYuki 不是每个人都能任何时间去看高码率时间,也不是每个都会去看低码率,更不可能有人去同时下载高码率和低碼率。人们只能下载高码率,然后转码成低码率。
    jpyl0423
        23
    jpyl0423  
       32 天前
    PC 用这个工具调本地的 mpv 播放,也能回传播放进度
    https://github.com/jellyfin/jellyfin-mpv-shim
    大部分移动端第三方的客户端都能本地解码也就不需要服务器解码了,不过旧的电视盒解码性能很弱还是要服务器解码,对显卡有一定要求
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1449 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 00:00 · PVG 08:00 · LAX 17:00 · JFK 20:00
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.