Forum rules
Under no circumstances is spamming or advertising of any kind allowed. Do not post any abusive, obscene, vulgar, slanderous, hateful, threatening, sexually-orientated or any other material that may violate others security. Profanity or any kind of insolent behavior to other members (regardless of rank) will not be tolerated. Remember, what you don’t find offensive can be offensive to other members. Please treat each other with the kind of reverence you’d expect from other members.
Failure to comply with any of the above will result in users being banned without notice. If any further details are needed, contact: “The team” using the link at the bottom of the forum page. Thank you.
stavros_sk
Posts: 9
Joined: Thu Sep 25, 2008 6:11 am

Writing a film identifying application, thoughts appreciated

Sun Nov 02, 2008 8:26 pm

Hello all, first i would like to wholeheartidly thank the OSdb developers for your great work with this open database, and especially the video hash feature, it has been more useful to me (and thousands other users) that one could imagine.

I'm currently coding a film identfying application in the form of a Meedio(a well respected HTPC -Home Theater- application/solution) plugin.
Please see the development forum thread here:
http://www.meedios.com/forum/viewtopic.php?t=3912

Currently (and thanks to your API), my application can identify the user's (mostly .avi) films and download details for them (from IMDb), and also download posters, backdrop art (for the HTPC frontend) background, and of course synchronized subtitles in the language of his/her choosing.

But something's still missing from the whole picture, and i think your database is the only open database in the world which (with a small modifying) can provide the whole set of benefits of video hash identifying.

So let me explain: Currently the benefit a user has from linking a unique hash to his/her video fils, is that he/she can download perfectly synced subtitles for this film, and that's great.

But there's another benefit the video hash feature can provide: identify a movie from it's video hash and download details for it without requiring the user to provide any info for this film to the program.
You may wonder of course why one would want to download details for a film without providing it's name to the application.
The answer is this: An important feature for Home Theater applications is to able to show a set of details about a film in their graphical interface. But downloading those details isn't always straight-forward and a lot of times those users have to resort to complicated methods like tag masks, regural expressions, html scraping for the application to be able to effectively filter their video files and download relevant information.

Currently thanks to you my application is able to identify most of the films in .avi format, but a lot of these users' films are in .vob, .iso and .mkv container format, and most of these films are not recognized by OSdb (because they are not contained.

So the idea is this: If you would kindly allow users or applications (through your API) to upload their video hashes along with their relevant film details without requiring the user to supply a subtitle , mine and other applications could provide a semi-automatic upload feature, increasing expontentially the number of films which are inlcuded in the database, and effectively identifying most films in any video format.

From my side, i am implementing a semi-automatic subtitles uploading feature in my application, which combined with the film details uploading mechanism, will potentially increase the number of subtitles included in the database by a fair amount.

Please let me know your thoughts about this idea, and thanks for reading.

Regards,
Stavros.

User avatar
oss
Site Admin
Posts: 5884
Joined: Sat Feb 25, 2006 11:26 pm
Contact: Website

Mon Nov 03, 2008 6:31 pm

Hello to Greece, enthalpient :)

I read that topic carefully, just downloading all needed stuff, so I can see that in action. Of course I understand very well to your problem, and to be honest, I awaited that :)

Hash fingerprinting service for movies is really nice service, I wish there should be something like for audio fingerprinting: http://wiki.musicbrainz.org/AudioFingerprint - in short that means, if you reencode audio it is detected anyway - thats the future anyway, but I am too short in this area :)

Ok, I understand what you need, now os doesnt support what you are asking for, so I have to make it.

Write XMLRPC methods and parameters and I will start code it. Now I can imagine:

Code: Select all

SaveHashMovie($moviehash, $imdbid)
What else you need ? :) As time show, there will be needed something like "ReportWrongHash" and so on :)

But we have to start somewhere first. Also thanks for nice article in your forum, I will upgrade servers soon and some other features.

stavros_sk
Posts: 9
Joined: Thu Sep 25, 2008 6:11 am

Wed Nov 05, 2008 12:48 am

Hello again from Greece :)

Yes a simple uploading function like UplodadMovieHash( $moviehash, $imdbid ) should be enough for a start. May it could contain a bool as return, to indicate if the function succeeded or not. Don't worry about duplicate upload requests, my application will check first if the data is already there.

Then, mine and other applications will be able to identify the film by its video file. :)

Thanks for considering my request.

Feel free to ask if you want to know anything other about this feature.

Thanks, Stavros.

User avatar
oss
Site Admin
Posts: 5884
Joined: Sat Feb 25, 2006 11:26 pm
Contact: Website

Wed Nov 19, 2008 8:03 pm

it is enough for me, these days I am working on that. Little problem is, database is not designed in this way, but I have already couple of ideas :)

