用于Kodi服务器的Python远程控制网关

kodi-remotecontrol的Python项目详细描述


用于Kodi的Python遥控器

License: MITPyPI - Python Version

这是一个用于Kodi的Python远程控制,具有最少但足够的基本控件。 此远程控制充当UDPWebSocket网关UDPEvent ServerAPI,以获得更高的反应性。在

目录

安装

PyPI

pipinstallkodi_remotecontrol

Docker Hub

^{pr2}$

启动遥控器

作为先决条件,请转到System/Settings/Network/Services并激活以下两个选项

  • Allow programs on other systems to control Kodi
  • Allow control of Kodi via HTTP

之后,您可以启动遥控器并提供kodi服务器的地址。在

kodi_remotecontrol --desthost=10.0.0.200

其他可用选项:

kodi_remotecontrol --help
usage: kodi_remotecontrol [-h] [--destport DESTPORT] [--desthost DESTHOST]
                        [--bindport BINDPORT] [--bindhost BINDHOST]

optional arguments:
  -h, --help           show this help message and exit
  --destport DESTPORT  destination kodi port default=9777
  --desthost DESTHOST  destination kodi host default=127.0.0.1
  --bindport BINDPORT  bind on port default=8081
  --bindhost BINDHOST  bind on host default=0.0.0.0

可用按钮

要与遥控器交互,需要使用websocket客户端和 将以下JSON命令发送到地址ws://<remotecontrol_ip>:8081。在

用户界面导航

{"button":"press_up"}//pressonupbutton{"button":"press_down"}//pressondownbutton{"button":"press_left"}//pressonleftbutton{"button":"press_right"}//pressonrightbutton{"button":"press_back"}//pressonbackbutton{"button":"press_enter"}//pressonenterbutton{"button":"press_ctxmenu"}//displaycontextualmenu{"button":"press_playlist"}//displayplaylist{"button":"press_logoff"}//pressonlogoffbutton

玩家互动

{"button":"press_play"}//pressonplaybutton{"button":"press_stop"}//pressonstopbutton{"button":"press_pause"}//pressonpausebutton{"button":"press_previous"}//pressonpreviousbutton{"button":"press_next"}//pressonnextbutton{"button":"press_osd"}//displayOSD

字幕选择

{"button":"press_subtitle"}//togglesubtitle

音频曲目选择

{"button":"press_language"}//togglelanguage

Websocket客户端

VueJS前端

此项目的web interface可用。在

基本演示

将以下html内容复制/粘贴到文件中,然后在web浏览器中打开它。 配置websocket地址。在

<html><head><title>RemoteControl demo</title><styletype="text/css">.buttons{font-size:1em;display:flex;justify-content:center;}.button{padding:2rem;border:mediumsolid;min-height:1em;min-width:1em;cursor:pointer;user-select:none;}</style></head><body><divclass="buttons"><divclass="play button">Play</div><divclass="pause button">Pause</div></div><script>varwebsocket=newWebSocket("ws://localhost:8081/");varplay=document.querySelector('.play')varpause=document.querySelector('.pause')play.onclick=function(event){websocket.send(JSON.stringify({button:'press_play'}));}pause.onclick=function(event){websocket.send(JSON.stringify({button:'press_pause'}));}</script></body></html>

关于

AuthorDenis Machard d.machard@gmail.com
LicenseMIT
PyPIhttps://pypi.org/project/kodi-remotecontrol/

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java SUN次要代码309含义   java避免为空元素生成XML自关闭标记,并生成自定义的<XML>开始标记   java使用json和restful将数组数据从本地sqlite数据库插入SQL Server   java Spring Boot 1.5.9字符编码问题   LInkedIn讨论中的java 401错误   位图Java:检查多个位向量/位集是否相交的最快方法?   macos如何让Java应用程序以图标出现在Mac OS X dock中   java如何删除netbeans中的@SuppressWarnings(“未使用的”)?   apachestorm中的java自定义序列化   java可以退出代码还是应该终止main?   递归如何在Java中递归地绘制简单的线条?   unicode在Java中确定特定字体是否可以呈现特定字符   打开并阅读带有Selenium/Katalon(Java)特定标题的电子邮件文本(来自Gmail)