Channel Service

From MythTV Official Wiki
Jump to: navigation, search

What is this?

See Services API


Channel Service API List

API Command POST Required? Description
GetChannelInfoList No Get a list of configured channels.
GetChannelInfo No Get info on a specific channel.
UpdateDBChannel Yes Update a specific channel's database information.
AddDBChannel Yes Add a new channel to the database.
RemoveDBChannel Yes Remove a particular channel from the database.
GetVideoSourceList No Get all video sources. Note, usernames/passwords are included.
GetVideoSource No Get individual video source.
UpdateVideoSource Yes Change a specific setting value for a specific video source.
AddVideoSource Yes Add a new video source.
RemoveVideoSource Yes Remove a specific video source.
GetDDLineupList No Get Data Direct lineup.
FetchChannelsFromSource No Get a list of channels for a specific source.
GetVideoMultiplexList No Get a list of all video multiplexes.
GetVideoMultiplex No Get the video multiplexes for a specific multiplex ID.
GetXMLTVIdList No Get a list of XMLTVIDs for a given source ID.

Channel APIs

GetChannelInfoList

The GetChannelInfoList API takes the following arguments:

SourceID (Required)
Parameter Type: Integer
The source ID of the channel of interest.
StartIndex (Optional)
Parameter Type: Integer
Value of the first index to retrieve (zero based.)
Count (Optional)
Parameter Type: Integer
Total number of channels to retrieve.
OnlyVisible (Optional)
Parameter Type: Bool
Only show visible channels?
This parameter is introduced with 0.28. Presume set false to preserve 0.27 behaviour. Its presence does not break 0.27.
Details (Optional)
Parameter Type: Bool
This parameter is introduced with 0.28.
If false it only displays a subset of parameters. ChanId, ChanNum, Callsign, IconURL and ChannelName.
Set true to preserve 0.27 behaviour. Its presence does not break 0.27.
ChannelGroupId (Optional)
Parameter Type: Integer
This parameter is introduced with 30.0.
If set the channel list will only contain channels in the given channel group.
OrderByName (Optional)
Parameter Type: Bool
This parameter is introduced with 30.0.
If true the channel list will be sorted by channel name. The default is to sort by channel number
GroupByCallsign (Optional)
Parameter Type: Bool
This parameter is introduced with 30.0.
If true the channel list will be grouped by CallSign. The default is to group by ChanId.


Example Query:

http://BackendServerIP:6544/Channel/GetChannelInfoList?SourceID=1&StartIndex=1&Count=1&OnlyVisible=false&Details=true

Example Return:

<ChannelInfoList version="1.0" serializerVersion="1.1">
    <StartIndex>1</StartIndex>
    <Count>1</Count>
    <CurrentPage>2</CurrentPage>
    <TotalPages>32</TotalPages>
    <TotalAvailable>32</TotalAvailable>
    <AsOf>2013-02-04T03:02:13Z</AsOf>
    <Version>0.27.20130130-1</Version>
    <ProtoVer>77</ProtoVer>
    <ChannelInfos>
        <ChannelInfo>
        <ChanId>1053</ChanId>
        <ChanNum>5_3</ChanNum>
        <CallSign>NBC5-US</CallSign>
        <IconURL/>
        <ChannelName>NBC5-US</ChannelName>
        <MplexId>5</MplexId>
        <TransportId>1001</TransportId>
        <ServiceId>7</ServiceId>
        <NetworkId>0</NetworkId>
        <ATSCMajorChan>5</ATSCMajorChan>
        <ATSCMinorChan>3</ATSCMinorChan>
        <Format>ATSC</Format>
        <Modulation>8vsb</Modulation>
        <Frequency>563000000</Frequency>
        <FrequencyId>29</FrequencyId>
        <FrequencyTable>default</FrequencyTable>
        <FineTune>0</FineTune>
        <SIStandard>atsc</SIStandard>
        <ChanFilters/>
        <SourceId>1</SourceId>
        <InputId>0</InputId>
        <CommFree>0</CommFree>
        <UseEIT>false</UseEIT>
        <Visible>false</Visible>
        <XMLTVID/><DefaultAuth/>
        <Programs/>
        </ChannelInfo>
        </ChannelInfos>
    </ChannelInfoList>

Note that 0.28pre returns true or false rather than 1 or 0 for CommFree.

