Difference between revisions of "Content Service"
m (add category) |
Iamlindoro (talk | contribs) |
||
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
Contents
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:
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:
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:
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:
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:
Example Return:
<?xml version="1.0" encoding="UTF-8"?> <bool>true</bool>