api:iptv:basechannel:list
Table of Contents
API : IPTV : Base Channel : List
Introduction
Base channels are the TV channels that the platform provides. These are used by resellers for creating subscription packages that customers can subscribe to.
This will list the base channels.
Request
| URL | https://api.telecomx.dk/iptv/basechannel | |
|---|---|---|
| Method | GET | |
| Access level | VIEWER, MANAGER, OWNER, RESELLER RESELLER_ADMIN or ADMIN | |
| Query | offset | [optional] Index of the first base channel to return, default 0. |
| limit | [optional] The number of base channels to return, default 100, min 1, max 500. |
|
| filter | [optional] To filter the base channels, this can be used. Name is searched. |
|
| full | [optional] If true, complete base channel settings object will be returned instead of the condensed version (ADMIN only). |
|
Query examples
https://api.telecomx.dk/iptv/basechannel https://api.telecomx.dk/iptv/basechannel?offset=25&limit=50&filter=c-more&full=true
Response
| JSON object | |
|---|---|
| offset | Index of the first base channel returned. |
| limit | Number of base channels to return. Note that the actual number of base channels returned may be lower. |
| total | Number of base channels that can be returned when offset and limit is not considered. This is to be used for paging through the data. |
| baseChannels | Array of base channels, see definition below. |
| BaseChannel object (JSON) | ||
|---|---|---|
| _id | Number | Unique channel ID. |
| name | String | Name of channel. |
| hd | Boolean | True if channel is in HD. |
| archive | Boolean | True if channel allows archive. |
| record | Boolean | True if channel allows nPVR recording. |
| BaseChannel object if full=true and user is ADMIN (JSON) | |||
|---|---|---|---|
| _id | Number | Unique id of the TV channel carrying this show. | |
| name | String | Name of channel. | |
| hd | Boolean | True if channel is in HD. | |
| record | Boolean | True if channel allows nPVR recording. | |
| archive | Boolean | True if channel allows archive/catchup/timeshift. | |
| archiveDays | Number | Number of days to archive for this channel. | |
| archivePath | String | Path where archive is stored on disk. | |
| archiveForwardScrub | Boolean | True if channel allows forward scrubbing during 48 hours catchup. | |
| archiveBackwardScrub | Boolean | True if channel allows backward scrubbing during 48 hours catchup. | |
| archivePause | Boolean | True if channel allows pausing during 48 hours catchup playback. | |
| disableErrorNotification | Boolean | True to disable error notification when channel is down. | |
| disableNoAudioMonitor | Boolean | True if channel has periods with no sound. | |
| sdhSubtitleTrack | String | Name of the SDH subtitle track, if any. | |
| epgId | Array | List of ID's from EPG sources that will match this channel. Note that multiple channels may match the same source (TV2). | |
| useFlussonicCentral | Boolean | If true, then the archive servers will use the central servers as source of truth for recordings, and no longer its local locks. | |
| ssdCache | Object | SSD cache settings. | |
| ssdCache.stb | Object | SSD cache settings for STB servers. | |
| ssdCache.stb.path | String | Path to SSD cache disk, if used. | |
| ssdCache.stb.disk | Number | Max number of bytes the cache may use. | |
| ssdCache.stb.time | Number | Number of seconds before expiring cache. | |
| ssdCache.app | Object | SSD cache settings for APP servers. | |
| ssdCache.app.path | String | Path to SSD cache disk, if used. | |
| ssdCache.app.disk | Number | Max number of bytes the cache may use. | |
| ssdCache.app.time | Number | Number of seconds before expiring cache. | |
| streamers | Object | Streaming servers | |
| streamers.app | Array | List of ids of appstreamX.powernet.tv servers that serves the live app version of this channel. | |
| streamers.stb | Array | List of ids of stbstreamX.powernet.tv servers that serves the live STB version of this channel. | |
| streamers.archive | Array | List of ids of archiveX.powernet.tv servers that serves the catchup for this channel. | |
| streamers.relay | Array | List of ids of streamX.powernet.tv servers that servers a live version of this channel. | |
| headEnd | Object | Sat tuner settings. | |
| headEnd.id | Number | Headend unit that handles this channel. | |
| headEnd.sid | Number | Stream id for this channel. | |
| headEnd.tuner.module | Number | Module number that receives the channel. | |
| headEnd.tuner.port | Number | RF port that is used. | |
| headEnd.tuner.config | String | Configuration: DVB-C, DVB-S, DVB-S2, DVB-T, DVB-T2. | |
| headEnd.tuner.frequency | Number | Frequency. | |
| headend.tuner.symbolRate | Number | Symbol rate (DVB-S) or bandwidth (DVB-T). | |
| headend.tuner.polarisation | String | Polarisation: V or H. | |
| headend.tuner.diseqc | Number | DiSEqC switch port, 0 if not using diseqc (DVB-S/S2 only). | |
| headEnd.descrambler.module | Number | Module number that descrambles the channel, 0-6, 0=no descrambling. | |
| headEnd.descrambler.card | Number | Id of card used for decoding 0-4, 0=no descrambling. | |
| headEnd.output | String | URL for the raw headend stream. | |
| transcoders | Array | List of transcoders that handles this channel. | |
| transcoders[]._id | ObjectId | Unique id for tracking changes. | |
| transcoders[].id | Number | Transcoder HW unit. | |
| transcoders[].type | String | Type of transcoder: CHINA or NVIDIA. | |
| transcoders[].gpu | Number | Id of Nvidia card to use: 0-3 (type NVIDIA only). | |
| transcoders[].input | Object | Input settings | |
| transcoders[].input.id | Number | Id of the input on the transcoder (type CHINA only). | |
| transcoders[].input.pids | Array | List of PID's to allow on input. | |
| transcoders[].input.url | String | Url for the source of the channel. | |
| transcoders[].input.url2 | String | Url for the backup source for the channel. | |
| transcoders[].encoder | Object | Encoder settings | |
| transcoders[].encoder.id | Number | Id of physical encoder - 1-8 (type CHINA only). | |
| transcoders[].encoder.audio | Object | Audio settings | |
| transcoders[].encoder.audio.bitrate | Number | Audio bitrate: 0, 32, 48, 64, 96, 128, 224, 256, 320, 384, 448, 512, 640, 768, 896, 1024. 0=copy on NVIDIA. | |
| transcoders[].encoder.audio.gain | Number | Audio gain level: 0-400 (type CHINA only). | |
| transcoders[].encoder.audio.downmix | Boolean | True if audio should be down mixed to stereo. | |
| transcoders[].encoder.video | Array | List of video outputs | |
| transcoders[].encoder.video[].format | String | Video format: Type CHINA: MPEG2 VBR, MPEG2 CBR, H.264 VBR, H.264 CBR Type NVIDIA: H.264 VBR, H.265 VBR. | |
| transcoders[].encoder.video[].h264Profile | String | H.264 profile: Base, Main, High (format H.264 only). | |
| transcoders[].encoder.video[].pFrame | Number | Distance between p-frames, 0-30 (type CHINA only). | |
| transcoders[].encoder.video[].bFrame | Number | B frames - 1-3 (type CHINA only). | |
| transcoders[].encoder.video[].bitrate | Number | Video target bitrate. | |
| transcoders[].encoder.video[].maxBitrate | Number | Max video bitrate, 0 = Auto (type CHINA only). | |
| transcoders[].encoder.video[].resolution | String | Resolution of output: Type CHINA: <width>*<height>@<frame-rate><i/p>. Type NVIDIA: <width>*<height>. | |
| transcoders[].encoder.video[].preset | String | Preset: none, bd, default, ll, llhq, loseless, loselesshq, medium, veryfast, zerolatency (type NVIDIA) | |
| transcoders[].encoder.video[].strategy | String | Strategy: none, crop, fit, scale (type NVIDIA). | |
| transcoders[].output | Object | Output settings | |
| transcoders[].output.bitrate | Number | Active bitrate (type CHINA) or constant bitrate (type NVIDIA). | |
| transcoders[].output.subtitle | Boolean | True to include subtitle tracks. | |
| transcoders[].output.subtitleOcr | Boolean | True to transform subtitle tracks to WebVTT (type NVIDIA only). | |
| transcoders[].output.deinterlacer | Boolean | True to de-interlace video. | |
| transcoders[].output.url | String | URL to push the transcoded stream to. | |
| transcoders[].output.url2 | String | Optional secondary URL to push the transcoded stream(s) to. | |
| transcoders[].output.type | String | What the output is used for: APP - multibitrate for apps and web STB - single high quality for STB's APP_STB - apps, web and STB's. | |
| relays | Array | List of configurations for relay servers | |
| relays[].quality | String | The quality of the stream, example: l, h, q. It will be appended to the final stream name on the transcoder. | |
| relays[].protocol | String | The streaming protocol used, example: m4f, tshttp, m4s | |
| relays[].videoTrack | Number | The video track to use from the transcoder. | |
| relays[].audioTrack | Number | The audio track to use from the transcoder. Defaults to 1 | |
| relays[].extraTracks | String | Extra tracks to add. Optional | |
Note that properties holding no value may be omitted from the object.
Example - normal
{ offset: 10, limit: 10, total: 23, baseChannels: [ { _id: 7, name: 'TV2 (lorry)', hd: true, archive: true, record: true, headEnd: 3, transcoder: 18, disableErrorNotification: false }, { ... } ] }
Example - full=true
{ offset: 10, limit: 10, total: 23, baseChannels: [ { _id: 1, number: 1, name 'DR1', hd: true, archive: true, archiveForwardScrubbing: true, archiveBackwardScrubbing: true, archivePause: true, disableErrorNotification: false, disableNoAudioMonitor: false, record: true, useFlussonicCentral: false, streamers: { stb: [ 1, 2 ], app: [ 1, 2 ], archive: [ 1, 2 ], relay: [ 1, 2 ] }, epgId: [ '362.xmltv', '1401.ritzau' ], headEnd: { id: 1, sid: 4802, tuner: { module: 1, port: 3, config: 'DVB-S2', frequency: 10872, symbolRate: 25000, polarisation: 'V', diseqc: 0 }, descrambler: { id: 5, card: 1 }, output: 'udp://239.239.1.17:1234' }, transcoders: [ { _id: '12345678901234567890ABCD', id: 6, type: 'CHINA', input: { id: 7, pids: [], url: 'udp://239.239.1.17:1234' }, encoder: { id: 5, audio: { bitrate: 128, gain: 0, downmix: true }, video: [ { format: 'H.264 VBR', h264Profile: 'High', pFrame: 12, bFrame: 3, bitrate: 7000, maxBitrate: 10000, resolution: '1280*720@50p' } ] }, output: { bitrate: 9000, subtitle: true, url: 'udp://239.1.16.17:1234', type: 'STB' } }, { _id: '12345678901234567890ABCE', id: 32, type: 'NVIDIA', gpu: 0, input: { id: 3, pids: [ 1234,2354 ], url: 'udp://239.239.1.17:1234' }, encoder: { audio: { bitrate: 128, downmix: true }, video: [ { format: 'H.264 VBR', h264Profile: 'Main', bitrate: 700, resolution: '320*180' }, { format: 'H.264 VBR', h264Profile: 'Main', bitrate: 2000, resolution: '640*360' }, { format: 'H.264 VBR', h264Profile: 'Main', bitrate: 4800, resolution: '1280*720' } ] }, output: { bitrate: 9000, subtitle: true, subtitleOcr: true, url: 'udp://239.1.17.17:1234', type: 'APP' } } ], relays: [ { quality: 'h', videoTrack: 3, audioTrack: 1, extraTracks: t2, protocol: 'm4f' } ] }, { ... } ] }
Errors
| Error code | Message | Description |
|---|---|---|
| 403 | access_denied | Insufficient access level |
| 500 | internal_error | <Unspecified> |
api/iptv/basechannel/list.txt · Last modified: 2025/03/21 10:58 by Joakim Andersen