Note 30.0 added 'ChannelGroups' to the output if Details is true which is a comma separated list of ChannelGroupIds a channel belongs to.

Note 30.0 added 'Inputs' to the output if Details is true which is a comma separated list of InputIds (encoders) a channel can be received on.

Note: version 31 introduced a new field <ExtraVisible> with values 'Not Visible' or 'Visible'

GetChannelInfo

The GetChannelInfo API takes the following arguments:

ChanID (Required)
Parameter Type: Integer
Specific channel ID, e.g. 1021.


Example Query:

http://BackendServerIP:6544/Channel/GetChannelInfo?ChanID=1002

Example Return:

<?xml version="1.0" encoding="UTF-8"?>
<ChannelInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.06" serializerVersion="1.1">
    <ChanId>1002</ChanId>
    <ChanNum>2</ChanNum>
    <CallSign>BBC TWO</CallSign>
    <IconURL></IconURL>
    <ChannelName>BBC TWO</ChannelName>
    <MplexId>1</MplexId>
    <TransportId>4164</TransportId>
    <ServiceId>4287</ServiceId>
    <NetworkId>9018</NetworkId>
    <ATSCMajorChan>0</ATSCMajorChan>
    <ATSCMinorChan>0</ATSCMinorChan>
    <Format></Format>
    <Modulation></Modulation>
    <Frequency>490000000</Frequency>
    <FrequencyId>23</FrequencyId>
    <FrequencyTable>default</FrequencyTable>
    <FineTune>0</FineTune>
    <SIStandard>dvb</SIStandard>
    <ChanFilters></ChanFilters>
    <SourceId>1</SourceId>
    <InputId>0</InputId>
    <CommFree>0</CommFree>
    <UseEIT>true</UseEIT>
    <Visible>true</Visible>
    <XMLTVID></XMLTVID>
    <DefaultAuth>fp.bbc.co.uk</DefaultAuth>
    <Programs/>
</ChannelInfo>

Note: version 31 introduced a new field <ExtraVisible> with values 'Not Visible' or 'Visible'


UpdateDBChannel

The UpdateDBChannel API is a POST operation which requires a form with the following arguments:

ATSCMajorChannel
ATSCMinorChannel
CallSign
ChannelID
ChannelName
ChannelNumber
DefaultAuthority
ExtraVisible (introduced with version 31)
Format
FrequencyID
Icon
MplexID
ServiceID
SourceID
UseEIT
XMLTVID
Visible

Missing values may take unintended default values.


Example Return:

<?xml version="1.0" encoding="UTF-8"?><bool>true</bool>

AddDBChannel

The AddDBChannel API is a POST operation:

Arguments and response are as per UpdateDBChannel.

RemoveDBChannel

The RemoveDBChannel API is a POST operation which requires a form with only one argument:

ChannelID

GetVideoSourceList

The GetVideoSourceList API takes the following arguments:

None.

Example Query:

http://192.168.1.67:6544/Channel/GetVideoSourceList

Example Return:

<?xml version="1.0" encoding="UTF-8"?>
<VideoSourceList xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0" serializerVersion="1.1">
<AsOf>2015-05-26T20:06:49Z</AsOf>
<Version>0.27.20141016-1</Version>
<ProtoVer>77</ProtoVer>
    <VideoSources>
        <VideoSource>
            <Id>1</Id>
            <SourceName>EIT</SourceName>
            <Grabber>eitonly</Grabber>
            <UserId></UserId>
            <FreqTable>default</FreqTable>
            <LineupId></LineupId>
            <Password></Password>
            <UseEIT>true</UseEIT>
            <ConfigPath></ConfigPath>
            <NITId>-1</NITId>
        </VideoSource>
    </VideoSources>
</VideoSourceList>

GetVideoSource

The GetVideoSource API takes the following arguments:

SourceID

Example Query:

http://192.168.1.67:6544/Channel/GetVideoSource?SourceID=1

Example return:

<<?xml version="1.0" encoding="UTF-8"?>
<VideoSource xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0" serializerVersion="1.1">
    <Id>1</Id>
    <SourceName>EIT</SourceName>
    <Grabber>eitonly</Grabber>
    <UserId></UserId>
    <FreqTable>default</FreqTable>
    <LineupId></LineupId>
    <Password></Password>
    <UseEIT>true</UseEIT>
    <ConfigPath></ConfigPath>
    <NITId>-1</NITId>
