用AppleTV高质量追剧

前面已经写过一篇有关appletv使用的文章,对appletv能实现的功能和质量不确定在什么状态,经过几天的使用和查阅一些资料,已经有了一些了解。

1、appletv的硬件标准比较高,能适应主流的影音播放要求

主要是影片方面,硬件支持4K@120帧,但软件目前还是4K@60帧,支持HDR10和杜比视界,至于音乐方面不支持源码直出,对连接的音响支持看音响的能力。

2、影音播放也需要软件的支持,最终的效果是软硬件结合的结果

2.1 流媒体主要看各自身的软件app功能:从实际看,youtube、netflix、appletv+本身都支持4K和杜比音效,国内的流媒体没有试过。

2.2 本地媒体播放的效果也同样取决于app,plex基本无法播放4K影片,而infuse可以播放,kodi也有很强的播放功能

2.3 播放的音效问题比较复杂。如果接功放可以实现文件本身的功能,如流媒体的AAC、DDP5.1和本地的DTS、杜比全景声等。如果是Airplay和蓝牙则要看硬件设备的能力。

3、要实现比较好的体验需要根据情况进行播放配置

播放流媒体时不需要太多干预,基本取决于app自身的要求。而播放本地文件时有一定的讲究。

3.1 用infuse连接媒体库播放4K影片

试用过多种播放器,基本都有各种问题,只有infuse能比较好地支持高码率、高画质影片的播放,并能支持杜比音效,能很好地识别外挂字幕,该软件号称当前appletv上唯一一个支持双杜比的app。

但infuse对电视剧的支持有问题,主要是外挂字幕不能正常显示,网络上也有相关反映。

infuse可以直接搜刮媒体信息,但这些信息存在appletv上和媒体目录下,容易搞乱媒体库,也容易丢失,用媒体库来管理文件比较好。

3.2 用plex播放电视剧、音乐和照片

plex在服务器方面是最好的媒体管理库,没有之一,appletv上客户端能很好的播放除4K影片之外所有媒体文件,其它播放器都多少有各种问题。

3.3 用homepod实现良好的音效输出,无论是本地播放还是流媒体

如果有专业的功放系统,则不存在声音播放方面的问题,如果没有专业音响,要实现比较好的音效,使用支持airplay的Homepod是比较好的选择。

HomepodOS从14.2开始支持了杜比音效,经过实测可以成功在播放界面看到杜比标志。以前airplay2除苹果自己的格式仅支持LPCM和AAC,所以声音从appletv输出到homepod时,AAC可以是源码,其他则基本要转码成LPCM,当然实际效果也是不错的,但不是原生支持杜比。现在原生支持杜比,应该是TVOS和homepodOS的airplay2进行了升级,这样隔空播放时appletv能从视频文件分离杜比源码并输出至homepod,且homepodOS能解码杜比音效文件。这是一个猜测,无法自己验证,可能不正确。

AppleTV通过Homepod播放音频的几点体验

流媒体播放一般都正常,但通过PLEX从NAS等设备上播放就有一些问题,一般电视剧还没有遇到播放不正常的问题,但几部4K影片中只有一部能正常播放,表现为声音画面都完全不正常,因此对设备和音视频的一些知识做了一些了解。

1、改用Infuse,自己的所有的4K视频都能正常播放,这说明播放软件对原始文件的支持是不同的,PLEX在appletv上无法播放高复杂度的影片,试过转码,基本不可用。

2、4K影片封装格式复杂,要正常播放约束条件很多

2.1 AppleTV硬件上处理能力上是够的,但是要配合合适的软件来播放,比如用苹果自己的AppleTV+ 就能成功点亮HDR10和Atmos,在Homepod上展现比较好的音效。(条件所限,电视仅支持HDR,不支持杜比视界)

2.2 Homepod在什么程度支持各种音效的播放呢,好像没有什么资料,估计不太可能直接硬解支持杜比全景声。

2.3 Infuse又是怎样支持4K播放的呢?

找到一篇文章如是说:

Homepod是通过无线连接的,这里就还有苹果Airplay2支持什么类型的数据传输。

关于airplay以下文章可能有利于我们对该技术有所理解:

AirPlay Android接收端学习一 协议

https://www.shangmayuan.com/a/5983ec3545384c98ac00473c.html

