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.
Vrokolos
Posts: 13
Joined: Sat Mar 15, 2008 12:37 am

VrokSub 1.10 UPDATED

Sat Mar 15, 2008 12:39 am

Image
This command line program will automatically download subtitles for your movies, rename your movies using a customized format, create folders for your movies and download imdb covers and details. You just pass a folder path and a preferred language list and it searches for subtitles using your avi files. It uses opensubtitles for the search and it requires the .net 2 framework runtimes which you probably already have. More details here: VrokSub
Last edited by Vrokolos on Thu Apr 03, 2008 6:04 pm, edited 5 times in total.

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

Sat Mar 15, 2008 12:53 am

hi, good start. I tried it, but I get:

Code: Select all

Unhandled Exception: CookComputing.XmlRpc.XmlRpcTypeMismatchException: response contains boolean value where array expected [response : struct mapped to type su brt : member data mapped to type subRes[]] at CookComputing.XmlRpc.XmlRpcSerializer.ParseBoolean(XmlNode node, Type Valu eType, ParseStack parseStack, MappingAction mappingAction) at CookComputing.XmlRpc.XmlRpcSerializer.ParseValue(XmlNode node, Type ValueT ype, ParseStack parseStack, MappingAction mappingAction, Type& ParsedType, Type& ParsedArrayType) at CookComputing.XmlRpc.XmlRpcSerializer.ParseValue(XmlNode node, Type ValueT ype, ParseStack parseStack, MappingAction mappingAction) at CookComputing.XmlRpc.XmlRpcSerializer.ParseStruct(XmlNode node, Type value Type, ParseStack parseStack, MappingAction mappingAction) at CookComputing.XmlRpc.XmlRpcSerializer.ParseValue(XmlNode node, Type ValueT ype, ParseStack parseStack, MappingAction mappingAction, Type& ParsedType, Type& ParsedArrayType) at CookComputing.XmlRpc.XmlRpcSerializer.ParseValue(XmlNode node, Type ValueT ype, ParseStack parseStack, MappingAction mappingAction) at CookComputing.XmlRpc.XmlRpcSerializer.DeserializeResponse(XmlDocument xdoc , Type returnType) at CookComputing.XmlRpc.XmlRpcSerializer.DeserializeResponse(Stream stm, Type svcType) at CookComputing.XmlRpc.XmlRpcClientProtocol.ReadResponse(XmlRpcRequest req, WebResponse webResp, Stream respStm, Type returnType) at CookComputing.XmlRpc.XmlRpcClientProtocol.Invoke(Object clientObj, MethodI nfo mi, Object[] parameters) at CookComputing.XmlRpc.XmlRpcClientProtocol.Invoke(MethodInfo mi, Object[] P arameters) at XmlRpcProxyadce72b3-3e64-45a7-9b34-f3c809db9614.SearchSubtitles(String , s ubInfo[] ) at OSDbClient.Program.Go(String FolderArg, String LangArg, Boolean overwrite, Boolean rename) at OSDbClient.Program.Main(String[] args)
(no subtitles should be found)

also it uses bad iso639 (ces for cs language). I have to fix some checking at my side too...[/code]

Vrokolos
Posts: 13
Joined: Sat Mar 15, 2008 12:37 am

Sat Mar 15, 2008 1:57 am

what do you mean about the iso? Do you mean that "gr" doesn't belong in the iso? I just added it because we use it alot here in greece :)
That error should be fixed in the new version I uploaded.

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

Sat Mar 15, 2008 12:24 pm

I didnt write nothing about gr, also gr is incorrect iso for greek language:
http://www.loc.gov/standards/iso639-2/php/code_list.php

so, correct iso is el (Greek Modern), but ofcourse I understand, why you put there "gr" :)

in last message I meant, for 'cs' it sents 'ces', where you got this iso from ???

It seems, I have to do an export, which iso codes OS use internal, coz using 2 iso codes for 1 language is bad idea at all.

