- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在寻找通过 uPnP 流式传输音频/视频的解决方案一段时间后,Coherence 似乎是最有前途的选择:例如:http://coherence.beebits.net/browser/trunk/Coherence/coherence/backends/gstreamer_renderer.py似乎是直接在 HDMI 电视适配器上播放文件所需要的。
奇怪的是,安装 Ubuntu coherence 包后,在 Python 终端中运行 import coherence
并没有真正显示类似此模块的任何内容。 bpython 中的 Tab 补全显示:
>>> coherence.
┌───────────────────────────────────────────────────────────────────────────┐
│SERVER_ID Version platform │
│sys twisted_version twisted_web_version │
└───────────────────────────────────────────────────────────────────────────┘
这些子模块似乎只是提供有关系统的信息。如何导入并使用 Coherence 将桌面或视频流式传输到 uPnP 屏幕?有基本的入门指南吗?
更新
看起来 GUPnP 能够链接到 Python:
>>> from gi.repository import GUPnP
>>> GUPnP.ControlPoint.new()
Traceback (most recent call last):
File "<input>", line 1, in <module>
TypeError: new() takes exactly 2 arguments (0 given)
这显然是调用此处记录的函数: https://developer.gnome.org/gupnp/unstable/GUPnPControlPoint.html
不幸的是,文档没有任何关于如何流式传输到视频接收器的完整示例 - 具体来说,它如何启动通过网络发送视频文件?
更新:这是我用来检测设备的第一步:
import socket
import threading
import time
Addr = None;
StartLock = threading.Lock()
def DoUDP():
global Addr
global StartLock
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) #Internet, UDP
s.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
while 1:
s.sendto('0:0',('192.168.0.255',63630))
data,addr = s.recvfrom(1024)
print data
print 'from', addr
Addr = addr
try:
StartLock.release()
except:
pass
time.sleep(1)
return
StartLock.acquire()
print 'starting...'
udpthread = threading.Thread(target=DoUDP)
udpthread.start();
#... knowing address of the device... send stuff?
最佳答案
关于 Python 上的 GUPnP:它没有被广泛使用,并且绝对没有足够好的文档记录,但它应该可以工作。以下是使用 GUPnP 控制点列出 wlan0 网络上可用设备的简单示例:
from gi.repository import GLib, GUPnP
def device_available (cp, proxy):
print ("Found " + proxy.get_friendly_name ())
ctx = GUPnP.Context.new (None, "wlan0", 0)
cp = GUPnP.ControlPoint.new (ctx, "upnp:rootdevice")
cp.set_active (True)
cp.connect ("device-proxy-available", device_available)
GLib.MainLoop ().run ()
“流式传输到渲染器”的问题在于,您实际上需要两件事:告诉渲染器您想要播放什么的控制点,以及当渲染器请求时提供实际媒体的媒体服务器 - 如果这些都集成为一个(称为“2盒推送模型”),媒体服务器部分没有那么复杂,但仍然需要完成。
您可能感兴趣的一个项目是 dleyna:它基于 GUPnP,并试图使客户端工作更容易一些。请参阅Jens' article和文档 PushHost 。然而 dleyna 是一组 D-Bus 服务,而不是一个库,因此您必须决定它是否适合您的目的。
或者,您当然可以运行一个普通的媒体服务器(如 rygel)并使用控制点(如 gupnp-tools 中的 gupnp-av-cp)来选择您想要播放的媒体以及应该播放它的渲染器。
关于python - 使用 Coherence(或 GUPnP)?流式传输 A/V?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21423249/
我已经创建了一个 WLS 10.3.6 域。我已经启动了节点管理器。我使用 WLS 控制台定义了一个不属于集群的 Coherence 服务器。域中没有定义 Coherence 集群。 当我使用 WLS
我是 Coherance 新手,正在查看 http://www.benstopford.com/2009/03/04/oracle-coherence-part-i-an-introduction/在
我是 Coherance 新手,正在查看 http://www.benstopford.com/2009/03/04/oracle-coherence-part-i-an-introduction/在
抱歉问这样的问题: 但我无法弄清楚 Coherence 是否 http://www.oracle.com/technetwork/middleware/coherence/downloads/cohe
我是 Oracle Coherence 的新手,我正在尝试寻找一种开发/调试工具来帮助我验证我的应用程序。 感觉应该有一种直接的方式来查看缓存的键和/或值(甚至可能运行临时查询和函数?)。但是,除了(
我们有一个多线程应用程序,该应用程序大量使用 Oracle Coherence 3.5 L1/L2 缓存(1k 请求/秒),其中性能至关重要... 我需要同步对 CacheFactory.getCac
关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。 想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。 4年前关闭。 Improve thi
我是 Oracle Coherence 的新手。我阅读了文档并使用命令提示符进行了动手操作。我在理解上没有问题。然后我用oracle coherence工具下载了eclipse。我为 oracle c
我已经花了两天多的时间试图完成这项工作,但没有任何结果。服务器是带有嵌入式 Coherence 服务器的 WebLogic 12c。值得一提的是,我不是在独立模式下运行 Coherence,而是它与可
假设我将分布式缓存模式用于名为“countries”的缓存。我有三个节点。我在缓存中放入了一些数据。我想知道这个缓存的每个节点上存在的数据。请让我知道是否有工具或我们如何以编程方式知道它 最佳答案 您
关闭。这个问题是opinion-based .它目前不接受答案。 想改善这个问题吗?更新问题,以便可以通过 editing this post 用事实和引文回答问题. 6年前关闭。 Improve t
我通过运行 coherence.cmd 制作了简单的 J2SE 应用程序加入集群,而不运行 cache-server.cmd,并且我运行相同的应用程序,同时运行 coherence.cmd 和 cac
我需要仅由一个 Coherence 集群成员运行一段 Java 代码。所以,我为此选择了master成员(member)。是否有API可以检查当前成员是否是主协调员成员?我正在使用 Oracle Co
我在使用 IN 语句和参数化列表进行 Coherence 搜索时遇到问题。 这里我使用示例数据创建缓存: NamedCache cache = CacheFactory.getCache("test-
我的 Coherence tangosol-coherence-override.xml 配置部分不起作用。我可以启动服务器,放入和获取数据,但我无法通过 CacheLoader 获取数据。 谢谢。
我正在尝试实现使用 Coherence transient 缓存的业务功能。 我计划依赖的功能之一是在将项目放入缓存时提供(可配置的)生存时间时自动逐出缓存条目。 NamedCache 接口(inte
我正在致力于实现 Oracle Coherence 复制缓存。实现如下: EntryList ENTRY_ITEMS
由于我在 Oracle 的 Oracle COherence 文档中没有看到太多关于缓存对象的说明,所以任何人都知道 Oracle Coherence 是否允许 HashMap (Java) 对象作为
现在我正在按顺序向 Coherence 服务器发送 10,000 个删除操作。结果,有 10,000 次网络往返。有没有办法将 1 个批量操作中的所有删除操作发送到 Coherence 以避免此往返?
我正在为客户研究 Oracle Coherence,他们感兴趣的事情之一是从中获取统计信息以了解使用模式等。 我知道我可以从 JMX 获取一些信息,但是还提供了一个 CacheStatistics 接
我是一名优秀的程序员,十分优秀!