</VideoSource>

UpdateVideoSource

The UpdateVideoSource API takes the following arguments:

AddVideoSource

The AddVideoSource API takes the following arguments:

RemoveVideoSource

The RemoveVideoSource API takes the following arguments:

GetDDLineupList

The GetDDLineupList API takes the following arguments:

FetchChannelsFromSource

The FetchChannelsFromSource API takes the following arguments:

GetVideoMultiplexList

The GetVideoMultiplexList API takes the following arguments:

SourceID (mandatory) StartIndex, Count (optional).

Example query: http://192.168.1.67:6544/Channel/GetVideoMultiplexList?SourceID=1&StartIndex=1&Count=1

Example response:

<?xml version="1.0" encoding="UTF-8"?>
<VideoMultiplexList xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0" serializerVersion="1.1">
<StartIndex>1</StartIndex>
<Count>1</Count>
<CurrentPage>2</CurrentPage>
<TotalPages>6</TotalPages>
<TotalAvailable>6</TotalAvailable>
<AsOf>2015-07-23T09:35:03Z</AsOf>
<Version>0.27.20141016-1</Version>
<ProtoVer>77</ProtoVer>
    <VideoMultiplexes>
        <VideoMultiplex>
            <MplexId>2</MplexId>
            <SourceId>1</SourceId>
            <TransportId>8197</TransportId>
            <NetworkId>9018</NetworkId>
            <Frequency>514000000</Frequency>
            <Inversion>a</Inversion>
            <SymbolRate>0</SymbolRate>
            <FEC></FEC>
            <Polarity></Polarity>
            <Modulation></Modulation>
            <Bandwidth>8</Bandwidth>
            <LPCodeRate>1/2</LPCodeRate>
            <HPCodeRate>2/3</HPCodeRate>
            <TransmissionMode>8</TransmissionMode>
            <GuardInterval>1/32</GuardInterval>
            <Visible>false</Visible>
            <Constellation>qam_64</Constellation>
            <Hierarchy>n</Hierarchy>
            <ModulationSystem>1</ModulationSystem>
            <RollOff></RollOff>
            <SIStandard>dvb</SIStandard>
            <ServiceVersion>21</ServiceVersion>
            <UpdateTimeStamp>2012-04-18T07:50:51Z</UpdateTimeStamp>
        <DefaultAuthority></DefaultAuthority>
        </VideoMultiplex>
    </VideoMultiplexes>
</VideoMultiplexList>

GetVideoMultiplex

The GetVideoMultiplex API takes the following arguments:

MplexID

Example query: http://192.168.1.67:6544/Channel/GetVideoMultiplex?MplexID=1

Example response:

<?xml version="1.0" encoding="UTF-8"?>
<VideoMultiplex xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.1" serializerVersion="1.1">
    <MplexId>1</MplexId>
    <SourceId>1</SourceId>
    <TransportId>4164</TransportId>
    <NetworkId>9018</NetworkId>
    <Frequency>490000000</Frequency>
    <Inversion>a</Inversion>
    <SymbolRate>0</SymbolRate>
    <FEC></FEC>
    <Polarity></Polarity>
    <Modulation></Modulation>
    <Bandwidth>8</Bandwidth>
    <LPCodeRate>1/2</LPCodeRate>
    <HPCodeRate>2/3</HPCodeRate>
    <TransmissionMode>8</TransmissionMode>
    <GuardInterval>1/32</GuardInterval>
    <Visible>false</Visible>
    <Constellation>qam_64</Constellation>
    <Hierarchy>n</Hierarchy>
    <ModulationSystem>1</ModulationSystem>
    <RollOff></RollOff>
    <SIStandard>dvb</SIStandard>
    <ServiceVersion>11</ServiceVersion>
    <UpdateTimeStamp>2012-04-18T07:47:54Z</UpdateTimeStamp>
    <DefaultAuthority></DefaultAuthority>
</VideoMultiplex>

GetXMLTVIdList

The GetXMLTVIdList API takes the following arguments:


    SourceID (Required)
        Parameter Type: Integer
        videosource ID number.

Example Query:

http://BE:6544/Channel/GetXMLTVIdList?SourceID=2

Example Return:

<StringList>
    <String>value0</String>
    <String>valueN</String>
</StringList>