also tel me know where I can download correct version.

Vrokolos
Posts: 13
Joined: Sat Mar 15, 2008 12:37 am

Sat Mar 15, 2008 2:57 pm

This is my map table for the language codes. I didn't know which code you used for languages with two codes so I used both. I made it using these: http://en.wikipedia.org/wiki/List_of_ISO_639-2_codes

theLangMap.Add(new langMap("cs", "cze,ces", "Czech"));
theLangMap.Add(new langMap("fi", "fin", "Finnish"));
theLangMap.Add(new langMap("tr", "tur", "Turkish"));
theLangMap.Add(new langMap("sv", "swe", "Swedish"));
theLangMap.Add(new langMap("sk", "slo,slk", "Slovak"));
theLangMap.Add(new langMap("bg", "bul", "Bulgarian"));
theLangMap.Add(new langMap("fr", "fre,fra", "French"));
theLangMap.Add(new langMap("ar", "ara", "Arabic"));
theLangMap.Add(new langMap("vi", "vie", "Vietnamese"));
theLangMap.Add(new langMap("sr", "scc,srp", "Serbian"));
theLangMap.Add(new langMap("mk", "mac,mkd", "FYROM"));
theLangMap.Add(new langMap("ko", "kor", "Korean"));
theLangMap.Add(new langMap("et", "est", "Estonian"));
theLangMap.Add(new langMap("zh", "chi,zho", "Chinese"));
theLangMap.Add(new langMap("hr", "scr,hrv", "Croatian"));
theLangMap.Add(new langMap("gl", "glg", "Galician"));
theLangMap.Add(new langMap("ja", "jpn", "Japanese"));
theLangMap.Add(new langMap("el,gr", "gre,ell", "Greek"));
theLangMap.Add(new langMap("en", "eng", "English"));
theLangMap.Add(new langMap("da", "dan", "Danish"));
theLangMap.Add(new langMap("de", "ger,deu", "German"));
theLangMap.Add(new langMap("he", "heb", "Hebrew"));
theLangMap.Add(new langMap("id", "ind", "Indonesian"));
theLangMap.Add(new langMap("it", "ita", "Italian"));
theLangMap.Add(new langMap("es", "spa", "Spanish"));
theLangMap.Add(new langMap("no", "nor", "Norwegian"));
theLangMap.Add(new langMap("nl", "dut,nld", "Dutch"));
theLangMap.Add(new langMap("pl", "pol", "Polish"));
theLangMap.Add(new langMap("fa", "per,fas", "Persian"));
theLangMap.Add(new langMap("hu", "hun", "Hungarian"));
theLangMap.Add(new langMap("pt", "por", "Portuguese"));
theLangMap.Add(new langMap("ro", "rum,ron", "Romanian"));
theLangMap.Add(new langMap("ru", "rus", "Russian"));

First post link will always be updated with newest versions. So you can grab it from there.

Vrokolos
Posts: 13
Joined: Sat Mar 15, 2008 12:37 am

Sat Mar 15, 2008 4:20 pm

I've got a question for you all.. Is there any standard for having external tags on avi files or even internal tags that won't alter the movie hash when changed? I want to make it so it saves some details about the movies on the hard disk (like imdbid, title, year etc) but I don't know where to save that info so that players or media centers can use it.

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

Tue Mar 18, 2008 8:52 pm