Unofficial AirPlay Protocol Specification

http://nto.github.io/AirPlay.html

AirPlay 2 – Internals and protocol

https://emanuelecozzi.net/docs/airplay2

另外 ,homepod软件更新有了新的进展

3、通过学习对homepod的音乐播放有了上一点新的认识,也可能是错误认识,共同讨论

3.1 通过研究airplay2的协议文档知道,音频在用airplay2进行传输的时候要遵循协议规范,且接收端接收的压缩格式为以下:

所以以前的homepod是不能直接解码atoms的格式的,该格式的音频很可能在发送端先解码成了LPCM了。

3.2 homepodOS14.2系统更新表明,通过homepod和appletv的结合,可以播放atmos了

系统更新表明,homepod已经可以接收atmos的源码并进行解码,同时又说必须配合appletv来完成,说明要实现atmos还需要发送端能够发送atmos源码。所以homepod播放atmos暂时只能是appletv能完成,随着homepod本身完成了atmos功能有集成,也意味着后续只要iphone、ipad、mac等更新系统的airplay2协议,它们就都可以发送atmos源码,从而支持atmos了。从现在各种信息看,IOS15、IpadOS15将全面推出该功能。

4、Infuse配合appletv时如何播放播放视频中的音频

这一条消息表明,直到6.3版本,infuse才刚刚支持EAC3,可以这样理解,以前的infuse在播放视频时atmos是不支持的,现在可以了。

Docker安装emby媒体服务器

局域网内的媒体播放可以直接播放媒体文件,但安装一个服务器可以管理媒体各种信息资料,呈现较好的娱乐体验。通常采用的媒体服务器有plex、emby、Jellyfin等三种,这三个服务器安装配置都非常简单,这里就emby的安装简要介绍。

网络上有关于Docker安装emby的文章,有些写得非常复杂,其实可以非常简单。

1、标准的安装方法看Docker官网

原始信息如下:

Or using the following command:

docker run -d \
    --name embyserver \
    --volume /path/to/programdata:/config \ # Configuration directory
    --volume /path/to/share1:/mnt/share1 \ # Media directory
    --volume /path/to/share2:/mnt/share2 \ # Media directory
    --net=host \ # Enable DLNA and Wake-on-Lan
    --device /dev/dri:/dev/dri \ # VAAPI/NVDEC/NVENC render nodes
    --device /dev/vchiq:/dev/vchiq \ # MMAL/OMX on Raspberry Pi
    --runtime=nvidia \ # Expose NVIDIA GPUs
    --publish 8096:8096 \ # HTTP port
    --publish 8920:8920 \ # HTTPS port
    --env UID=1000 \ # The UID to run emby as (default: 2)
    --env GID=100 \ # The GID to run emby as (default 2)
    --env GIDLIST=100 \ # A comma-separated list of additional GIDs to run emby as (default: 2)
    emby/embyserver:latest

Please adapt the UID, GID and GIDLIST values to match the owner of your media files. GIDLIST is also needed to grant access to VAAPI/NVDEC/NVENC render nodes.

2、理解各种参数的意义,可以自由配置

–name 可以随便改

–volume 你想在emby中安装几个不同的媒体库就映射几个/mnt/share*

–net 官方写的是host,其实可以不配置,就用系统的bridge也没有问题

–device 、–runtime 可以不配置(这针对特别的设备的)

–publish 要暴露的端口,如果是局域网内使用,留一个8096就可以了,或者自定一个端口

UID GID GIDLIST可以按网络上介绍的方法获取,也可以用默认值,也就是不配置。

3、在群晖NAS中安装Docker版emby

3.1 下载官方镜像

搜索结果

3.2 启动容器

点“高级设置”,其中:

高级设置 可以不配置

卷 映射一个config 目录,映射要管理的媒体库

网络 不配置

端口设置 默认有四个端口,只保留容器的8096,并把本地端口也改成8096

链接 不配置

环境 不配置。

3.3 设置emby

浏览器地址输入 IP:8096,进入emby设置页面

优先语言选中文,然后设置用户名和密码,再根据提示完成各项设置就可以了。

登录后配置好媒体库就完成了基本的安装,就可以在局域网内使用,后面是设置好媒体信息搜刮和外网访问。