编写个人Kodi插件:如何设置Quasar播放Torrent文件的URL
解决Kodi插件中通过Quasar播放服务器Torrent文件的问题
嘿,我之前做Kodi插件时也碰到过一模一样的问题,直接填torrent文件的HTTP URL肯定不行——Kodi默认会把它当成普通文件处理,完全不知道要交给Quasar去解析种子内容。这里给你几个可行的解决方案:
1. 用Quasar的专属调用协议构造播放链接
Quasar插件提供了标准的插件调用格式,你需要把Torrent文件的URL做URL编码后,拼接到Quasar的插件路径里,这样Kodi就能明确知道要把这个请求交给Quasar处理。
修改后的代码示例如下:
import sys import xbmcplugin import xbmcgui from urllib.parse import quote addon_handle = int(sys.argv[1]) xbmcplugin.setContent(addon_handle, 'movies') # 你的Torrent文件服务器地址 torrent_url = 'http://mysite/video.torrent' # 构造Quasar的调用链接,必须对torrent URL做URL编码 quasar_play_url = f'plugin://plugin.video.quasar/play?uri={quote(torrent_url)}' li = xbmcgui.ListItem('First test!', iconImage='DefaultVideo.png') # 标记这个列表项是可播放的(关键属性) li.setProperty('IsPlayable', 'true') # 可选:设置MIME类型,明确告诉Kodi这是Torrent文件 li.setMimeType('application/x-bittorrent') xbmcplugin.addDirectoryItem(handle=addon_handle, url=quasar_play_url, listitem=li) xbmcplugin.endOfDirectory(addon_handle)
2. 确保Quasar插件的基础配置没问题
- 先确认你的Kodi已经安装并启用了Quasar插件,而且插件本身完成了基础设置(比如下载路径、种子源配置这些)
- 如果你的Quasar是分支版本,插件ID可能不是
plugin.video.quasar,可以去Kodi的插件管理里查看Quasar的插件信息,替换成对应的ID即可
3. 额外的小提示
- 如果是用磁力链接而非Torrent文件,格式类似
plugin://plugin.video.quasar/play?uri=magnet:?xt=urn:btih:...,同样需要对磁链做URL编码 - 可以给ListItem补充更多媒体信息,比如
li.setInfo('video', {'title': 'First test!'}),让Kodi更好地识别内容类型
这样修改后,点击列表项时Kodi就会自动调用Quasar插件,解析并播放你服务器上的Torrent文件了。
内容的提问来源于stack exchange,提问作者Arturo Rubio