I think this affects hash, so it is not good idea :( You can do it in VirtualDub for example, those tags are added at end of file, so :(

Also for code table - I will publish it soon on TRAC or somewhere

User avatar
eduo
Posts: 716
Joined: Sat Feb 10, 2007 1:40 am
Location: Information Technology
Contact: ICQ Website Yahoo Messenger

Wed Mar 26, 2008 11:36 pm

Use NFO files. They are almost a standard nowadays. I delete them but others may keep them.

Vrokolos
Posts: 13
Joined: Sat Mar 15, 2008 12:37 am

Thu Mar 27, 2008 1:46 pm

Use NFO files. They are almost a standard nowadays. I delete them but others may keep them.
Do any media player-browser software read nfo files for the movie information?

User avatar
eduo
Posts: 716
Joined: Sat Feb 10, 2007 1:40 am
Location: Information Technology
Contact: ICQ Website Yahoo Messenger

Thu Mar 27, 2008 8:03 pm

Some do. I use XBMC and it does.

The point is that's the only way to add information to a movie without affecting its hash, in a separate file.

Vrokolos
Posts: 13
Joined: Sat Mar 15, 2008 12:37 am

Thu Apr 03, 2008 6:00 pm

New version (1.10) of vroksub released. I added a lot of features that have nothing to do with subtitles. It can now download covers and data from imdb and save it to a nfo file along with your movie. It can create folders for your movies, you can change the naming format for both the file renaming and folders. You can set an output path so that each movie with subtitle will be moved there and more. Get it on the first post link.
Image

User avatar
eduo
Posts: 716
Joined: Sat Feb 10, 2007 1:40 am
Location: Information Technology
Contact: ICQ Website Yahoo Messenger

Fri Apr 04, 2008 10:15 pm

It's funny. I'm also doing something very similar to this and started adding a lot of things you are also adding. I use my program and haven't released anything other than the subtitle download part as I was focusing more on TV series and OS still doesn't include the support for them. I'm waiting for that.

In the meantime I'm checking out APIs for a lot of other places, like tv.com, thetvdb.com, moviexml and others.

Vrokolos
Posts: 13
Joined: Sat Mar 15, 2008 12:37 am

Sat Apr 05, 2008 7:58 am

heh.. I also need tv series support :) And I've got one or two additional things on my mind.

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

Tue Nov 18, 2008 10:16 am

Hi guys,

I am sorry, that TV series support is not ready :( Whole problem is, I already had programmed 80% if not more of it, I also posted some screenshots, it was on dev server, but dev server was accidentaly deleted and ofcoz no backup :(

So I have to program that from scratch, it is not extra-complicated (the most complicated part was convert all subtitles (also subtitle files) to movie episodes - I had this script, but it is gone too :(...also downloading part was quite complicated).

Anyway, this TV series support is one of my priority, I am working on it.

User avatar
eduo
Posts: 716
Joined: Sat Feb 10, 2007 1:40 am
Location: Information Technology
Contact: ICQ Website Yahoo Messenger

Tue Nov 18, 2008 10:55 am

Do you need help?

Once you have the identifier for tv episodes and the fields for it the only task left is matching existing subtitles to it.

Figuring out most of the subtitles for tv episodes is not hard.

-First you take all the generic ones, everything that had VTV or EZTV in the title. ALL of those are for tv episodes.

-Then for all those you process the names. TV Episodes are usually labelled in one of four or five schemes, so it's not hard. I pasted my grep routines elsewhere, if I recall correctly. There is a tool called tvrenamer.pl by Rob Meerman that does this as well.

-Once you have the above you can use those subtitles as seeds. You can tie them up to every movie hashes linked to it and from there tie up all subtitle hashes tied to any of these.

-The above would cover more than 80% of the database and would be pretty simple to code. If you find you can get whether an IMDB is a TV series then you're set to set all the hashes and subtitles for that IMDBID to belong to the TV series.

-Finally, you should use thetvdb's API if you want to get extra data for the tv episodes. IMDB really hasn't got any good tools for this and the IMDB processing libraries out there are pretty limited int his respect. thetvdb works for matching the episodes of the series to names and for getting imdb IDs for the episodes.
http://eduo.info/
[url=http://eduo.info/soleol/]OpenSubtitles from your desktop: SolEol for Mac/Windows/Linux[/url]
[url=http://forums.plexapp.com/index.php?showtopic=325&st=0&p=2480&#entry2480]My current episode processing work flow[/url].

Return to “Programs using OS”

Who is online

Users browsing this forum: No registered users and 9 guests