Difference between revisions of "Video Service"

From MythTV Official Wiki
Jump to: navigation, search
m (add category)
(UpdateVideoMetadata)
 
(3 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 +
=What is this?=
 +
See [[Services API]]
 +
 +
 
=Video Service API List=
 
=Video Service API List=
  
Line 27: Line 31:
 
| style="background:silver" align="center" | Yes
 
| style="background:silver" align="center" | Yes
 
| style="background:silver" | Remove a single video from the database by database id.
 
| style="background:silver" | Remove a single video from the database by database id.
|-  
+
|-
 
| [[Video_Service#LookupVideo | LookupVideo]]
 
| [[Video_Service#LookupVideo | LookupVideo]]
 
| align="center"  | No
 
| align="center"  | No
Line 35: Line 39:
 
| style="background:silver" align="center" | No
 
| style="background:silver" align="center" | No
 
| style="background:silver" | Query technical data for a Blu-ray disc or folder.
 
| style="background:silver" | Query technical data for a Blu-ray disc or folder.
 +
|-
 +
| [[Video_Service#UpdateVideoMetadata | UpdateVideoMetadata]]
 +
| align="center"  | Yes
 +
| Updates the metadata of a video
 +
|-
 
|}
 
|}
 
</center>
 
</center>
Line 357: Line 366:
 
     <BDPlusHandled>false</BDPlusHandled>
 
     <BDPlusHandled>false</BDPlusHandled>
 
</BlurayInfo>  
 
</BlurayInfo>  
 +
</pre>
 +
 +
==UpdateVideoMetadata==
 +
 +
{{VersionNote|0.29|This method requires 0.29 or later}}
 +
 +
The <span style="color:LimeGreen">UpdateVideoMetadata</span> API takes the following arguments:
 +
 +
:<span style="color:SteelBlue">Id</Span> ('''Required''')
 +
:: '''Parameter Type:''' Integer
 +
:: The ID of the video to change metadata.
 +
 +
:<span style="color:SteelBlue">Title</Span> ('''Optional''')
 +
:: '''Parameter Type:''' String
 +
:: The new title.
 +
 +
:<span style="color:SteelBlue">SubTitle</Span> ('''Optional''')
 +
:: '''Parameter Type:''' String
 +
:: The new subtitle.
 +
 +
:<span style="color:SteelBlue">TagLine</Span> ('''Optional''')
 +
:: '''Parameter Type:''' String
 +
:: The new TagLine.
 +
 +
:<span style="color:SteelBlue">Director</Span> ('''Optional''')
 +
:: '''Parameter Type:''' String
 +
:: The new Director.
 +
 +
:<span style="color:SteelBlue">Studio</Span> ('''Optional''')
 +
:: '''Parameter Type:''' String
 +
:: The new Studio.
 +
 +
:<span style="color:SteelBlue">Plot</Span> ('''Optional''')
 +
:: '''Parameter Type:''' String
 +
:: The new Plot.
 +
 +
:<span style="color:SteelBlue">Rating</Span> ('''Optional''')
 +
:: '''Parameter Type:''' String
 +
:: The new Rating.
 +
 +
:<span style="color:SteelBlue">Inetref</Span> ('''Optional''')
 +
:: '''Parameter Type:''' String
 +
:: The new Inetref.
 +
 +
:<span style="color:SteelBlue">CollectionRef</Span> ('''Optional''')
 +
:: '''Parameter Type:''' Integer
 +
:: The new CollectionRef.
 +
 +
:<span style="color:SteelBlue">HomePage</Span> ('''Optional''')
 +
:: '''Parameter Type:''' String
 +
:: The new HomePage.
 +
 +
:<span style="color:SteelBlue">Year</Span> ('''Optional''')
 +
:: '''Parameter Type:''' Integer
 +
:: The new Year.
 +
 +
:<span style="color:SteelBlue">ReleaseDate</Span> ('''Optional''')
 +
:: '''Parameter Type:''' Date
 +
:: The new ReleaseDate.
 +
 +
:<span style="color:SteelBlue">UserRating</Span> ('''Optional''')
 +
:: '''Parameter Type:''' Float
 +
:: The new UserRating.
 +
 +
:<span style="color:SteelBlue">Length</Span> ('''Optional''')
 +
:: '''Parameter Type:''' Integer
 +
:: The new Length.
 +
 +
:<span style="color:SteelBlue">PlayCount</Span> ('''Optional''')
 +
:: '''Parameter Type:''' Integer
 +
:: The new PlayCount.
 +
 +
:<span style="color:SteelBlue">Season</Span> ('''Optional''')
 +
:: '''Parameter Type:''' Integer
 +
:: The new Season.
 +
 +
:<span style="color:SteelBlue">Episode</Span> ('''Optional''')
 +
:: '''Parameter Type:''' Integer
 +
:: The new Episode.
 +
 +
:<span style="color:SteelBlue">ShowLevel</Span> ('''Optional''')
 +
:: '''Parameter Type:''' Integer
 +
:: The new ShowLevel.
 +
 +
:<span style="color:SteelBlue">FileName</Span> ('''Optional''')
 +
:: '''Parameter Type:''' String
 +
:: The new FileName.
 +
 +
:<span style="color:SteelBlue">Hash</Span> ('''Optional''')
 +
:: '''Parameter Type:''' String
 +
:: The new Hash.
 +
 +
:<span style="color:SteelBlue">CoverFile</Span> ('''Optional''')
 +
:: '''Parameter Type:''' String
 +
:: The new CoverFile.
 +
 +
:<span style="color:SteelBlue">ChildID</Span> ('''Optional''')
 +
:: '''Parameter Type:''' Integer
 +
:: The new ChildID.
 +
 +
:<span style="color:SteelBlue">Browse</Span> ('''Optional''')
 +
:: '''Parameter Type:''' Boolean
 +
:: The new Browse flag.
 +
 +
:<span style="color:SteelBlue">Watched</Span> ('''Optional''')
 +
:: '''Parameter Type:''' Boolean
 +
:: The new Watched flag.
 +
 +
:<span style="color:SteelBlue">Processed</Span> ('''Optional''')
 +
:: '''Parameter Type:''' Boolean
 +
:: The new Processed flag.
 +
 +
:<span style="color:SteelBlue">PlayCommand</Span> ('''Optional''')
 +
:: '''Parameter Type:''' String
 +
:: The new PlayCommand.
 +
 +
:<span style="color:SteelBlue">Category</Span> ('''Optional''')
 +
:: '''Parameter Type:''' Integer
 +
:: The new Category ID.
 +
 +
:<span style="color:SteelBlue">Trailer</Span> ('''Optional''')
 +
:: '''Parameter Type:''' String
 +
:: The new Trailer.
 +
 +
:<span style="color:SteelBlue">Host</Span> ('''Optional''')
 +
:: '''Parameter Type:''' String
 +
:: The new Host.
 +
 +
:<span style="color:SteelBlue">Screenshot</Span> ('''Optional''')
 +
:: '''Parameter Type:''' String
 +
:: The new Screenshot.
 +
 +
:<span style="color:SteelBlue">Banner</Span> ('''Optional''')
 +
:: '''Parameter Type:''' String
 +
:: The new Banner.
 +
 +
:<span style="color:SteelBlue">Fanart</Span> ('''Optional''')
 +
:: '''Parameter Type:''' String
 +
:: The new Fanart.
 +
 +
:<span style="color:SteelBlue">InsertDate</Span> ('''Optional''')
 +
:: '''Parameter Type:''' Date
 +
:: The new InsertDate.
 +
 +
:<span style="color:SteelBlue">ContentType</Span> ('''Optional''')
 +
:: '''Parameter Type:''' String
 +
:: The new ContentType. Valid values are 'MOVIE','TELEVISION','ADULT','MUSICVIDEO','HOMEVIDEO'
 +
 +
:<span style="color:SteelBlue">Genres</Span> ('''Optional''')
 +
:: '''Parameter Type:''' String
 +
:: The new comma separated list of Genres.
 +
 +
:<span style="color:SteelBlue">Cast</Span> ('''Optional''')
 +
:: '''Parameter Type:''' String
 +
:: The new comma separated list of Cast members.
 +
 +
:<span style="color:SteelBlue">Countries</Span> ('''Optional''')
 +
:: '''Parameter Type:''' String
 +
:: The new comma separated list of Countries.
 +
 +
Example Query:
 +
 +
<code>http://BackendServerIP:6544/Video/UpdateVideoMetadata?Id=1234&Title=Star+Wars&Year=1977</code>
 +
 +
Example Return:
 +
 +
Returns a boolean value.  True if the metadata successfully updated, false if the update failed for any reason.
 +
 +
<pre>
 +
<bool>true</bool>
 
</pre>
 
</pre>
  
 
[[Category:Services_API]]
 
[[Category:Services_API]]

Latest revision as of 13:44, 19 March 2017

What is this?

See Services API


Video Service API List

API Command POST Required? Description
GetVideoList No Get a list of videos and their metadata.
GetVideo No Get a single video's metadata by database id.
GetVideoByFileName No Get a single video's metadata by filename.
AddVideo Yes Add a new filename to the video database.
RemoveVideoFromDB Yes Remove a single video from the database by database id.
LookupVideo No Perform an online metadata lookup for a given title, subtitle, inetref, season, or episode number.
GetBluray No Query technical data for a Blu-ray disc or folder.
UpdateVideoMetadata Yes Updates the metadata of a video

Video APIs

GetVideoList

The GetVideoList API takes the following arguments:

Descending (Optional)
Parameter Type: Boolean
Whether to return results in ascending or descending order.
StartIndex (Optional)
Parameter Type: Integer
The first index number to return.
Count (Optional)
Parameter Type: Integer
The number of records to return.

Example Query:

http://BackendServerIP:6544/Video/GetVideoList?StartIndex=100&Count=1

Example Return:

<?xml version="1.0" encoding="UTF-8"?>
<VideoMetadataInfoList version="1.01" serializerVersion="1.1">
<StartIndex>100</StartIndex>
<Count>1</Count>
<CurrentPage>101</CurrentPage>
<TotalPages>1656</TotalPages>
<TotalAvailable>1656</TotalAvailable>
<AsOf>2011-10-02T21:03:35</AsOf>
<Version>0.25.20110928-1</Version>
<ProtoVer>69</ProtoVer>
<VideoMetadataInfos>
    <VideoMetadataInfo>
        <Id>106</Id>
        <Title>Men In Black</Title>
        <SubTitle></SubTitle>
        <Tagline>Protecting the Earth from the scum of the universe.</Tagline>
        <Director>Barry Sonnenfeld</Director>
        <Studio>Amblin Entertainment</Studio>
        The American science fiction comedy about a conspiracy theory. Two secret agents are searching the streets for aliens in this blockbuster film that earned 590 million dollars at the box-office and birthed a sequel; Men in Black II.
        <Certification>PG-13</Certification>
        <Inetref>607</Inetref>
        <HomePage>http://www.themoviedb.org/movie/607</HomePage>
        <ReleaseDate>1997-07-01T00:00:00</ReleaseDate>
        <AddDate>2010-06-03T00:00:00</AddDate>
        <UserRating>7</UserRating>
        <Length>98</Length>
        <Season>0</Season>
        <Episode>0</Episode>
        <ParentalLevel>3</ParentalLevel>
        <Visible>true</Visible>
        <Watched>false</Watched>
        <Processed>true</Processed>
        <FileName>Men in Black.mkv</FileName>
        <Hash>22be408157d11281</Hash>
        <HostName>holmes</HostName>
        <Coverart>607_coverart.jpg</Coverart>
        <Fanart>607_fanart.jpg</Fanart>
        <Banner></Banner>
        <Screenshot></Screenshot>
        <Trailer></Trailer>
    </VideoMetadataInfo>
</VideoMetadataInfos>
</VideoMetadataInfoList>

GetVideo

The GetVideo API takes the following arguments:

Id (Required)
Parameter Type: Integer
The database id of the requested metadata record.

Example Query:

http://BackendServerIP:6544/Video/GetVideo?Id=106

Example Return:

<VideoMetadataInfo>
    <Id>106</Id>
    <Title>Men In Black</Title>
    <SubTitle></SubTitle>
    <Tagline>Protecting the Earth from the scum of the universe.</Tagline>
    <Director>Barry Sonnenfeld</Director>
    <Studio>Amblin Entertainment</Studio>
    The American science fiction comedy about a conspiracy theory. Two secret agents are searching the streets for aliens in this blockbuster film that earned 590 million dollars at the box-office and birthed a sequel; Men in Black II.
    <Certification>PG-13</Certification>
    <Inetref>607</Inetref>
    <HomePage>http://www.themoviedb.org/movie/607</HomePage>
    <ReleaseDate>1997-07-01T00:00:00</ReleaseDate>
    <AddDate>2010-06-03T00:00:00</AddDate>
    <UserRating>7</UserRating>
    <Length>98</Length>
    <Season>0</Season>
    <Episode>0</Episode>
    <ParentalLevel>3</ParentalLevel>
    <Visible>true</Visible>
    <Watched>false</Watched>
    <Processed>true</Processed>
    <FileName>Men in Black.mkv</FileName>
    <Hash>22be408157d11281</Hash>
    <HostName>holmes</HostName>
    <Coverart>607_coverart.jpg</Coverart>
    <Fanart>607_fanart.jpg</Fanart>
    <Banner></Banner>
    <Screenshot></Screenshot>
    <Trailer></Trailer>
</VideoMetadataInfo>

GetVideoByFileName

The GetVideoByFileName API takes the following arguments:

FileName (Required)
Parameter Type: String
The filename of the requested metadata record.

Example Query:

http://BackendServerIP:6544/Video/GetVideoByFileName?FileName=Men%20in%20Black.mkv

Example Return:

<VideoMetadataInfo>
    <Id>106</Id>
    <Title>Men In Black</Title>
    <SubTitle></SubTitle>
    <Tagline>Protecting the Earth from the scum of the universe.</Tagline>
    <Director>Barry Sonnenfeld</Director>
    <Studio>Amblin Entertainment</Studio>
    The American science fiction comedy about a conspiracy theory. Two secret agents are searching the streets for aliens in this blockbuster film that earned 590 million dollars at the box-office and birthed a sequel; Men in Black II.
    <Certification>PG-13</Certification>
    <Inetref>607</Inetref>
    <HomePage>http://www.themoviedb.org/movie/607</HomePage>
    <ReleaseDate>1997-07-01T00:00:00</ReleaseDate>
    <AddDate>2010-06-03T00:00:00</AddDate>
    <UserRating>7</UserRating>
    <Length>98</Length>
    <Season>0</Season>
    <Episode>0</Episode>
    <ParentalLevel>3</ParentalLevel>
    <Visible>true</Visible>
    <Watched>false</Watched>
    <Processed>true</Processed>
    <FileName>Men in Black.mkv</FileName>
    <Hash>22be408157d11281</Hash>
    <HostName>holmes</HostName>
    <Coverart>607_coverart.jpg</Coverart>
    <Fanart>607_fanart.jpg</Fanart>
    <Banner></Banner>
    <Screenshot></Screenshot>
    <Trailer></Trailer>
</VideoMetadataInfo>

AddVideo

The AddVideo API takes the following arguments:

FileName (Required)
Parameter Type: String
The filename (including relative path from the root of the video storage group) to be added to the database.
HostName (Required)
Parameter Type: String
The backend hostname where the file can be found.

Example Query:

http://BackendServerIP:6544/Video/AddVideo?FileName=300.mkv&HostName=localhost

Example Return:

Returns a boolean value. True if the file was successfully added, false if the insert failed for any reason.

<bool>true</bool>

RemoveVideoFromDB

The RemoveVideoFromDB API takes the following arguments:

Id (Required)
Parameter Type: Integer
The database id of the metadata record to be removed.

Example Query:

http://BackendServerIP:6544/Video/RemoveVideoFromDB?Id=106

Example Return:

Returns a boolean value. True if the file was successfully removed, false if the removal failed for any reason.

<bool>true</bool>

LookupVideo

The LookupVideo API takes the following arguments:

Title (Required)
Parameter Type: String
The title to be looked up.
Subtitle (Optional)
Parameter Type: String
The subtitle to be looked up.
Inetref (Optional)
Parameter Type: String
The internet reference number to be looked up.
Season (Optional)
Parameter Type: Integer
The season to be looked up.
Episode (Optional)
Parameter Type: Integer
The episode number to be looked up.

Example Query:

http://BackendServerIP:6544/Video/LookupVideo?Title=Family%20Guy&Subtitle=Pilot

Example Return:

<?xml version="1.0" encoding="UTF-8"?>
<VideoLookupList version="1.0" serializerVersion="1.1">
<Count>1</Count>
<AsOf>2011-10-02T21:28:33</AsOf>
<Version>0.25.20110928-1</Version>
<ProtoVer>69</ProtoVer>
<VideoLookups>
    <VideoLookup>
        <Title>Family Guy</Title>
        <SubTitle></SubTitle>
        <Season>1</Season>
        <Episode>1</Episode>
        <Year>1999</Year>
        <Tagline></Tagline>
        Sick, twisted, politically incorrect and Freakin' Sweet animated series featuring the adventures of the dysfunctional Griffin family. Bumbling Peter and long-suffering Lois have three kids. Stewie (a brilliant but sadistic baby bent on killing his mother and taking over the world), Meg (the oldest, and is the most unpopular girl in town) and Chris (the middle kid, he's not very bright but has a passion for movies). The final member of the family is Brian - a talking dog and much more than a pet, he keeps Stewie in check whilst sipping Martinis and sorting through his own life issues.
        <Certification></Certification>
        <Inetref>75978</Inetref>
        <HomePage></HomePage>
        <ReleaseDate>1999-01-31T00:00:00</ReleaseDate>
        <UserRating>0</UserRating>
        <Length>0</Length>
        <Language>en</Language>
        <Countries/>
        <Popularity>0</Popularity>
        <Budget>0</Budget>
        <Revenue>0</Revenue>
        <IMDB>0182576</IMDB>
        <TMSRef>SH296001</TMSRef>
        <Artwork>
            <ArtworkItem>
                <Type>banner</Type>
                <Url>http://www.thetvdb.com/banners/graphical/75978-g.jpg</Url>
                <Thumbnail>http://www.thetvdb.com/banners/_cache/graphical/75978-g.jpg</Thumbnail>
                <Width>0</Width>
                <Height>0</Height>
            </ArtworkItem>
        </Artwork>
    </VideoLookup>
</VideoLookups>
</VideoLookupList>

GetBluray

The GetBluray API takes the following arguments:

Path (Required)
Parameter Type: String
The path to a Blu-ray drive or folder structure.

Example Query:

http://BackendServerIP:6544/Video/GetBluray?Path=/MythMedia/movies/Ratatouille

Example Return:

<?xml version="1.0" encoding="UTF-8"?>
<BlurayInfo version="1.0" serializerVersion="1.1">
    <Path>/MythMedia/movies/Ratatouille</Path>
    <Title>Ratatouille</Title>
    <AltTitle></AltTitle>
    <DiscLang>en</DiscLang>
    <DiscNum>0</DiscNum>
    <TotalDiscNum>0</TotalDiscNum>
    <TitleCount>0</TitleCount>
    <ThumbCount>0</ThumbCount>
    <ThumbPath></ThumbPath>
    <TopMenuSupported>true</TopMenuSupported>
    <FirstPlaySupported>true</FirstPlaySupported>
    <NumHDMVTitles>14</NumHDMVTitles>
    <NumBDJTitles>4</NumBDJTitles>
    <NumUnsupportedTitles>4</NumUnsupportedTitles>
    <AACSDetected>false</AACSDetected>
    <LibAACSDetected>false</LibAACSDetected>
    <AACSHandled>false</AACSHandled>
    <BDPlusDetected>false</BDPlusDetected>
    <LibBDPlusDetected>false</LibBDPlusDetected>
    <BDPlusHandled>false</BDPlusHandled>
</BlurayInfo> 

UpdateVideoMetadata

Version:
0.29
This method requires 0.29 or later

The UpdateVideoMetadata API takes the following arguments:

Id (Required)
Parameter Type: Integer
The ID of the video to change metadata.
Title (Optional)
Parameter Type: String
The new title.
SubTitle (Optional)
Parameter Type: String
The new subtitle.
TagLine (Optional)
Parameter Type: String
The new TagLine.
Director (Optional)
Parameter Type: String
The new Director.
Studio (Optional)
Parameter Type: String
The new Studio.
Plot (Optional)
Parameter Type: String
The new Plot.
Rating (Optional)
Parameter Type: String
The new Rating.
Inetref (Optional)
Parameter Type: String
The new Inetref.
CollectionRef (Optional)
Parameter Type: Integer
The new CollectionRef.
HomePage (Optional)
Parameter Type: String
The new HomePage.
Year (Optional)
Parameter Type: Integer
The new Year.
ReleaseDate (Optional)
Parameter Type: Date
The new ReleaseDate.
UserRating (Optional)
Parameter Type: Float
The new UserRating.
Length (Optional)
Parameter Type: Integer
The new Length.
PlayCount (Optional)
Parameter Type: Integer
The new PlayCount.
Season (Optional)
Parameter Type: Integer
The new Season.
Episode (Optional)
Parameter Type: Integer
The new Episode.
ShowLevel (Optional)
Parameter Type: Integer
The new ShowLevel.
FileName (Optional)
Parameter Type: String
The new FileName.
Hash (Optional)
Parameter Type: String
The new Hash.
CoverFile (Optional)
Parameter Type: String
The new CoverFile.
ChildID (Optional)
Parameter Type: Integer
The new ChildID.
Browse (Optional)
Parameter Type: Boolean
The new Browse flag.
Watched (Optional)
Parameter Type: Boolean
The new Watched flag.
Processed (Optional)
Parameter Type: Boolean
The new Processed flag.
PlayCommand (Optional)
Parameter Type: String
The new PlayCommand.
Category (Optional)
Parameter Type: Integer
The new Category ID.
Trailer (Optional)
Parameter Type: String
The new Trailer.
Host (Optional)
Parameter Type: String
The new Host.
Screenshot (Optional)
Parameter Type: String
The new Screenshot.
Banner (Optional)
Parameter Type: String
The new Banner.
Fanart (Optional)
Parameter Type: String
The new Fanart.
InsertDate (Optional)
Parameter Type: Date
The new InsertDate.
ContentType (Optional)
Parameter Type: String
The new ContentType. Valid values are 'MOVIE','TELEVISION','ADULT','MUSICVIDEO','HOMEVIDEO'
Genres (Optional)
Parameter Type: String
The new comma separated list of Genres.
Cast (Optional)
Parameter Type: String
The new comma separated list of Cast members.
Countries (Optional)
Parameter Type: String
The new comma separated list of Countries.

Example Query:

http://BackendServerIP:6544/Video/UpdateVideoMetadata?Id=1234&Title=Star+Wars&Year=1977

Example Return:

Returns a boolean value. True if the metadata successfully updated, false if the update failed for any reason.

<bool>true</bool>