Difference between revisions of "Content Service"

From MythTV Official Wiki
Jump to: navigation, search
m (add category)
Line 63: Line 63:
 
| align="center"  | Yes
 
| align="center"  | Yes
 
| Instruct the backend to download a remote file into a storage group.
 
| Instruct the backend to download a remote file into a storage group.
 
+
|-
 +
| style="background:silver" | [[Content_Service#AddLiveStream | AddLiveStream]]
 +
| style="background:silver" align="center" | No
 +
| style="background:silver" | Start a HTTP Live Stream transcode for a given file and storage group.
 +
|-
 +
| [[Content_Service#AddRecordingLiveStream | AddRecordingLiveStream]]
 +
| align="center"  | No
 +
| Start a HTTP Live Stream transcode for a given ChanId and StartTime.
 +
|-
 +
| style="background:silver" | [[Content_Service#AddVideoLiveStream | AddVideoLiveStream]]
 +
| style="background:silver" align="center" | No
 +
| style="background:silver" | Start a HTTP Live Stream transcode for a given Video ID.
 +
|-
 +
| [[Content_Service#GetLiveStream | GetLiveStream]]
 +
| align="center"  | No
 +
| Get the stream status data for a given HTTP Live Stream.
 +
|-
 +
| style="background:silver" | [[Content_Service#GetLiveStreamList | GetLiveStreamList]]
 +
| style="background:silver" align="center" | No
 +
| style="background:silver" | Get the stream status data for all available HTTP Live Streams.
 +
|-
 +
| [[Content_Service#StopLiveStream | StopLiveStream]]
 +
| align="center"  | No
 +
| Stop transcoding a given HTTP Live Stream.
 +
|-
 +
| style="background:silver" | [[Content_Service#RemoveLiveStream | RemoveLiveStream]]
 +
| style="background:silver" align="center" | No
 +
| style="background:silver" | Stop a given HTTP Live Stream, and remove the transcoded files.
 
|}
 
|}
 
</center>
 
</center>

Revision as of 21:20, 2 December 2011

Content Service API List

API Command POST Required? Description
GetFile No Download a given file from a given storage group.
GetImageFile No Display, and optionally scale, an image file from a given storage group.
GetFileList No Get a list of files in a specified storage group.
GetRecordingArtwork No Display, and optionally scale, an image file of a given type (coverart, banner, fanart) for a given recording's inetref and season number.
GetRecordingArtworkList No Display a list of artwork available for a recording by start time and channel id.
GetProgramArtworkList No Display a list of artwork available for a program by inetref and season.
GetVideoArtwork No Display, and optionally scale, an image file of a given type (coverart, banner, fanart) for a given video's database id number.
GetAlbumArt No Display, and optionally scale, the album art for a given music file's database id number.
GetPreviewImage No Display, and optionally scale, an preview thumbnail for a given recording by timestamp, chanid and starttime.
GetRecording No Download a given recording file by chanid and starttime.
GetMusic No Download a given music file by database id.
GetVideo No Download a given video by database id.
GetHash No Perform a unique identifying hash on a given file in a given storage group.
DownloadFile Yes Instruct the backend to download a remote file into a storage group.
AddLiveStream No Start a HTTP Live Stream transcode for a given file and storage group.
AddRecordingLiveStream No Start a HTTP Live Stream transcode for a given ChanId and StartTime.
AddVideoLiveStream No Start a HTTP Live Stream transcode for a given Video ID.
GetLiveStream No Get the stream status data for a given HTTP Live Stream.
GetLiveStreamList No Get the stream status data for all available HTTP Live Streams.
StopLiveStream No Stop transcoding a given HTTP Live Stream.
RemoveLiveStream No Stop a given HTTP Live Stream, and remove the transcoded files.

Content APIs

GetFile

The GetFile API takes the following arguments:

StorageGroup (Required)
Parameter Type: String
The Storage Group name in which you wish to search for the file.
FileName (Required)
Parameter Type: String
The filename (and relative path if necessary) of the file you wish to receive.

Example Query:

http://BackendServerIP:6544/Content/GetFile?StorageGroup=Recordings&FileName=244001_20110922210000.mpg

Example Return:

The return for this command is a binary file which will be interpreted by your browser and downloaded or displayed as appropriate.

GetImageFile

The GetImageFile API takes the following arguments:

StorageGroup (Required)
Parameter Type: String
The Storage Group name in which you wish to search for the file.
FileName (Required)
Parameter Type: String
The filename (and relative path if necessary) of the file you wish to receive.
Width (Optional)
Parameter Type: Integer
The scaled width to return the image. To preserve proper aspect, you may want to specify only one of width or height.
Height (Optional)
Parameter Type: Integer
The scaled height to return the image. To preserve proper aspect, you may want to specify only one of width or height.

Example Query:

http://BackendServerIP:6544/Content/GetImageFile?StorageGroup=Fanart&FileName=9461_fanart.jpg&Width=200

Example Return:

The return for this command is a binary file which will be interpreted by your browser and downloaded or displayed as appropriate.

GetFileList

The GetFileList API takes the following arguments:

StorageGroup (Required)
Parameter Type: String
The Storage Group name for which you wish to see a list of files.

Example Query:

http://BackendServerIP:6544/Content/GetFileList?StorageGroup=Fanart

Example Return:

<?xml version="1.0" encoding="UTF-8"?>
<QStringList>
    <String>10020_fanart.jpg</String>
    <String>10074_fanart.jpg</String>
    <String>10126_fanart.jpg</String>
    <String>10138_fanart.jpg</String>
    <String>10139_fanart.jpg</String>
    <String>10140_fanart.jpg</String>
    <String>10189_fanart.jpg</String>
    <String>10191_fanart.jpg</String>
    <String>10192_fanart.jpg</String>
    <String>10196_fanart.jpg</String>
</QStringList>

GetRecordingArtwork

The GetRecordingArtwork API takes the following arguments:

Inetref (Required)
Parameter Type: String
The inetref for the recording you are looking up. This information is available in the Program construct, which can be queried in the DVR Service.
Type (Optional)
Parameter Type: String
The type of artwork you wish to download. Valid types are coverart, fanart, and banner. If no type is present, the query will fall back to coverart.
Season (Optional)
Parameter Type: Integer
The season number of the artwork you wish to receive. If no season number is present, the query will fall back to the latest available season.
Width (Optional)
Parameter Type: Integer
The scaled width to return the image. To preserve proper aspect, you may want to specify only one of width or height.
Height (Optional)
Parameter Type: Integer
The scaled height to return the image. To preserve proper aspect, you may want to specify only one of width or height.

Example Query:

http://BackendServerIP:6544/Content/GetRecordingArtwork?Inetref=80552&Type=fanart&Season=2

Example Return:

The return for this command is a binary file which will be interpreted by your browser and downloaded or displayed as appropriate.

GetRecordingArtworkList

The GetRecordingArtwork API takes the following arguments:

ChanId (Required)
Parameter Type: Integer
The database channel id for the recording.
StartTime (Required)
Parameter Type: String
The recording start time for the item. This should be in MySQL ISO format, eg: 2011-08-29 18:59:00. You can replace the space with %20 or T.

Example Query:

http://BackendServerIP:6544/Content/GetRecordingArtworkList?ChanId=3123&StartTime=2011-01-01T09:00:00

Example Return:

<ArtworkInfoList version="1.0" serializerVersion="1.1">
    <ArtworkInfos>
        <ArtworkInfo>
            <URL>/Content/GetRecordingArtwork?InetRef=210841&Season=1&Type=coverart</URL>
            <FileName>myth://Coverart@192.168.0.99:6543/Alphas Season 1_coverart.jpg</FileName>
            <StorageGroup>Coverart</StorageGroup>
            <Type>coverart</Type>
        </ArtworkInfo>
        <ArtworkInfo>
            <URL>/Content/GetRecordingArtwork?InetRef=210841&Season=1&Type=fanart</URL>
            <FileName>myth://Fanart@192.168.0.99:6543/Alphas Season 1_fanart.jpg</FileName>
            <StorageGroup>Fanart</StorageGroup>
            <Type>fanart</Type>
        </ArtworkInfo>
        <ArtworkInfo>
            <URL>/Content/GetRecordingArtwork?InetRef=210841&Season=1&Type=banner</URL>
            <FileName>myth://Banners@192.168.0.99:6543/Alphas Season 1_banner.jpg</FileName>
            <StorageGroup>Banners</StorageGroup>
            <Type>banner</Type>
        </ArtworkInfo>
    </ArtworkInfos>
</ArtworkInfoList>

GetProgramArtworkList

The GetRecordingArtwork API takes the following arguments:

Inetref (Required)
Parameter Type: String
The inetref for the recording you are looking up. This information is available in the Program construct, which can be queried in the DVR Service.
Season (Optional)
Parameter Type: Integer
The season number of the artwork you wish to receive. If no season number is present, the query will fall back to the latest available season.

Example Query:

http://BackendServerIP:6544/Content/GetRecordingArtwork?Inetref=80552&Type=fanart&Season=2

Example Return:

<ArtworkInfoList version="1.0" serializerVersion="1.1">
    <ArtworkInfos>
        <ArtworkInfo>
            <URL>/Content/GetRecordingArtwork?InetRef=210841&Season=1&Type=coverart</URL>
            <FileName>myth://Coverart@192.168.0.99:6543/Alphas Season 1_coverart.jpg</FileName>
            <StorageGroup>Coverart</StorageGroup>
            <Type>coverart</Type>
        </ArtworkInfo>
        <ArtworkInfo>
            <URL>/Content/GetRecordingArtwork?InetRef=210841&Season=1&Type=fanart</URL>
            <FileName>myth://Fanart@192.168.0.99:6543/Alphas Season 1_fanart.jpg</FileName>
            <StorageGroup>Fanart</StorageGroup>
            <Type>fanart</Type>
        </ArtworkInfo>
        <ArtworkInfo>
            <URL>/Content/GetRecordingArtwork?InetRef=210841&Season=1&Type=banner</URL>
            <FileName>myth://Banners@192.168.0.99:6543/Alphas Season 1_banner.jpg</FileName>
            <StorageGroup>Banners</StorageGroup>
            <Type>banner</Type>
        </ArtworkInfo>
    </ArtworkInfos>
</ArtworkInfoList>

GetVideoArtwork

The GetVideoArtwork API takes the following arguments:

Id (Required)
Parameter Type: String
The database id for the video you are looking up. This information is available in the VideoMetadataInfo construct, which can be queried in the Video Service.
Type (Optional)
Parameter Type: String
The type of artwork you wish to download. Valid types are coverart, fanart, and banner. If no type is present, the query will fall back to coverart.
Width (Optional)
Parameter Type: Integer
The scaled width to return the image. To preserve proper aspect, you may want to specify only one of width or height.
Height (Optional)
Parameter Type: Integer
The scaled height to return the image. To preserve proper aspect, you may want to specify only one of width or height.

Example Query:

http://BackendServerIP:6544/Content/GetVideoArtwork?Id=100&Type=fanart

Example Return:

The return for this command is a binary file which will be interpreted by your browser and downloaded or displayed as appropriate.

GetAlbumArt

The GetAlbumArt API takes the following arguments:

Id (Required)
Parameter Type: String
The database id for the album you are looking up.
Width (Optional)
Parameter Type: Integer
The scaled width to return the image. To preserve proper aspect, you may want to specify only one of width or height.
Height (Optional)
Parameter Type: Integer
The scaled height to return the image. To preserve proper aspect, you may want to specify only one of width or height.

Example Query:

http://BackendServerIP:6544/Content/GetAlbumArt?Id=585

Example Return:

The return for this command is a binary file which will be interpreted by your browser and downloaded or displayed as appropriate.

GetPreviewImage

The GetPreviewImage API takes the following arguments:

ChanId (Required)
Parameter Type: Integer
The database channel id for the recording.
StartTime (Required)
Parameter Type: String
The recording start time for the item. This should be in MySQL ISO format, eg: 2011-08-29 18:59:00. You can replace the space with %20 or T.
Width (Optional)
Parameter Type: Integer
The scaled width to return the image. To preserve proper aspect, you may want to specify only one of width or height.
Height (Optional)
Parameter Type: Integer
The scaled height to return the image. To preserve proper aspect, you may want to specify only one of width or height.
SecsIn (Optional)
Parameter Type: Integer
The number of seconds into the recording to fast forward before generating a preview image.

Example Query:

http://BackendServerIP:6544/Content/GetPreviewImage?ChanId=34736&StartTime=2011-08-29T18:59:00

Example Return:

The return for this command is a binary file which will be interpreted by your browser and downloaded or displayed as appropriate.

GetRecording

The GetRecording API takes the following arguments:

ChanId (Required)
Parameter Type: Integer
The database channel id for the recording.
StartTime (Required)
Parameter Type: String
The recording start time for the item. This should be in MySQL ISO format, eg: 2011-08-29 18:59:00. You can replace the space with %20 or T.

Example Query:

http://BackendServerIP:6544/Content/GetRecording?ChanId=34736&StartTime=2011-08-29T18:59:00

Example Return:

The return for this command is a binary file which will be interpreted by your browser and downloaded or displayed as appropriate.

GetVideo

The GetVideo API takes the following arguments:

Id (Required)
Parameter Type: String
The database id for the video file.

Example Query:

http://BackendServerIP:6544/Content/GetVideo?Id=100

Example Return:

The return for this command is a binary file which will be interpreted by your browser and downloaded or displayed as appropriate.

GetMusic

The GetMusic API takes the following arguments:

Id (Required)
Parameter Type: String
The database id for the music file.

Example Query:

http://BackendServerIP:6544/Content/GetMusic?Id=100

Example Return:

The return for this command is a binary file which will be interpreted by your browser and downloaded or displayed as appropriate.

GetHash

The GetHash API takes the following arguments:

StorageGroup (Required)
Parameter Type: String
The Storage Group name in which you wish to search for the file.
FileName (Required)
Parameter Type: String
The filename (and relative path if necessary) of the file you wish to hash.

Example Query:

http://BackendServerIP:6544/Content/GetHash?StorageGroup=Recordings&FileName=244001_20110922210000.mpg

Example Return:

<?xml version="1.0" encoding="UTF-8"?>
<QString>c80767b59e4d96d2</QString>

DownloadFile

The DownloadFile API takes the following arguments:

StorageGroup (Required)
Parameter Type: String
The Storage Group name to which you wish to download the file.
URL (Required)
Parameter Type: String
The URL that you wish to download.

Example Query:

http://BackendServerIP:6544/Content/DownloadFile?StorageGroup=Videos&URL=http://www.mythtv.org/index.html

Example Return:

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