问题标签 [plex]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
azure - 使用 Azure 媒体服务创建 Plex 服务器即服务
我想创建一个 Plex 媒体服务器即服务。
这个想法是这样我就可以使用 Plex Media Center 创建一个媒体服务器,上传我的媒体内容并流式传输到我的媒体中心(在我的情况下,我尝试了带有 plex 连接的苹果电视、iphone plex 应用程序和 plex web 应用程序)。
我的第一次尝试是在 Azure 上创建一个虚拟机,在上面放置一些内容并运行一个 Plex 服务器。
这对于不需要转码的 480p 内容非常有效。即时启动时间加上 2 核虚拟机中的 10 个同时客户端。当我使用需要转码的 1080p 时,CPU 使用率达到了顶峰。它几乎不支持 3 simultaneos 客户端而不会卡顿。开始时间也很糟糕。在 8 核虚拟机中。
这几乎让我处于一种我将放弃这个想法的状态......
但恰逢时间,我读到了 Azure 媒体服务,它看起来很适合这项任务。问题是,我如何使用 Azure 媒体服务并让 Plex 了解该内容?
我将需要使用 Azure 的自动缩放功能,以便按需提供新实例。
最后,理想情况下,我希望不同的客户端访问不同的 OR 共享媒体,以减少存储和处理时间。
TL;博士
我想摆脱我自己的本地 Plex 服务器,将其放在云中,让我的朋友访问我的内容并上传他们的内容,这样我们就可以在不依赖单个服务器来处理请求的情况下进行共享,并且能够自动缩放并共享存储。
python - COMException 从 Plex 插件访问 WMP(使用 Python for .NET)
我的目标
我正在尝试为Plex Media Server (PMS)创建一个插件,该插件将与 WMP (Windows Media Player) 交互,以获取有关 Windows 媒体库项目的元数据。
设置
- PMS 使用 Python 2.7 作为其主要脚本宿主。Plex 插件是用 Python 编写的,尽管它们以沙盒容量运行。不幸的是,关于这个沙盒功能的边界究竟是什么,很少有文档可悲。
- 我决定使用 Python for .NET 来访问 Windows SDK 以与 WMPLib 交互。Python for .NET ( http://pythonnet.github.io/ ) 是一个 Python 库,用于从 Python 运行时访问 .NET 程序集的功能。
- 我创建了一个 .NET 程序集来访问 WMPLib,它是 Windows SDK 的一部分,旨在以编程方式访问 WMP 的功能。WMPLib 基本上是针对 wmp.dll 的 .NET 的 COM 互操作包装器。
什么工作?
从 Python 到基于 COM 的 WMP 访问的整个链都在工作。如果我启动 Plex 媒体服务器(Python 2.7 版本)附带的嵌入式 Plex 脚本主机,我可以轻松地从 WMP 访问数据。这意味着链中的以下链接都在工作:
- Python正在为 .NET 加载 Python
- .NET 的Python正在加载我的 .NET 程序集
- 我的 .NET 程序集正在加载 WMPLib(Interop.WMPLib.dll,COM 互操作的 .NET 程序集)
- WMPLib正在成功打开和使用 wmp.dll(从 C:\Windows\System32 访问)
什么不工作?
在沙盒 Plex 插件中无法激活此链的 COM 互操作部分。同样,这个插件是用标准 Python 编写的,但是一旦沙盒代码运行,Python 执行环境就会有一些微妙的不同。从插件中运行 WMP 访问代码时出现以下异常:
- 在这种情况下,我知道 Python for .NET 正在工作,因为此时我已经从我的 .NET 程序集中加载并访问了其他内容。
- C:\Windows\System32位于 PATH 变量的前面。我假设 COM dll 应该通过 PATH 环境变量定位(这似乎是这样说的),但我并不完全确定这一点。 在这种独特的场景中(Python 访问 .NET 访问 COM)应该如何定位 COM 程序集是我最大的未知数之一。
问题
- Plex 插件沙箱如何更改 Python 执行环境,从而无法访问 COM 程序集?
- 在这种情况下,环境应该如何定位和访问 COM 程序集?
- 它是否需要 Plex 沙盒可能已锁定的特定权限?
也许我至少应该赢得某种奖品,因为我以一种独特的混乱方式解决了一个与众多不同技术相交的问题……
编辑 1
感谢@Paulo 下面的建议,我已经完全排除了任何与 .NET 相关的问题。我现在正在WMPLib
通过comtypes
Python 库进行所有互操作。现在我收到以下错误:
虽然-1072884953
是一个不同的错误代码,但稍微挖掘一下就会发现这个错误与(可能等同于?)我通过 .NET 互操作遇到的相同错误相关联(这篇文章使它看起来如此)。
所以现在我坚持的事实是:
wmp.dll
在所有情况下都在加载(@Paulo 帮助我在下面弄清楚)。- 当访问 WMP 的代码在 Plex 沙箱环境之外运行时,可以从 WMP 访问库项目。
- 当访问 WMP 的代码在 Plex 沙箱环境中运行时,无法从 WMP 访问库项目。
- 我得到的错误代码(无论是来自 .NET 还是基于 Python 的 COM 互操作)
NS_E_CURL_INVALIDPATH: The URL contains a path that is not valid.
在大多数情况下,此错误似乎与尝试播放有关。 - 这很奇怪,因为我从来没有在我的场景中播放过……我只是想打电话
wmp.mediaCollection
因此,Plex 沙盒在这种情况下似乎确实是关键。还有什么想法吗?
编辑 2
最低限度,这是失败的代码:
那collection = wmp.mediaCollection
就是发生错误的地方。
所以实际上没有任何可能导致失败的参数传入。重申一下,此代码在一般 Python 2.7 上下文中运行良好。它仅在 Plex 插件沙箱中失败。我不知道如何获取有关 Plex 沙盒如何更改执行环境的详细信息。我想我的答案就在那个方向。
github - 如何在 Plex 上从 GitHub 安装此插件
我正在尝试为 Plex TV 安装此插件。我不确定如何安装。
有人可以帮忙吗。
谢谢
html - 我的地图不工作
我的区域/地图不工作。请帮忙。我已经尝试了很多次故障排除,但没有任何效果。
我不太擅长图像映射,因此将不胜感激。提前谢谢了!!
这是代码:
linux - 为什么 Plex Media Server 的 PID 在“顶部”中不断增加?
我先找了没用。当我输入:
接着:
我得到:
然后,如果我再次运行 top 我得到:
等等。如果我继续刷新top
Plexmediaserver 的 PID 会不断增加。Plex 不再可以通过网络浏览器或支持 DLNA 的设备访问。
我试图删除并重新安装
任何建议,将不胜感激。提前致谢。-缺口
python - 如何访问存储在父类/对象(python)中的值?
以下不是我的代码,而是我必须使用的代码......
我有一个名为“媒体”的电影类型的对象,我可以使用它的名称和年份属性并执行所有标准操作。我也知道在“源”中存储了一个我非常想访问的值,但是每当我尝试它时,它都会因以下错误而炸毁我:
这个属性是永远遥不可及吗?
macos - OSX 设备是否会注册到运行 avahi-daemon 的 Raspberry Pi
我的本地网络上有一台 Mac Mini,在端口 32400 上运行 Plex 媒体服务器。设备在闲置 1 小时后进入睡眠模式。如果在端口 32400 上向设备发送包,我希望设备唤醒。
如果我理解正确,我必须在同一网络中拥有Bonjour Sleep Proxy,即 AppleTV。我想知道我是否可以使用 Raspberry Pi 来代替运行avahi-daemon
? Mac Mini 会在睡觉前将自己注册到运行在 Raspberry Pi 上的 Avahi,如果我在端口 32400 上向 Mac Mini 发送一个包,它会被唤醒吗?
据我所知,这avahi-daemon
是 Apple 的 Linux 版本,Apple 的mDNSResponder
Bonjour Sleep Proxies 正在运行。
apache - Apache重写多个REQUEST_URI
我试图让 Plex 和 OwnCloud 都与 Apache 一起工作。我目前已经正确设置了 Plex,来自的请求http://server.com/
被重写并代理到localhost:32400/web/
. 我通过以下配置实现了这一点:
32400/web/index.html
我希望保留此设置,因为它可以防止我的家人在他们的浏览器中看到时感到困惑。
我已将 OwnCloud 添加到服务器,并试图避免http://server.com/owncloud
被代理或重写。我有一条规则要检查,/owncloud
但REQUEST_URI
它似乎不起作用。
我去时收到以下回复http://server.com/owncloud
<MediaContainer size="0" content="plugins"></MediaContainer>
看起来它正在拉起主页,但没有一个脚本基于调试器解析:
当我完全禁用虚拟主机时,OwnCloud URL 可以正常工作。
通过阅读 Apache 文档,我相信如果重写条件失败,代理将不会发生?
video - 将 mp4 文件流式传输到其他网站
我有超过 10.000 个有趣的视频。所有文件 mp4 和这些文件相当大。
我对实时流媒体或与 Ipad、Iphone、Android 等设备的兼容不感兴趣。我正在尝试将这些视频流式传输到其他网站。
那么,我应该怎么做以及流式传输视频的最佳方式是什么?
Plex是家庭影院,Red5是比较难的。
谢谢。
linux - 文件夹权限不粘
我想我不是 linux 菜鸟,但我遇到了一个我无法解释的问题。我希望它是愚蠢的。我有一个试图在 plex 上设置的外部驱动器。它最初是格式化的ntfs
,但我缩小了分区并制作了另一个ext4
分区。Plex 无法查看驱动器并查看文件夹。我一直在尝试改变烫发,但它们没有坚持下去。他们不坚持如果
我错过了一些明显的东西还是这很奇怪?