api:iptv:app:recording_play
Table of Contents
API : IPTV : App : Recording play
Introduction
This request is used by the iOS/Android apps and web clients to get the streaming url for playing a program the user has recorded.
This is also used by the system to track that the device is now playing the program, so it's important to call Recording stop when playback ends.
Request
| URL | https://api.telecomx.dk/iptv/app/recording/EPG_ID/play | ||
|---|---|---|---|
| Method | GET | ||
| Params | EPG_ID | Id | Id of the program to start streaming. |
| Query | token | String | Session token. |
| lat | Number | GPS Latitude position in decimal format. Report if possible. | |
| long | Number | GPS Longitude position in decimal format. Report if possible. | |
| mode | String | [optional] Specifies type of streams to return: DASH, HLS or ALL for both. |
|
| profile | ObjectId | ID of the user profile to play the recording for, defaults to first user profile. | |
Query examples
https://api.telecomx.dk/iptv/app/recording/7_46rtg37tg3tyfg/play?token=123456780123456780ABCD&token=1234567890ABCD1234567890 https://api.telecomx.dk/iptv/app/recording/7_46rtg37tg3tyfg/play?token=123456780123456780ABCD&lat=55.345435&long=23.347656 https://api.telecomx.dk/iptv/app/recording/7_46rtg37tg3tyfg/play?mode=ALL&token=123456780123456780ABCD&lat=55.345435&long=23.347656
Response
| JSON object | ||
|---|---|---|
| airplay | Boolean | True if device may airplay the video. |
| pause | Boolean | True if the UI may permit pause and resume (timeshift on live). |
| forward | Boolean | True if the UI may permit scrubbing forward in time. |
| backwards | Boolean | True if the UI may permit scrubbing backwards in time. |
| position | Number | During archived or recorded playback, if playback has been stopped this is the position in seconds it was stopped. This used to present the use with the choice of playback from the beginning or resuming from where the user left off. Null if no position exists. |
| sdhSubtitleTrack | String | Name of subtitle track for hearing-impaired. |
| epgId | string | Id of the program being played. |
| epgStart | Date | Date and time the program starts. |
| drm | Object | DRM settings, if channel uses DRM. |
| drm.assetId | String | DRM asset id. |
| drm.fairplayLicenseUrl | String | URL to fetch FairPlay licenses from. |
| drm.fairplayCertificateUrl | String | URL to fetch the FairPlay certificate from. |
| drm.widevineLicenseUrl | String | URL to fetch WideVine licenses from. |
| drm.playreadyLicenseUrl | String | URL to fetch PlayReady licenses from. |
| streams | Array | List of URL's the stream is available from in the format specified in mode. Not used if mode is set. Always use the first, only move on to the next if streaming does not begin. |
| hls | String | HLS stream to playback. Only used if mode is ALL or HLS. |
| dash | String | DASH stream to playback. Only used if mode is ALL or HLS. |
Example - mode not set
{ "airplay": true, "pause": true, "forward": false, "backwards": true, "position": 0, "epgId": "7_5647564575", "epgStart": "2020-01-01T00:00:00.000Z", "sdhSubtitleTrack": "t1", "drm": { "assetId": "C72E747F-2224-E24B-2899-854665662AB7", "fairplayLicenseUrl": "https://fps.drmprovider.com/api/licenses/ASSETID?streamToken=TOKEN", "widevineLicenseUrl": "https://widevine.drmprovider.com?pX=5678945&streamToken=TOKEN", "playreadyLicenseUrl": "https://playready.drmprovider.com?px?pX=5763579&streamToken=TOKEN", "fairplayCertificateUrl": "https://api.powernet.tv/iptv/playmakerfairplay.cer" }, "streams": [ "https://str01.powernet.tv/7/index.m3u8?key=43567823td23tyfdgjiewqghucvbjkdshj&start=2017-01-01T00:00:00.000Z&end=2017-01-01T01:00:00.000Z", "https://str02.powernet.tv/7/index.m3u8?key=43567823td23tyfdgjiewqghucvbjkdshj&start=2017-01-01T00:00:00.000Z&end=2017-01-01T01:00:00.000Z", "https://str03.powernet.tv/7/index.m3u8?key=43567823td23tyfdgjiewqghucvbjkdshj&start=2017-01-01T00:00:00.000Z&end=2017-01-01T01:00:00.000Z" ] }
Example - mode=ALL
{ "airplay": true, "pause": true, "forward": false, "backwards": true, "position": 0, "epgId": "7_4657564756", "epgStart": "2020-01-01T00:00:00.000Z", "drm": { "assetId": "C72E747F-2224-E24B-2899-854665662AB7", "fairplayLicenseUrl": "https://fps.drmprovider.com/api/licenses/ASSETID?streamToken=TOKEN", "widevineLicenseUrl": "https://widevine.drmprovider.com?pX=5678945&streamToken=TOKEN", "playreadyLicenseUrl": "https://playready.drmprovider.com?px?pX=5763579&streamToken=TOKEN", "fairplayCertificateUrl": "https://api.powernet.tv/iptv/playmakerfairplay.cer" }, "hls": "https://str01.powernet.tv/7/index-125436575-3600.m3u8?key=43567823td23tyfdgjiewqghucvbjkdshj", "dash": "https://str02.powernet.tv/7/Manifest-125436575-3600.mpd?key=43567823td23tyfdgjiewqghucvbjkdshj" }
Errors
| Error code | Message | Description |
|---|---|---|
| 404 | program | Program not found |
| 403 | geoblock | The device is outside the region where playback is permitted |
| 409 | program | Program has not been recorded yet |
| 403 | access_denied | Insufficient access level |
| 500 | internal_error | <Unspecified> |
api/iptv/app/recording_play.txt · Last modified: 2022/12/05 12:03 by Joakim Andersen