都可以用来搭建self-host stream media service,都至少支持web端和android端,以下为个人使用对比(均使用docker安装)
最不推荐的是plex,它需要连接官网账号才能用,并且android端体验极差,加载任何东西都很慢而且经常超时,貌似观影流量还是走了plex的转发,速度很慢,若要使用Android app还需要收费(终生30,否则只能看1分钟),就我体验了一下,基本可以说不可用的状态,而且它很多东西依赖官网服务,就不是完全self-host的service
jellyfin是最self-host的,完全不需要连接外部服务,所有的体验都很好,但它有个致命缺陷,就是当我观看某个电视剧时,我看完一集然后退出,下一次打开就需要手动找到上次看完的那集,才能继续看,它并没有提供resume play的功能,而且还没有观看历史(有活动记录),我觉得很不可思议,一开始我一直以为是我部署的问题,折腾了好久才发现,它就是没有。我架设这个东西主要就是看蜡笔小新,一季接近一千集了,我怎么可能每次还去找上次看到哪了。
目前看来貌似emby相对来说还不错,android免费,ios收费30元永久。它也有一个会员服务,不知道干嘛的,感觉事情并没有想象的那么简单。另:连续剧的目录结构必须为 剧名 > S1 > 集,或者 剧名 > Season 1 > 集,注意中间的季名,规定死了,不能写成 第1季之类的。
kodi可以看成是一个播放器,但它可以设置网络路径源。但它天生就是为使用遥控器控制的电视开发的,电脑和手机使用起来非常别扭。它有一个优势就是使用客户端解码,上面说的emby等属于服务端解码(下面有说明什么是解码),对于大分辨率视频可能会很耗费服务器资源和带宽,而kodi直接将源视频发送给客户端解码再播放,压力就来到了客户端,画面会更清晰更流畅。
很多人会使用 emby + kodi 的组合,即创建一个资源文件夹并设置网络路径用于kodi,同时将该文件夹挂载到emby的资源文件夹目录,这样你上传一个电影到该文件夹后,emby会自动帮你做刮削(自动去网络上寻找这个电影的海报、字幕、简介等,然后保存到该目录下,事实上,刮削是plex、jellyfin、emby非常非常重要的一个功能,很多人用它们就是因为这个功能)。用户使用kodi观看时就能看到刮削的东西了。
- 什么是视频编码?
一般看到的 mp4、flv、avi 等属于视频的打包格式,它只是将视频(视频是没声音的)、音频等文件打包成一个文件。而这里面的视频、音频等文件又会有各自不同的编码。例如一个视频可能是 h.264、h.265、av1、vp9 等编码格式,所谓编码格式,可以理解为将原来一张一张的原始图片压缩成一些关键帧和变化帧的方法,这样可以对原始视频进行压缩打包,但是如此一来你就不能直接播放这些视频,必须使用解码器将这些变化帧还原成原始图像。所以你的视频播放器并不一定可以打开所有的MP4类型的视频,如果你的播放器没有h265解码器就不能播放使用h265编码的MP4文件。h265是一种比较新的编码器,播放器要使用它需要交授权费,但如果在项目中使用像ffmpeg这种开源实现就不用要授权,因为ffmpeg已经有授权了。
我感觉我需要的东西很简单,你就搞个跟windows文件管理器一样的东西,然后能够记录播放历史,能在同一目录下根据名称顺序自动播放下一集就够了,怎么就那么难呢。