User Tools

Site Tools


api:iptv:basechannel:create

API : IPTV : Base Channel : Create

Introduction

This request will create a base channel.

Request

URL https://api.telecomx.dk/iptv/basechannel
Method POST
Access level ADMIN.
Body _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 id's of appstreamX.powernet.tv servers that servers the live app version of this channel.
streamers.stb Array List of id's of stbstreamX.powernet.tv servers that servers the live STB version of this channel.
streamers.archive Array List of id's of archiveX.powernet.tv servers that servers the catchup for this channel.
streamers.relay Array List of id's of relayX.powernet.tv servers that serves 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 for the transcoded stream.
transcoders[].output.url2 String Optional URL to push the transcoded stream 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

Query example

{
  _id: 1,
  number: 1,
  name 'DR1',
  hd: true,
  archive: true,
  archiveDays: 8,
  archivePath: '/mnt/archive1',
  archiveForwardScrubbing: true,
  archiveBackwardScrubbing: true,
  archivePause: true,
  disableErrorNotification: false,
  disableNoAudioMonitor: false,
  sdhSubtitleTrack: null,
  record: true,
  streamers: {
    stb: [ 1, 2 ],
    app: [ 1, 2 ],
    archive: [ 1, 2 ],
    relay: [ 1, 2 ]
  },
  epgId: [
    '362.xmltv',
    '1401.ritzau'
  ],
  useFlussonicCentral: false,
  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'
    },
   ]
}

Response

The newly created base channel.

JSON object
_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).
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 servers the catchup for this channel.
streamers.relay Array List of ids of relayX.powernet.tv servers that serves 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

{
  _id: 1,
  number: 1,
  name 'DR1',
  hd: true,
  archive: true,
  archiveDays: 8,
  archivePath: '/mnt/archive1',
  archiveForwardScrubbing: true,
  archiveBackwardScrubbing: true,
  archivePause: true,
  disableErrorNotification: false,
  disableNoAudioMonitor: false,
  sdhSubtitleTrack: null,
  record: true,
  streamers: {
    stb: [ 1, 2 ],
    app: [ 1, 2 ],
    archive: [ 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'
      }
    }
  ]
}

Errors

Error code Message Description
422 _id Id out of valid scope
409 _id Channel id is already in use
422 name Name is invalid or missing
422 stbStreams Invalid URL detected
422 drmStreams Invalid URL detected
422 epgId Invalid EPG id detected
422 headEnd.tuner.moduleId Invalid or missing id
422 headend.output Invalid URL
422 transcoders[].id Invalid id
422 transcoders[].input.url Invalid input id
422 transcoders[].input.url Invalid URL
422 transcoders[].coder.id Invalid coder id
422 transcoders[].coder.audioBitrate Invalid audio bit rate
422 transcoders[].coder.videoFormat Invalid video format
422 transcoders[].coder.videoBitrate Invalid video bit rate
422 transcoders[].coder.totalBitrate Invalid total bit rate
422 transcoders[].coder.resolution Invalid resolution
422 transcoders[].coder.pFrame Invalid P-Frame value
422 transcoders[].coder.bFrame Invalid B-Frame value
422 transcoders[].coder.h264Profile Invalid H.264 profile
422 transcoders[].coder.audioGain Invalid audio gain
422 transcoders[].output Invalid URL
422 transcoders[].outputType Invalid output type
422 relays.quality Each stream/configuration quality must be unique
403 access_denied Insufficient access level
500 internal_error <Unspecified>
api/iptv/basechannel/create.txt · Last modified: 2025/03/21 10:59 by Joakim Andersen

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki