I am trying to integrate a Z1000pro with my C4 based automation project but it looks like the HTTP API is not working properly. In reference to what is documented in the developer section, here's what I have tried. This call works: GET /ZidooControlCenter/getModel (returns player info) but any call from the Player section with fail with: {"status":806,"msg":"The resource does not exist"} For example: GET /ZidooVideoPlay/getPlayStatus I'm running firmware v6.3.40. Has the HTTP API changed in this model? Or in this version of firmware? Thanks in advance for your time RIck
I've a Z9X with v6.3.50 installed and my Home Theater DB Tool uses the Zidoo API V2 -> http://apidoc.zidoo.tv/s/98365225/Gmwqxawu (Google Chrome is your friend for translation). You're using the legacy API -> https://www.zidoo.tv/Support/developer.html Here is a call from postman: GET http://zidoo_z9x:9529/ControlCenter/getModel {"status":200,"model":"Z9X","ip":"192.168.178.75","net_mac":"xx:xx:xx:xx:xx:xx","firmware":"v6.3.50_G","ram":" 2.0G","flash":" 16.0G","androidversion":"9","wif_mac":"02:00:00:00:00:00","language":"en","ableRemoteBoot":true,"ableRemoteShutdown":true,"ableRemoteReboot":true,"ableRemoteSleep":true} I can provide my Postman Collection for Zidoo API V2 if required. My Home Theater DB Tool uses the /ControlCenter/getModel operation to find any Zidoo Player on the network. I've a Z9X, Z9S and X9S. In rare cases it happens that I'm getting a error message only from Z9X . In this cases I'm starting Home Theater on the player and the services are working.
OK so the "ControlCenter" works on my Z1000pro; likewise, the ZidooControlCenter commands. What does NOT work are the VideoPlay calls. Do these work for you? I tried both old and new API, and I get the same error... Thanks Rick
I've figured this out with postman. First you've to start a videofile to get the VideoPlay/* commands working Find and start a videofile with FileControl commands: GET http://zidoo_z9x:9529/FileControl/getDevices?disHost=1 Code: { "status": 200, "devices": [ { "name": "Flash", "path": "/storage/emulated/0", "type": 1000 }, { "name": "NFS", "type": 1004, "id": 1004, "path": "/mnt/nfs/", "hosts": [ { "name": "192.168.178.200", "ip": "192.168.178.200", "type": 1006 } ] } ] } GET http://zidoo_z9x:9529/FileControl/getHost?path=/mnt/nfs/192.168.178.200#Pool&type=1000&hidefile=1 Code: { "status": 200, "isExists": true, "perentPath": "/mnt/nfs/192.168.178.200#Pool", "filelist": [ { "name": "Filme", "type": 0, "path": "%2Fmnt%2Fnfs%2F192.168.178.200%23Pool%2FFilme", "isBDMV": false, "isBluray": false, "length": 0, "modifyDate": 1637228764000 }, { "name": "Musik", "type": 0, "path": "%2Fmnt%2Fnfs%2F192.168.178.200%23Pool%2FMusik", "isBDMV": false, "isBluray": false, "length": 0, "modifyDate": 1636573180000 }, { "name": "Serien", "type": 0, "path": "%2Fmnt%2Fnfs%2F192.168.178.200%23Pool%2FSerien", "isBDMV": false, "isBluray": false, "length": 0, "modifyDate": 1636385099000 }, { "name": "TEMP", "type": 0, "path": "%2Fmnt%2Fnfs%2F192.168.178.200%23Pool%2FTEMP", "isBDMV": false, "isBluray": false, "length": 0, "modifyDate": 1636390443000 } ] } GET http://zidoo_z9x:9529/FileControl/getFileList?path=/mnt/nfs/192.168.178.200#Pool/Filme/Mad Max Filmreihe&type=0&hidefile=1 Code: { "status": 200, "isExists": true, "perentPath": "/mnt/nfs/192.168.178.200#Pool/Filme/Mad Max Filmreihe", "filelist": [ { "name": "Mad.Max.2.The.Road.Warrior.1981.COMPLETE.UHD.BLURAY-**********-clearlogo.png", "type": 3, "path": "%2Fmnt%2Fnfs%2F192.168.178.200%23Pool%2FFilme%2FMad+Max+Filmreihe%2FMad.Max.2.The.Road.Warrior.1981.COMPLETE.UHD.BLURAY-**********-clearlogo.png", "isBDMV": false, "isBluray": false, "length": 167909, "modifyDate": 1637228348000 }, { "name": "Mad.Max.2.The.Road.Warrior.1981.COMPLETE.UHD.BLURAY-**********-fanart.jpg", "type": 3, "path": "%2Fmnt%2Fnfs%2F192.168.178.200%23Pool%2FFilme%2FMad+Max+Filmreihe%2FMad.Max.2.The.Road.Warrior.1981.COMPLETE.UHD.BLURAY-**********-fanart.jpg", "isBDMV": false, "isBluray": false, "length": 932608, "modifyDate": 1637228344000 }, { "name": "Mad.Max.2.The.Road.Warrior.1981.COMPLETE.UHD.BLURAY-**********-mediainfo.xml", "type": 12, "path": "%2Fmnt%2Fnfs%2F192.168.178.200%23Pool%2FFilme%2FMad+Max+Filmreihe%2FMad.Max.2.The.Road.Warrior.1981.COMPLETE.UHD.BLURAY-**********-mediainfo.xml", "isBDMV": false, "isBluray": false, "length": 97287, "modifyDate": 1637228181000 }, { "name": "Mad.Max.2.The.Road.Warrior.1981.COMPLETE.UHD.BLURAY-**********-poster.jpg", "type": 3, "path": "%2Fmnt%2Fnfs%2F192.168.178.200%23Pool%2FFilme%2FMad+Max+Filmreihe%2FMad.Max.2.The.Road.Warrior.1981.COMPLETE.UHD.BLURAY-**********-poster.jpg", "isBDMV": false, "isBluray": false, "length": 436030, "modifyDate": 1637228334000 }, { "name": "Mad.Max.2.The.Road.Warrior.1981.COMPLETE.UHD.BLURAY-**********.iso", "type": 2, "path": "%2Fmnt%2Fnfs%2F192.168.178.200%23Pool%2FFilme%2FMad+Max+Filmreihe%2FMad.Max.2.The.Road.Warrior.1981.COMPLETE.UHD.BLURAY-**********.iso", "isBDMV": false, "isBluray": true, "length": 61175824384, "modifyDate": 1637182792000 }, { "name": "Mad.Max.2.The.Road.Warrior.1981.COMPLETE.UHD.BLURAY-**********.nfo", "type": 12, "path": "%2Fmnt%2Fnfs%2F192.168.178.200%23Pool%2FFilme%2FMad+Max+Filmreihe%2FMad.Max.2.The.Road.Warrior.1981.COMPLETE.UHD.BLURAY-**********.nfo", "isBDMV": false, "isBluray": false, "length": 13388, "modifyDate": 1637228530000 }, { "name": "Mad.Max.Beyond.Thunderdome.1985.COMPLETE.UHD.BLURAY-**********-clearlogo.png", "type": 3, "path": "%2Fmnt%2Fnfs%2F192.168.178.200%23Pool%2FFilme%2FMad+Max+Filmreihe%2FMad.Max.Beyond.Thunderdome.1985.COMPLETE.UHD.BLURAY-**********-clearlogo.png", "isBDMV": false, "isBluray": false, "length": 159421, "modifyDate": 1637228312000 }, { "name": "Mad.Max.Beyond.Thunderdome.1985.COMPLETE.UHD.BLURAY-**********-fanart.jpg", "type": 3, "path": "%2Fmnt%2Fnfs%2F192.168.178.200%23Pool%2FFilme%2FMad+Max+Filmreihe%2FMad.Max.Beyond.Thunderdome.1985.COMPLETE.UHD.BLURAY-**********-fanart.jpg", "isBDMV": false, "isBluray": false, "length": 219220, "modifyDate": 1637228308000 }, { "name": "Mad.Max.Beyond.Thunderdome.1985.COMPLETE.UHD.BLURAY-**********-mediainfo.xml", "type": 12, "path": "%2Fmnt%2Fnfs%2F192.168.178.200%23Pool%2FFilme%2FMad+Max+Filmreihe%2FMad.Max.Beyond.Thunderdome.1985.COMPLETE.UHD.BLURAY-**********-mediainfo.xml", "isBDMV": false, "isBluray": false, "length": 84475, "modifyDate": 1637228182000 }, { "name": "Mad.Max.Beyond.Thunderdome.1985.COMPLETE.UHD.BLURAY-**********-poster.jpg", "type": 3, "path": "%2Fmnt%2Fnfs%2F192.168.178.200%23Pool%2FFilme%2FMad+Max+Filmreihe%2FMad.Max.Beyond.Thunderdome.1985.COMPLETE.UHD.BLURAY-**********-poster.jpg", "isBDMV": false, "isBluray": false, "length": 534439, "modifyDate": 1637228303000 }, { "name": "Mad.Max.Beyond.Thunderdome.1985.COMPLETE.UHD.BLURAY-**********.iso", "type": 2, "path": "%2Fmnt%2Fnfs%2F192.168.178.200%23Pool%2FFilme%2FMad+Max+Filmreihe%2FMad.Max.Beyond.Thunderdome.1985.COMPLETE.UHD.BLURAY-**********.iso", "isBDMV": false, "isBluray": true, "length": 60039626752, "modifyDate": 1637186069000 }, { "name": "Mad.Max.Beyond.Thunderdome.1985.COMPLETE.UHD.BLURAY-**********.nfo", "type": 12, "path": "%2Fmnt%2Fnfs%2F192.168.178.200%23Pool%2FFilme%2FMad+Max+Filmreihe%2FMad.Max.Beyond.Thunderdome.1985.COMPLETE.UHD.BLURAY-**********.nfo", "isBDMV": false, "isBluray": false, "length": 13185, "modifyDate": 1637228530000 } ] } Start a videofile with play mode 0 (0 = Movie / 1 = BD Menu) GET http://zidoo_z9x:9529/FileControl/openFile?path=/mnt/nfs/192.168.178.200#Pool/Filme/Mad+Max+Filmreihe/Mad.Max.2.The.Road.Warrior.1981.COMPLETE.UHD.BLURAY-**********.iso&videoplaymode=0
Find and start a videofile with Poster commands: GET http://zidoo_z9x:9529/Poster/v2/searchAggregation?q=Mad Max II&type=1&start=0&count=-1 Code: { "status": 200, "key": "Mad Max II", "start": 0, "count": -1, "searchType": 1, "movies": [ { "keyName": { "filterName": "Mad Max II - Der Vollstrecker", "keyArrays": [ { "count": 3, "start": 0 }, { "count": 1, "start": 3 }, { "count": 3, "start": 4 }, { "count": 1, "start": 7 }, { "count": 2, "start": 8 } ], "keyNumber": 5, "start": 0 }, "aggregation": { "id": 3314, "parentId": 735, "collectionId": -1, "aggregationId": 1008, "type": 1, "favor": false, "lock": true, "voteAverage": 7.6, "name": "Mad Max II - Der Vollstrecker", "isBluRay": true, "is3d": false, "is4k": true } } ], "allSize": 1, "movieSize": 1, "tvSize": 0, "collectionSize": 0 } GET http://zidoo_z9x:9529/Poster/v2/getDetail?id=3314 Code: { "aggregation": { "id": 3314, "parentId": 735, "collectionId": -1, "aggregationId": 1008, "type": 1, "favor": false, "lock": true, "voteAverage": 7.6, "name": "Mad Max II - Der Vollstrecker", "isBluRay": true, "is3d": false, "is4k": true, "watched": false, "aggregation": { "actors": "36355 42473 42474 42475 42476 42477 42478 42479 42480 42481 42482 42483 42484 42485 42486 42487 42488 42489 42490 42491 42492", "adult": false, "backdropPath": "/Filme/Mad Max Filmreihe/Mad.Max.2.The.Road.Warrior.1981.COMPLETE.UHD.BLURAY-**********-fanart.jpg", "certification": "FSK 18", "collectionId": 19, "dataType": 1, "directors": "104", "displayRating": 7.6, "displayRatingCount": 173660, "displayRatingType": 2, "genres": "1 5 7 6", "id": 1008, "imdbId": "tt0082694", "logo": "/Filme/Mad Max Filmreihe/Mad.Max.2.The.Road.Warrior.1981.COMPLETE.UHD.BLURAY-**********-clearlogo.png", "order": 0, "originalTitle": "Mad Max 2", "overview": "Das Ende der Zivilisation steht bevor. Brutale Motorrad-Gangs diktieren das Geschehen. Für einen Tropfen Benzin, sind sie bereit zu töten. Auch die Familie des Ex-Polizisten Max wurde ermordet. Auf der Suche nach Benzin gelangt er zu einer heiß umkämpften Raffinerie, zu der er sich Zugang verschafft. Die Leute dort planen den Ausbruch mit einem riesigen Benzintank, um irgendwo ein neues Leben zu beginnen. Max soll dafür einen Sattelschlepper besorgen und ihn samt Tank steuern. Als sich die Tore öffnen, beginnt eine höllische Jagd auf Leben und Tod.", "popularity": 0, "posterPath": "/Filme/Mad Max Filmreihe/Mad.Max.2.The.Road.Warrior.1981.COMPLETE.UHD.BLURAY-**********-poster.jpg", "productionCompanies": "Kennedy Miller Productions", "productionCountries": "Australien", "ratingTomatoes": "94%", "releaseDate": "1982-08-27", "revenue": 0, "runtime": 95, "sortTitle": "", "spokenLanguages": "Englisch", "tag": 0, "tagLine": "", "title": "Mad Max II - Der Vollstrecker", "tmdbId": 8810, "video": false, "videoIds": "", "videoUpdateTag": 0, "videoUpdateTime": 0, "voteAverage": 7.6, "voteCount": 173660 }, "aggregations": [{ "id": 3320, "parentId": 3314, "collectionId": -1, "aggregationId": 1572, "type": 0, "favor": false, "lock": false, "voteAverage": 0, "name": "Mad.Max.2.The.Road.Warrior.1981.COMPLETE.UHD.BLURAY-**********.iso", "isBluRay": true, "is3d": false, "is4k": true, "watched": false, "aggregation": { "addedTime": 1637231984708, "aggregationId": -1, "deviceId": 1, "duration": 0, "id": 1572, "lastWatchTime": -1, "mediaInfos": "\u0000\u0002\u0000\u0001\u0001\u0001", "mediaJsonTag": 0, "modifiedTime": 1637231984708, "name": "Mad.Max.2.The.Road.Warrior.1981.COMPLETE.UHD.BLURAY-**********.iso", "playPoint": 0, "sources": "1", "state": 2, "types": 5, "uri": "/Filme/Mad Max Filmreihe/Mad.Max.2.The.Road.Warrior.1981.COMPLETE.UHD.BLURAY-**********.iso" }, "aggregations": [] } ] }, "countries": "Australien", "displayCountry": "Australien", "displayLanguage": "", "vote": { "weightedVote": 7.6, "voteAverage": 1319816, "voteType": 1, "count": 173660, "ratingTomatoes": "94" } } GET http://zidoo_z9x:9529/Poster/v2/playVideo?id=1572&type=0 start the videofile with the aggregationId 1572 with play mode 0 (0 = Movie / 1 = BD Menu)
Starting a videofile activates the VideoPlayer commands GET http://zidoo_z9x:9529/VideoPlay/changeStatus?status=0 status: -1 = Stop / 0 = Pause / 1 = Play other commands: http://{{host}}/VideoPlay/downloadSubtitle?position=0 http://{{host}}/VideoPlay/getAudioList http://{{host}}/VideoPlay/getDownloadSubtitleLanguage http://{{host}}/VideoPlay/getDownloadSubtitleList?name=&languageIndex=0 http://{{host}}/VideoPlay/getPlaylist http://{{host}}/VideoPlay/getPlayModeList http://{{host}}/VideoPlay/getPlayRecord http://{{host}}/VideoPlay/getPlayStatus http://{{host}}/VideoPlay/getSubtitleList http://{{host}}/VideoPlay/getZoomList http://{{host}}/VideoPlay/playVideo?index=0 http://{{host}}/VideoPlay/seekTo?positon=300000 position: time in ms http://{{host}}/VideoPlay/spaceSeekTo?forward=1&space=10000 forward: 0 = Rewind / 1 = Fast Forward , space: time in ms http://{{host}}/VideoPlay/setAudio?index=0 see getAudioList http://{{host}}/VideoPlay/setPlayMode?index=1 http://{{host}}/VideoPlay/setSubtitle?index=1 http://{{host}}/VideoPlay/setZoom?index=1
Thanks a lot @McBluna ! However, this doesn't help with my needs. Let's assume the user starts a movie, I would like to poll the player and get what's currently playing, without having to select a movie myself using the API. This would be used in a home automation system to know what is playing on a tv, if something is playing. I expected the API to be able to return this info, regardless how the movie was launched, but it doesn't seem the case... Thanks anyway for your time! Appreciate it. Rick
GET http://zidoo_z9x:9529/VideoPlay/getPlaylist Code: { "status": 200, "size": 1, "currentIndex": 0, "playlist": [ { "title": "Mad Max II - Der Vollstrecker", "index": 0 } ] } GET http://zidoo_z9x:9529/VideoPlay/getPlayStatus Code: { "status": 200, "video": { "status": 1, "title": "Mad Max II - Der Vollstrecker", "path": "/mnt/nfs/192.168.178.200#Pool/Filme/Mad Max Filmreihe/Mad.Max.2.The.Road.Warrior.1981.COMPLETE.UHD.BLURAY-***********.iso", "currentPosition": 86073, "duration": 5728000, "width": 3840, "height": 2160, "fps": 23.97599983215332, "formt": "H.265", "filesize": "56.97 GiB", "bitrate": "90.0 Mb/s", "output": "1920x1080P @ 60Hz RGB 8 Bits ITU 709 ", "subtitleInfo": "Off (0/24)", "audioInfo": "German Dolby Digital 5.1 channel 48.0KHz (5/16)" }, "subtitle": { "index": 0, "information": "Off (0/24)" }, "audio": { "index": 4, "information": "German Dolby Digital 5.1 channel 48.0KHz (5/16)" }, "playMode": { "index": 0, "information": "Off" }, "zoom": { "index": 1, "information": "Fit" }, "3D": { "index": 0, "information": "2D", "isMvc3D": false } }
@McBluna as I said in my first post , this does not work for me. I started a movie manually then (space after http added or the forum doesn't allow me to post): GET http: //192.168.166.241:9529/VideoPlay/getPlayStatus Code: {"status":806,"msg":"The resource does not exist"} Can you please try starting a movie manually (from remote) and calling getPlayStatus? Are you getting status 806 as well? I suspect Z1000pro has some issues with API.... Thanks Rick
I've tested in parallel on X9S, Z9S and Z9X. Before I've started a movie: GET http://zidoo-x9s:9529/VideoPlay/getPlayStatus Code: {"status":806,"msg":"The resource does not exist"} GET http://zidoo-z9s:9529/VideoPlay/getPlayStatus Code: {"status":806,"msg":"The resource does not exist"} GET http://zidoo-z9x:9529/VideoPlay/getPlayStatus Code: {"status":806,"msg":"The resource does not exist"} I've started the movie via remote control on all the 3 players at the same time: GET http://zidoo-x9s:9529/VideoPlay/getPlayStatus Code: {"status":200,"video":{"status":1,"title":"Mad.Max.2.The.Road.Warrior.1981.COMPLETE.UHD.BLURAY-***********","path":"\/mnt\/nfs\/192.168.178.200#Pool\/Filme\/Mad Max Filmreihe\/Mad.Max.2.The.Road.Warrior.1981.COMPLETE.UHD.BLURAY-***********.iso","currentPosition":8174,"duration":5728000,"width":3840,"height":2160,"fps":23.97599983215332,"formt":"H.265","filesize":"","bitrate":"","output":"","subtitleInfo":"Off (0\/24)","audioInfo":"German Dolby Digital 5.1 channel 48.0KHz (5\/16)"},"subtitle":{"index":0,"information":"Off (0\/24)"},"audio":{"index":4,"information":"German Dolby Digital 5.1 channel 48.0KHz (5\/16)"},"playMode":{"index":4,"information":"All"},"zoom":{"index":1,"information":"Fit"},"3D":{"index":0,"information":"2D","isMvc3D":false}} GET http://zidoo-z9s:9529/VideoPlay/getPlayStatus Code: {"status":200,"video":{"status":1,"title":"Mad.Max.2.The.Road.Warrior.1981.COMPLETE.UHD.BLURAY-***********","path":"\/mnt\/nfs\/192.168.178.200#Pool\/Filme\/Mad Max Filmreihe\/Mad.Max.2.The.Road.Warrior.1981.COMPLETE.UHD.BLURAY-***********.iso","currentPosition":9676,"duration":5728000,"width":3840,"height":2160,"fps":23.97599983215332,"formt":"H.265","filesize":"56.97 GiB","bitrate":"85.4 Mb\/s","output":"1920x1080P @ 60Hz RGB 8 Bits ITU 709 ","subtitleInfo":"English PGS (1\/24)","audioInfo":"English Dolby Digital 5.1 channel 48.0KHz (1\/16)"},"subtitle":{"index":1,"information":"English PGS (1\/24)"},"audio":{"index":0,"information":"English Dolby Digital 5.1 channel 48.0KHz (1\/16)"},"playMode":{"index":0,"information":"Off"},"zoom":{"index":1,"information":"Fit"},"3D":{"index":0,"information":"2D","isMvc3D":false}} GET http://zidoo-z9x:9529/VideoPlay/getPlayStatus Code: {"status":200,"video":{"status":1,"title":"Mad Max II - Der Vollstrecker","path":"\/mnt\/nfs\/192.168.178.200#Pool\/Filme\/Mad Max Filmreihe\/Mad.Max.2.The.Road.Warrior.1981.COMPLETE.UHD.BLURAY-***********.iso","currentPosition":448531,"duration":5728000,"width":3840,"height":2160,"fps":23.97599983215332,"formt":"H.265","filesize":"56.97 GiB","bitrate":"90.0 Mb\/s","output":"1920x1080P @ 60Hz RGB 8 Bits ITU 709 ","subtitleInfo":"Off (0\/24)","audioInfo":"German Dolby Digital 5.1 channel 48.0KHz (5\/16)"},"subtitle":{"index":0,"information":"Off (0\/24)"},"audio":{"index":4,"information":"German Dolby Digital 5.1 channel 48.0KHz (5\/16)"},"playMode":{"index":0,"information":"Off"},"zoom":{"index":1,"information":"Fit"},"3D":{"index":0,"information":"2D","isMvc3D":false}}
@McBluna guess what, I tried again and it works ... probably when I first tried and got the 806 status I didn't think to try running a movie, I thought it should have reported a different and more meaningful error eg. "no movie is playing" or something like it... Anyway, thanks for your precious help! Take care Rick
the 806 message comes from the videoplayer app. In case no video is running the app has no resource to access.