{"repo":"AmbitiousJun/go-emby2openlist","free":true,"listed":false,"github":"https://github.com/AmbitiousJun/go-emby2openlist","clone":"git clone https://github.com/AmbitiousJun/go-emby2openlist.git","description":"Go 语言编写的 Emby + OpenList (Alist) 网盘直链反向代理服务，深度适配阿里云盘转码播放，支持 OpenList 本地目录树生成，配置简单，DockerCompose 一键部署","language":"Go","stars":663,"topics":["emby-server","aliyundrive","clouddrive2","rclone","reverse-proxy","openlist","302-redirect","strm","virtural-media"],"license":"GPL-3.0","category":"networking-infra","readme_excerpt":"go-emby2openlist Go 语言编写的 Emby + OpenList 网盘直链反向代理服务，深度适配阿里云盘转码播放。 小白必看 网盘直链反向代理 : 正常情况下，Emby 通过磁盘挂载的形式间接读取网盘资源，走的是服务器代理模式，看一个视频时数据链路是： 客户端 = Emby 源服务器 = 磁盘挂载服务 = OpenList = 网盘 客户端 客户端 = Emby 反代服务器 = Emby 源服务器 （请求 Emby Api 接口） 客户端 客户端 = Emby 反代服务器 = OpenList = 网盘 （请求视频直链） 客户端 客户端 = 网盘（客户端拿着网盘的直链直接观看，此时已经没有服务器的事情了，故不会再消耗服务器流量） 这种方式的好处： 1. 观看时加载速度拉满（前提是有网盘会员） 2. 在客户端处解码，能不能看 4K 取决于你电视盒子的性能 使用前须知 1. 本项目初衷: 易用轻巧、小白友好、深度适配阿里云盘 (如果你使用本项目观看其他网盘时出现问题，也欢迎到 issue 区反馈，我会尽量适配它) 2. 如果你有更复杂的需求, 推荐使用功能更完善的反向代理服务：bpking1/embyExternalUrl 功能 - OpenList 网盘原画直链播放 - Strm 直链播放 - OpenList 本地目录树生成 - 自定义注入 js/css（web） - OpenList 网盘转码直链播放（阿里云盘） 是否消耗三方流量包流量 ：🙅 非会员是否限速 ：自行测试 示例图 ↓： 转码资源直链已达到可正常使用的标准，Emby Web, Emby for AndroidTV 以及其他大部分客户端都可以正常播放，并且不会因为直链过期而中断 局限： 如果是有多个内置音频的，转码直链只能播放其中的默认音频 视频本身的内封字幕会丢失，不过若存在转码字幕，也会适配到转码版本的 PlaybackInfo 信息中，示例图 ↓： - websocket 代理 - 客户端防转码（转容器） - 缓存中间件，实际使用体验不会比直连源服务器差 - 字幕缓存（字幕缓存时间固定 30 天） 目前还无法阻止 Emby 去本地挂载文件上读取字幕 带字幕的视频首次播放时，Emby 会调用 FFmpeg 将字幕从本地文件中提取出来，再进行缓存 也就是说： - 首次提取时，速度会很慢，有可能得等个大半天才能看到字幕（使用第三方播放器【如 MX player , Fileball 】可以解决） - 带字幕的视频首次播放时，还是会消耗服务器的流量 - 直链缓存（为了兼容阿里云盘，直链缓存时间目前固定为 10 分钟，其他云盘暂无测试） - 大接口缓存（OpenList 转码资源是通过代理并修改 PlaybackInfo 接口实现，请求比较耗时，每次大约 2 3 秒左右，目前已经利用 Go 语言的并发优势，尽力地将接口处理逻辑异步化，快的话 1 秒即可请求完成，该接口的缓存时间目前固定为 12 小时，后续如果出现异常再作调整） 已测试并支持的客户端 名称 最后测试版本 原画 其他说明（原画） 阿里转码 其他说明（阿里转码） ------------------------------------------------ ------------ ---- ---------------------------------------------------------------------- -------- ----------------------------","default_branch":null,"files":null,"tree":[],"storefront":"/r/AmbitiousJun","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/AmbitiousJun/go-emby2openlist/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}