User avatar
oss
Site Admin
Posts: 5884
Joined: Sat Feb 25, 2006 11:26 pm
Contact: Website

DEV: InsertMovieHash, CheckMovieHash2

Fri Dec 05, 2008 6:11 am

stavros: I finished (not really, it is still in work-in-progress) programming what you've ask for, please try and comment those XMLRPC functions:

Code: Select all

InsertMovieHash($token, array(array('moviehash' => $moviehash, 'moviebytesize' => $moviebytesize, 'imdbid' => $imdbid, 'movietimems' => $movietimems, 'moviefps' => $moviefps), array(...)))
Will insert movie hashes to database, movietimems and moviefps are optional parameters, maybe I can add also moviefilename in those params (then we can know a real name of file according stat. That is for insert, user cannot insert same (duplicate) hashes (eg. unique key is hash,size,imdb)

Code: Select all

CheckMovieHash2($token, array($moviehash, $moviehash,...))
return found moviehashes, output looks like this:

Code: Select all

Array ( [status] => 200 OK [data] => Array ( [53fc6fe84ad5ee31] => Array ( [0] => Array ( [MovieHash] => 53fc6fe84ad5ee31 [MovieImdbID] => 1 [MovieName] => Carmencita [MovieYear] => 1894 [SeenCount] => 1 ) ) [a3fc6fe84ad5ee31] => Array ( [0] => Array ( [MovieHash] => a3fc6fe84ad5ee31 [MovieImdbID] => 2 [MovieName] => Clown et ses chiens, Le [MovieYear] => 1892 [SeenCount] => 1 ) ) ) [seconds] => 0.002 )
it is still in very beta stage, so try to insert some movie hashes, and then request them, if it works for you. Also dont forget when it will be officialy launched, tables will be truncated and all hashes from old tables transfered to these new.

Maybe you can ask, why there is so complicated output, why for one hash can exists more movies. It is because users sometimes send wrong hashes, or just some mistake (always possible) - when there are more options, user should decide which movie is the right one, and then call InsertMovieHash() (maybe with some paramater?) to correct it.

Ok, thats all for now, I will be 5 days out, so please test it as musch as you can, when I return I will finish this.

stavros_sk
Posts: 9
Joined: Thu Sep 25, 2008 6:11 am

Thu Dec 11, 2008 1:50 am

Hi os, thanks for getting back to me, i'll do some tests and will let you know how it goes! :)

User avatar
oss
Site Admin
Posts: 5884
Joined: Sat Feb 25, 2006 11:26 pm
Contact: Website

Thu Dec 11, 2008 5:01 am

today I am just finishing that methods, they are already documented in trac. Let me know then ASAP.

User avatar
oss
Site Admin
Posts: 5884
Joined: Sat Feb 25, 2006 11:26 pm
Contact: Website

Thu Dec 11, 2008 9:25 am


stavros_sk
Posts: 9
Joined: Thu Sep 25, 2008 6:11 am

Wed Dec 17, 2008 8:02 am

Ok os, i implemented the hash uploading methods in my program. The InsertMovieHash() works fine, however the new movie hash can not be retrieved later with CheckMovieHash(). Are the new hashes instantly available when they get inserted or do they need to be verified by the admins before they are available?

If not, i must be doing something wrong which i will figure out eventually but knowing this might save me some headaches :)

edit: It works great now, it was an error in my program as i suspected.

The 'SeenCount' addition in CheckMovieHash2() is very helpful too to minimize false mathces.

Thanks for everything os, i'm trying to spread the word for your site so hopefully some more people will support it.

User avatar
oss
Site Admin
Posts: 5884
Joined: Sat Feb 25, 2006 11:26 pm
Contact: Website

Wed Dec 17, 2008 1:36 pm

thanks a lot. The most important part is implementing all guidelines as I wrote in trac - for example "my" movies has everytime nfo attached (but I have them all in rars). In this way, there is possible to insert so many (new) moviehashes...

let me know, about your progress.

User avatar
vankasteelj
Posts: 175
Joined: Sun Nov 15, 2015 1:09 am

Re: Writing a film identifying application, thoughts appreciated

Sun Nov 15, 2015 1:11 am

I have an issue with this. It's supposed to send back info, but all I can really do is see if the moviehash is in db or if it needs insertion: see Image

edit: it works but not with some hashes, took me time to realize that I needed to check for Array.length === 0 to know if there was metadata^^

MarcoTC
Subtitles Admin
Posts: 44
Joined: Sat Jun 13, 2015 5:15 am

Re: Writing a film identifying application, thoughts appreciated

Tue Nov 17, 2015 9:43 am

What is the xml-rpc request you're sending and what is the response?
Your screenshot doesn's say much.

Return to “Developing”

Who is online

Users browsing this forum: No registered users and 20 guests