JSON-RPC调用Player.GetItem返回空详情问题求助
Kodi JSON-RPC 获取播放视频详情问题
问题场景
通过以下JSON-RPC调用启动视频:
{"jsonrpc": "2.0", "method": "Player.Open", "params": {"item": {"file": "c:\\MyCodes\\samples\\sample-6s.mp4" }}, "id": 1 }
启动后调用Player.GetItem获取视频详情:
{ "jsonrpc": "2.0", "method": "Player.GetItem", "params": { "properties": [ "title", "album", "artist", "season", "episode", "duration", "showtitle", "tvshowid", "thumbnail", "file", "fanart", "streamdetails" ], "playerid": 1 }, "id": "VideoGetItem" }
返回结果中streamdetails的audio、video数组为空:
{ "id": "VideoGetItem", "jsonrpc": "2.0", "result": { "item": { "album": "", "artist": [], "episode": -1, "fanart": "", "file": "c:\\MyCodes\\samples\\sample-6s.mp4", "label": "sample-6s.mp4", "season": -1, "showtitle": "", "streamdetails": { "audio": [], "subtitle": [], "video": [] }, "thumbnail": "", "title": "", "tvshowid": -1, "type": "unknown" } } }
但通过Kodi GUI启动同一视频后,调用Player.GetItem能正常返回完整的streamdetails信息:
{ "id": "VideoGetItem", "jsonrpc": "2.0", "result": { "item": { "album": "", "artist": [], "episode": -1, "fanart": "", "file": "C:\\MyCodes\\samples\\sample-6s.mp4", "label": "sample-6s.mp4", "season": -1, "showtitle": "", "streamdetails": { "audio": [ { "channels": 2, "codec": "mp3", "language": "" } ], "subtitle": [], "video": [ { "aspect": 1.3333330154418946, "codec": "mpeg4", "duration": 2701, "hdrtype": "", "height": 384, "language": "", "stereomode": "", "width": 512 } ] }, "thumbnail": "image://video@C%3a%5cMyCodes%5csamples%5csample-6s.mp4/", "title": "", "tvshowid": -1, "type": "unknown" } } }
解决办法
不需要更换Player.GetItem方法,问题出在直接用Player.Open打开文件时,Kodi未自动触发媒体元数据解析。可通过以下方式解决:
1. 调用Files.GetFileDetails预解析文件信息
在启动播放前或播放后,调用该方法强制Kodi解析文件流信息,参数需指定properties包含streamdetails:
{ "jsonrpc": "2.0", "method": "Files.GetFileDetails", "params": { "file": "c:\\MyCodes\\samples\\sample-6s.mp4", "properties": [ "streamdetails", "thumbnail" ] }, "id": "GetFileDetails" }
返回结果会包含完整的音频、视频参数。
2. 延迟调用Player.GetItem
若必须使用Player.GetItem,可在视频启动后等待1-2秒,待Kodi完成媒体解析后再调用,同样能拿到完整的streamdetails数据。
内容的提问来源于stack exchange,提问作者Szabó Győző
相关产品推荐
相关产品推荐

