tsukinaha / tsukimi

A simple third-party Emby client
GNU General Public License v3.0
1.15k stars 30 forks source link

视频播放分辨率不符合预期 #30

Closed amtoaer closed 6 months ago

amtoaer commented 6 months ago

尝试点开一个 4k 电影播放,发现 mpv 中视频分辨率相当低,但 emby 控制台显示的是直接播放。

之前没有用过 mpv,不清楚是 mpv 配置问题还是项目问题,提个 issue 寻求帮助(

image image

tsukinaha commented 6 months ago

@amtoaer 怎么拿到的是 m3u8 ,看一眼媒体信息?

Kosette commented 6 months ago

看一下emby server是否开启了transcoding,如果强制关闭还有没有这样的情况。

amtoaer commented 6 months ago

好的,我的机器在公司,明天看一下,感谢

ZBound commented 6 months ago

转码需要在单个用户配置中关闭,需要注意一下

amtoaer commented 6 months ago

刚刚试过了,在单个用户配置内关闭转码可以 work。 不过我在 mac 上使用 infuse 可以在不调整用户配置的前提下做到直接播放不转码,因此这可能是一个客户端能够设置的属性? 我看到视频播放参数中有“TranscodeReasons=ContainerBitrateExceedsLimit”字样,在 jellyfin 社区发现了一个相关问题,回复指出用户后台将比特率配置为“自动”时在Android TV 上可能会错误地将比特率设置的非常低(想了想感觉也可能是我公网访问 NAS 连接状态不太好),可以通过手动切换比特率实现。

tsukinaha commented 6 months ago

@amtoaer 怀疑可能是请求体中的 MaxStaticBitrate:140000000 MaxStreamingBitrate:140000000 导致了转码 尝试一下把这几项调高看看有用吗

amtoaer commented 6 months ago

刚刚尝试提高到了一个很高的值,还是不行,不过确实感觉是这个参数的影响。我看到里面有一个 DirectPlayProfiles,里面没有包含 h265,所以有点怀疑是这个导致 hevc 视频走到转码了,不过要先工作,没时间调了( 下面是这个电影的参数: image 等我有时间可以看看接口文档尝试修一下,或者也可以给你开一个 emby 账号你来试试(

Kosette commented 6 months ago

Emby的转码跟这几个因素有关:bitrate、videocodec、audiocodec、subtitleformat,详细的设置需要测试。

amtoaer commented 6 months ago

想到之前有用过一个开源的 jellyfin 客户端 findroid,去看了看他的源码。他采取的策略是 direct play only,具体设置是这样的:

https://github.com/jarnedemeulemeester/findroid/blob/a743363a8765e9fa159359a06df0f4b03e91f22a/data/src/main/java/dev/jdtech/jellyfin/repository/JellyfinRepositoryImpl.kt#L288

emby 和 jellyfin 在这方面应该差距不大,如果我们也打算仅支持 direct play 的话,可以将这个设置作为参考。

ZBound commented 6 months ago

我认为转码的作用: 一是为了让某些软硬件支持一些特殊媒体流; 二是为了降低分辨率和码率使其对带宽要求降低。

前者因为是桌面端软件且使用libmpv,解码不了的媒体流应该是少数; 后者的话根据 YD/T 3328-2023 标准就算是家宽上行一般也有 30-40Mbit/s,几乎可以看大部分4k以内非原盘和Remux,况且还有使用vps搭建的方案。

我认为 direct play only 没什么问题。

tsukinaha commented 6 months ago

不打算做转码。 如果有合适的参数欢迎直接 pr

Kosette commented 6 months ago

@amtoaer 方便的话麻烦测试一下这个profile。 https://pastebin.com/dh9Ap8uv 具体需要修改这两行。

https://github.com/tsukinaha/tsukimi/blob/cf8082d9ab91f497443996d3d14d4cf284e7864f/src/ui/network.rs#L704

https://github.com/tsukinaha/tsukimi/blob/cf8082d9ab91f497443996d3d14d4cf284e7864f/src/ui/network.rs#L667

amtoaer commented 6 months ago

@Kosette 不行,会挂: image

Kosette commented 6 months ago

@amtoaer 我这边没有开了转码的服务器,方便的话可以给我开一个测试账号吗?我这边在没有开启转码的情况下没有复现这个情况

ZBound commented 6 months ago

@Kosette 我记得Nyamedia公益服好像支持转码,你去试试

amtoaer commented 6 months ago

你有 tg 账号吗,可以私聊我一下,我把账号和地址发你: https://t.me/amtoaer 。或者给个邮箱也行。