User Tools

Site Tools


api:iptv:basechannel:list

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

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki