Code: Select all
println TheMovieDB.getMovieInfo(detectMovie(f, false), Locale.ENGLISH)Code: Select all
println TheMovieDB.getMovieInfo(detectMovie(f, false), Locale.ENGLISH)Where do I use this script? Do I use it in the same Filebot regular cmd line or with utorrent?rednoah wrote:Sometimes it might be useful to override series auto-detection by forcing a series title for a specific set of files. This is how you do it. Only process a certain set of files via file parameter and force the series title via the query parameter.Code: Select all
rename(file: args.getFiles{ it =~ /(?i:colbert.report)/}, query: "The Colbert Report", db: "TheTVDB") rename(file: args.getFiles{ it =~ /(?i:daily.show)/}, query: "The Daily Show with Jon Stewart", db: "TheTVDB") ...
Code: Select all
"movieFormat=Movies/{n} ({y}) {genres}/{n} ({y}) {genres}{\" CD$pi\"}{\".$lang\"}"
ex: Media Library\Movies\12 Rounds (2009) [Action, Adventure, Drama, Thriller]\12 Rounds (2009) [Action, Adventure, Drama, Thriller].avi
Code: Select all
"seriesFormat=TV Shows/{n.replaceAll(\" \\(\" + y + \"\\)\",\"\")} ({y}) {genres}/{episode.special ? \"Special\" : \"Season \"+s.pad(2)}/{n} - {episode.special ? \"S00E\"+special.pad(2) : s00e00} - {t.replaceAll(/[\`\Â\´\â\€\˜\\â\€\™\Ê\»]/, \"'\").replaceAll(/[!?.]+$/).replacePart(', Part $1')}{\".$lang\"}"
ex: Media Library\TV Shows\Battlestar Galactica (2003) [Action, Adventure, Drama, Science-Fiction]\Season 01\Battlestar Galactica (2003) - S01E12 - .avi
ex: Media Library\TV Shows\Fringe (2008) [Drama, Science-Fiction]\Season 01\Fringe - S01E01 - Pilot.avi
Here my simplified code:If your format contains quotes, e.g. {"-$fn"}, and you just copy and paste it, e.g. "movieFormat={"-$fn"}", the quotes in the format will mess with cmdline argument parsing. Hence you MUST ESCAPE DOUBLE QUOTES, e.g. "movieFormat={\"-$fn\"}".
Code: Select all
filebot -script fn:amc "./" --output "/mnt/media/" --action test -non-strict --conflict override --def "movieFormat=Filme/{n.upperInitial().space('.')}.{y}/{n.upperInitial().space('.')}.{y}{\"-$group\"}" clean=y music=n subtitles=y artwork=n "ut_dir=" "ut_file=" "ut_kind=" "ut_title=" "ut_label=" "ut_state="Code: Select all
root@download01:/mnt/media/Movies# filebot -script fn:amc "./" --output "/mnt/media/" --action test -non-strict --conflict override --def "movieFormat=Filme/{n.upperInitial().space('.')}.{y}/{n.upperInitial().space('.')}.{y}{\"-$group\"}" clean=y music=n subtitles=y artwork=n "ut_dir=" "ut_file=" "ut_kind=" "ut_title=" "ut_label=" "ut_state="
Parameter: movieFormat = Filme/{n.upperInitial().space('.')}.{y}/{n.upperInitial().space('.')}.{y}{"-"}
Parameter: clean = y
Parameter: music = n
Parameter: subtitles = y
Parameter: artwork = n
Parameter: ut_dir =
Parameter: ut_file =
Parameter: ut_kind =
Parameter: ut_title =
Parameter: ut_label =
Parameter: ut_state =
Argument: /mnt/media/Movies
Input: /mnt/media/Movies/Forrest.Gump.1994.German.AC3.1080p.BluRay.x264-SEKTiON9.sub
Input: /mnt/media/Movies/From.Hell.2001.1080p.BluRay.DTS.DL.x264-HDC.mkv
Input: /mnt/media/Movies/xXx.2002.1080p.BluRay.DTS.DL.x264-HDC.mkv
Forrest.Gump.1994.German.AC3.1080p.BluRay.x264-SEKTiON9.sub [series: null, movie: Forrest Gump (1994)]
From.Hell.2001.1080p.BluRay.DTS.DL.x264-HDC.mkv [series: null, movie: From Hell (2001)]
xXx.2002.1080p.BluRay.DTS.DL.x264-HDC.mkv [series: null, movie: xXx (2002)]
Group: [tvs:null, mov:Forrest Gump (1994), anime:null] => [Forrest.Gump.1994.German.AC3.1080p.BluRay.x264-SEKTiON9.sub]
Group: [tvs:null, mov:From Hell (2001), anime:null] => [From.Hell.2001.1080p.BluRay.DTS.DL.x264-HDC.mkv]
Group: [tvs:null, mov:xXx (2002), anime:null] => [xXx.2002.1080p.BluRay.DTS.DL.x264-HDC.mkv]
No missing subtitles
Rename movies using [TheMovieDB]
Auto-detect movie from context: [/mnt/media/Movies/Forrest.Gump.1994.German.AC3.1080p.BluRay.x264-SEKTiON9.sub]
[TEST] Rename [/mnt/media/Movies/Forrest.Gump.1994.German.AC3.1080p.BluRay.x264-SEKTiON9.sub] to [/mnt/media/Filme/Forrest.Gump.1994/Forrest.Gump.1994-.sub]
Processed 1 files
Get [English] subtitles for 1 files
Looking up subtitles by filehash via OpenSubtitles
Looking up subtitles by filehash via Sublight
Lookup by hash failed: java.lang.IllegalStateException: Sublight login has not been configured
Searching for [From Hell] at [OpenSubtitles]
Searching for [From Hell] at [Sublight]
Search for [From Hell] failed: Sublight login has not been configured
Searching for [From Hell] at [Subscene]
No matching subtitles found: /mnt/media/Movies/From.Hell.2001.1080p.BluRay.DTS.DL.x264-HDC.mkv
Rename movies using [TheMovieDB]
Auto-detect movie from context: [/mnt/media/Movies/From.Hell.2001.1080p.BluRay.DTS.DL.x264-HDC.mkv]
[TEST] Rename [/mnt/media/Movies/From.Hell.2001.1080p.BluRay.DTS.DL.x264-HDC.mkv] to [/mnt/media/Filme/From.Hell.2001/From.Hell.2001-.mkv]
Processed 1 files
Get [English] subtitles for 1 files
Looking up subtitles by filehash via OpenSubtitles
Looking up subtitles by filehash via Sublight
Lookup by hash failed: java.lang.IllegalStateException: Sublight login has not been configured
Exception: Failed to auto-detect query
Rename movies using [TheMovieDB]
Auto-detect movie from context: [/mnt/media/Movies/xXx.2002.1080p.BluRay.DTS.DL.x264-HDC.mkv]
[TEST] Rename [/mnt/media/Movies/xXx.2002.1080p.BluRay.DTS.DL.x264-HDC.mkv] to [/mnt/media/Filme/XXx.2002/XXx.2002-.mkv]
Processed 1 files
Done ヾ(@⌒ー⌒@)ノCode: Select all
--def "movieFormat=Filme/{n.upperInitial().space('.')}.{y}/{n.upperInitial().space('.')}.{y}{$vc}"Code: Select all
Failed to write xattr: java.io.File.toPath()Ljava/nio/file/Path;
Code: Select all
WARNUNG: Unable to inherit IO: java/lang/ProcessBuilder$Redirect
It's either {vc} or {"$vc"}.cheesemaker wrote:Only {$vc} also don't work. {vc} works. Looks like it can't manage the conditional function in command line mode...
Ok, Thanks, I managed it. For an item, which will be only added when it's given and have a separator '.', the cmd code is:rednoah wrote:It's either {vc} or {"$vc"}.cheesemaker wrote:Only {$vc} also don't work. {vc} works. Looks like it can't manage the conditional function in command line mode...
PS: CMD escaping sucks, i'm pretty much just trying around until it works as well.
Code: Select all
{\".\$vc\"}Code: Select all
Rename movies using [TheMovieDB]
[COPY] Rename [M:\Movies\blahblah.avi] to [M:\Movies\Blah Blah (2001).avi]Duh - thanks! - will RTFM. Linking sounds safest - leave the source where it is and point to it. SMB server is an ACRyan media player so not much chance of running on there I don't think.You've set --action copy so it's gonna copy...
@see http://www.filebot.net/forums/viewtopic ... =793#p5114Standalone Usage
You can use the script directly from the cmdline like this, by just adding files as arguments instead of the utorrent parameters.
µTorrent -> Run Program -> Run this program when torrent finishes:Code: Select all
filebot -script fn:amc --output "X:/path/to/media" --log-file amc.log --action copy --conflict override -non-strict --def music=y subtitles=en artwork=y "ut_dir=%D" "ut_file=%F" "ut_kind=%K" "ut_title=%N" "ut_label=%L" "ut_state=%S"
Code: Select all
Parameter: music = y
Parameter: subtitles = en
Parameter: artwork = y
Parameter: ut_dir = F
Parameter: ut_kind = N
Parameter: ut_label = S--def
Parameter: xbmc = HOST
Parameter: gmail = user:pass
Parameter: mailto = [email protected]
Parameter: clean = y
MissingPropertyException: No such property: ut_file for class: Script3
groovy.lang.MissingPropertyException: No such property: ut_file for class: Script3
at Script3.run(Script3.groovy:78)
at net.sourceforge.filebot.cli.ScriptShell.evaluate(Unknown Source)
at net.sourceforge.filebot.cli.ScriptShell.runScript(Unknown Source)
at net.sourceforge.filebot.cli.ArgumentProcessor.process(Unknown Source)
at net.sourceforge.filebot.Main.main(Unknown Source)
Failure (°_°)
Parameter: music = y
Parameter: subtitles = en
Parameter: artwork = y
Parameter: ut_dir = F
Parameter: ut_kind = N
Parameter: ut_label = S
Parameter: xbmc = HOST
Parameter: gmail = user:pass
Parameter: mailto = [email protected]
Parameter: clean = y
Argument: Z:\Downloads
Exception: Conflicting arguments: pass in either file arguments or ut_dir/ut_file parameters but not both
Failure (°_°)Code: Select all
filebot -script fn:amc --output "D:/Organized Media" --log-file amc.log --action hardlink --conflict override -non-strict --def "ut_dir=D:\Media\Avatar" "ut_file=" "ut_kind=multi" "ut_title=Avatar" "ut_label=" "ut_state=5"Code: Select all
Parameter: ut_dir = FCode: Select all
Parameter: ut_dir = F <-- WRONG, OBVIOUSLY
Parameter: ut_kind = N
Parameter: ut_label = SCode: Select all
Argument: Z:\DownloadsCode: Select all
Parameter: ut_dir = /path/to/newly/finished/download/pass/in/by/utorrent
Code: Select all
{genres[0]}/{n.acronym().getAt(0)}/{"$collection/"}/{n} [{y}]{"CD$pi"}{' '+file.path.match(/UNRATED|REMASTERED|EXTENDED|THEATRICAL|UNCUT|DIRECTORS CUT|THEATRICAL EDITION|THEATRICAL CUT/)}/{n.replaceTrailingBrackets()} [{try{"$source"}catch(e){'BluRay'}} m-{"$vf"} {" $vc"} {" $ac"} {media.AudioLanguageList} {" $af"}][{y}]{" CD$pi"}{fn.match(/[.]fanart|[.]mkv/)}{"."+lang.getDisplayName(Locale.getDefault()).lower()}Code: Select all
{s.pad(2)}x{e.pad(2)}Code: Select all
{s.pad(2)}x{es.collect{ it.pad(2) }.join('-')}Tnx, the series format works like a charm!rednoah wrote:1. Very easy:1.1. A bit more complicated if you take multi-episode files into consideration as well:Code: Select all
{s.pad(2)}x{e.pad(2)}2. If there's only one movie file, {pi} will be undefined and unwind the whole {...} block. That's the difference between {" CD$pi"} and CD{pi} and if you use my examples it covers all these common cases.Code: Select all
{s.pad(2)}x{es.collect{ it.pad(2) }.join('-')}
Code: Select all
...
Parameter: movieFormat = Film/{n} ({y}){" Cd$pi"}
Input: D:\testdata\AMC-TEST\Green Snake.mp4
Input: D:\testdata\AMC-TEST\Red Cliff A.mp4
Input: D:\testdata\AMC-TEST\Red Cliff B.mp4
Green Snake.mp4 [series: null, movie: Green Snake (1993)]
Red Cliff A.mp4 [series: null, movie: Red Cliff (2008)]
Red Cliff B.mp4 [series: null, movie: Red Cliff (2008)]
Group: [tvs:null, mov:Green Snake (1993), anime:null] => [Green Snake.mp4]
Group: [tvs:null, mov:Red Cliff (2008), anime:null] => [Red Cliff A.mp4, Red Cliff B.mp4]
Rename movies using [TheMovieDB]
Auto-detect movie from context: [D:\testdata\AMC-TEST\Green Snake.mp4]
[COPY] Rename [D:\testdata\AMC-TEST\Green Snake.mp4] to [D:\output\Film\Green Snake (1993).mp4]
Processed 1 files
Rename movies using [TheMovieDB]
Auto-detect movie from context: [D:\testdata\AMC-TEST\Red Cliff A.mp4]
Auto-detect movie from context: [D:\testdata\AMC-TEST\Red Cliff B.mp4]
[COPY] Rename [D:\testdata\AMC-TEST\Red Cliff A.mp4] to [D:\output\Film\Red Cliff (2008) Cd1.mp4]
[COPY] Rename [D:\testdata\AMC-TEST\Red Cliff B.mp4] to [D:\output\Film\Red Cliff (2008) Cd2.mp4]
...Code: Select all
Parameter: seriesFormat = Serie Tv/{n}/{n} - {s.pad(2)}x{es.collect{ it.pad(2) }.join('-')} - {t}
Parameter: movieFormat = Film/{n} ({y}){" Cd"}
Argument: /home/jorman/Scrivania/da
Input: /home/jorman/Scrivania/da/red.avi
red.avi [series: Hong Ling Jin Xia, movie: Red (2010)]
Exclude Series: Hong Ling Jin Xia
Group: [tvs:null, mov:Red (2010), anime:null] => [red.avi]
Rename movies using [TheMovieDB]
Auto-detect movie from context: [/home/jorman/Scrivania/da/red.avi]
[MOVE] Rename [/home/jorman/Scrivania/da/red.avi] to [/home/jorman/Scrivania/a/Film/Red (2010) Cd.avi]
Code: Select all
filebot -script fn:amc "$check_dir/" --output "$dest_dir" --action move --conflict override -non-strict --def music=n --log-file amc.log --def artwork=n --def "seriesFormat=Serie Tv/{n}/{n} - {s.pad(2)}x{es.collect{ it.pad(2) }.join('-')} - {t}" "movieFormat=Film/{n} ({y}){\" Cd$pi\"}" --lang itCode: Select all
Parameter: movieFormat = Film/{n} ({y}){" Cd"}Code: Select all
#!/bin/bash
filebot -script fn:amc --output "/media/" --log-file amc.log --action copy --conflict override -non-strict --def clean=y artwork=y "seriesFormat=HDD1/TV/{n}/{'S'+s}/{fn}" "movieFormat=HDD2/{n} ({y})/{n} ({y})" "musicFormat=HDD1/Music/{n}/{fn}" "ut_dir=$TR_TORRENT_DIR/$TR_TORRENT_NAME" "ut_kind=multi" "ut_title=$TR_TORRENT_NAME"
Code: Select all
Parameter: clean = y
Parameter: artwork = y
Parameter: seriesFormat = HDD1/TV/{n}/{'S'+s}/{fn}
Parameter: movieFormat = HDD2/{n} ({y})/{n} ({y})
Parameter: musicFormat = HDD1/Music/{n}/{fn}
Parameter: ut_dir = /media/HDD2/DOWNLOADS/INCOMPLETE/The Gruffalo 2009 DVDRip
Parameter: ut_kind = multi
Parameter: ut_title = The Gruffalo 2009 DVDRip
Done ヾ(@⌒ー⌒@)ノ
Code: Select all
echo "The Gruffalo 2009 DVDRip."* |awk -F . '{print $NF}'
Code: Select all
/media/HDD2/DOWNLOADS/INCOMPLETE/The Gruffalo 2009 DVDRipCode: Select all
$TR_TORRENT_DIR/$TR_TORRENT_NAMETnx I'll tryrednoah wrote:This is what gets passed into to FileBot:Your shell is messing with the $name variables. You'll probably need to escape the \$ as well as the \"Code: Select all
Parameter: movieFormat = Film/{n} ({y}){" Cd"}
I have a command line interface.rednoah wrote:0. Download subtitles
1. Go to Rename panel
2. Drop subtitle files into the left list
3. Drop video files into the right list
4. Hit Rename!
PS: Completely wrong thread...
So I have to get it and rename it. I can't get it with the right name straight off.rednoah wrote:At this point it's most basic batch renaming. Any tool will do.
Here's a filebot script for that:
http://www.filebot.net/forums/viewtopic ... &t=5#p2100
I found a little problem with "this settings", and I don't know how to resolve itChryses wrote:Tnx I'll tryrednoah wrote:This is what gets passed into to FileBot:Your shell is messing with the $name variables. You'll probably need to escape the \$ as well as the \"Code: Select all
Parameter: movieFormat = Film/{n} ({y}){" Cd"}
Code: Select all
Parameter: movieFormat = Film/{n} ({y}){" Cd$pi"}Code: Select all
Input: /media/TwoTera/Download/vari/red cd1.avi
red cd1.avi [series: Hong Ling Jin Xia, movie: Red (2010)]
Exclude Series: Hong Ling Jin Xia
Group: [tvs:null, mov:Red (2010), anime:null] => [red cd1.avi]
Rename movies using [TheMovieDB]
Auto-detect movie from context: [/media/TwoTera/Download/vari/red cd1.avi]
[MOVE] Rename [/media/TwoTera/Download/vari/red cd1.avi] to [/media/TwoTera/Multimedia/Film/Red (2010).avi]
Code: Select all
{' CD'+pi}Code: Select all
Parameter: movieFormat = Film/{n} ({y}){' CD'+pi}Code: Select all
[MOVE] Rename [/media/TwoTera/Download/vari/red cd1.avi] to [/media/TwoTera/Multimedia/Film/Red (2010).avi]
Code: Select all
movieFormat=Film/{n} ({y}){' - '+fn.match(/(?i)cd+[0-9]/).toUpperCase()}{fn.match(/(?i)part +[0-9]of[0-9]/).toLowerCase()}Code: Select all
{'Avatar Part 1of2'.match(/part\s*[0-9]of[0-9]/)}Code: Select all
{'CD'+fn.match(/part\s*(\d)of(\d)/)}Code: Select all
/home/user/tv/{n.replace(':',' -').replaceAll(/[?]/, '')}/{n.replace(':',' -').replaceAll(/[?]/, '')} - {episode.special ? 'S00E'+special.pad(2) : s00e00} - {t.replace(':',' -').replaceAll(/[?]/, '')} {[hpi]}{'['+resolution} {' '+vc}{'-'+ac+']'}Code: Select all
/home/user/anime/{(primaryTitle ?: n).replace(':',' -').replaceAll(/[?]/, '')}/{(primaryTitle ?: n).replace(':',' -').replaceAll(/[?]/, '')} - {episode.special ? "S"+special.pad(2) : absolute.pad(3)} - {t.replace(':',' -').replaceAll(/[?]/, '')} {[hpi]}{'['+resolution} {' '+vc}{'-'+ac+']'}
PHPBB3 hates me.Code: Select all
"/mnt/samba/movies/{n} ({y})/{n.replaceFirst(/^(?i)(The|A)\s(.+)/, /$2, $1/).space('.')}.({y}).{vf}"Code: Select all
filebot -script fn:amc --output "/media/WD1TB/Videos" --action copy --conflict override -non-strict --def artwork=n "seriesFormat=TV/{n}/Season {s.pad(2)}/{s00e00} - {t}" "movieFormat=Movies/{n} ({y}) {vf} {af}" "ut_dir=$TR_TORRENT_DIR/$TR_TORRENT_NAME" "ut_kind=multi" "ut_title=$TR_TORRENT_NAME" &> /etc/transmission-daemon/logCode: Select all
Parameter: artwork = n
Parameter: seriesFormat = TV/{n}/Season {s.pad(2)}/{s00e00} - {t}
Parameter: movieFormat = Movies/{n} ({y}) {vf} {af}
Parameter: ut_dir = /mnt/Downloads/My.Favourite.Linux.ISO.S01E01.PREAIR.DVDRip.XviD-CRX.avi
Parameter: ut_kind = multi
Parameter: ut_title = My.Favourite.Linux.ISO.S01E01.PREAIR.DVDRip.XviD-CRX.avi
Exception: Conflicting arguments: pass in either file arguments or ut_dir/ut_file parameters but not both
Failure (°_°)
Code: Select all
Deleted.and.Extended.Scenes
Deleted.ScenesCode: Select all
(?<=\b|_)(NCED|NCOP|(OP|ED)\p{Digit}\p{Alpha})(?=\b|_])Code: Select all
filebot -script osdb.statsCode: Select all
www[.][\w-.]+[.](com|net|tk|ro|cd|me|de)Yeah, I saw that after I posted. Really weird. Here is every instance I can find from the last week or so. In some cases it matches correctly, sometimes not:rednoah wrote:This will catch it:Give me the whole path and I'll have a look which token is messing with it.Code: Select all
www[.][\w-.]+[.](com|net|tk|ro|cd|me|de)
Code: Select all
Rename episodes using [TheTVDB]
Auto-detected query: [www, Top Chef, www Torrenting com Top Chef]
Fetching episode data for [Christopher Hitchens]
Fetching episode data for [Top Chef]
Fetching episode data for [Top Chef Suomi]
Fetching episode data for [Top Chef Canada]
Fetching episode data for [Top Chef France]
Fetching episode data for [Top Chef España]
[MOVE] Rename [C:\Users\User\Downloads\TV\www.Torrenting.com - Top.Chef.S11E12.HDTV.x264-PLAYNOW\Top.Chef.S11E12.HDTV.x264-PLAYNOW.mp4] to [C:\Users\User\TV\Top Chef\Season 11\Top Chef - 11x12 - Mississippi Mud Bugs.mp4]Code: Select all
Rename episodes using [TheTVDB]
Auto-detected query: [www]
Fetching episode data for [Christopher Hitchens]
Stripping invalid characters from new path: C:/Users/User/TV/Christopher Hitchens/Season 0/Christopher Hitchens - 0x02 - Debate: Frank Turek
[MOVE] Rename [C:\Users\User\Downloads\TV\www.Torrenting.com - Saturday.Night.Live.S39.Special.Best.of.this.Season.HDTV.x264-2HD\saturday.night.live.s39.special.best.of.this.season.hdtv.x264-2hd.mp4] to [C:\Users\User\TV\Christopher Hitchens\Season 0\Christopher Hitchens - 0x02 - Debate Frank Turek.mp4]Code: Select all
Rename episodes using [TheTVDB]
Auto-detected query: [www, www Torrenting com Pretty Little Liars]
Fetching episode data for [Christopher Hitchens]
Stripping invalid characters from new path: C:/Users/User/TV/Christopher Hitchens/Season 0/Christopher Hitchens - 0x05 - Debate: The Three New Commandments
[MOVE] Rename [C:\Users\User\Downloads\TV\www.Torrenting.com - Pretty.Little.Liars.S04E14.HDTV.x264-LOL\pretty.little.liars.414.hdtv-lol.mp4] to [C:\Users\User\TV\Christopher Hitchens\Season 0\Christopher Hitchens - 0x05 - Debate The Three New Commandments.mp4]Code: Select all
Rename episodes using [TheTVDB]
Auto-detected query: [www, brooklyn nine nine, www Torrenting com Brooklyn Nine Nine]
Fetching episode data for [Christopher Hitchens]
Fetching episode data for [Brooklyn Nine-Nine]
[MOVE] Rename [C:\Users\User\Downloads\TV\www.Torrenting.com - Brooklyn.Nine.Nine.S01E12.HDTV.x264-2HD\brooklyn.nine.nine.s01e12.hdtv.x264-2hd.mp4] to [C:\Users\User\TV\Brooklyn Nine-Nine\Season 1\Brooklyn Nine-Nine - 1x12 - Pontiac Bandit.mp4]That's... really interesting. What do you mean by latest revisions, though?rednoah wrote:Haha, this one is really bad luck!
There's an anime names:[つまつま 人妻×人妻, WWW, Wife with Wife] which allows WWW to be part of the query, and it gets matched to names:[Christopher Hitchens, www.raydragon.com Presents...]Maybe shitty data in the IMDb when that one was scraped.
Try one of the latest revisions though. It works just fine despite those misleading query options.
Ah, I see. Didn't realize you were talking about the jar as opposed to the whole package. Thanks!rednoah wrote:FAQ -> Last Q
Code: Select all
cmd /c filebot -get-subtitles "%1" -non-strict --lang en --log-file context.log && filebot -get-subtitles "%1" -non-strict --lang da --log-file context.logCode: Select all
>filebot -script fn:osdb.loginCode: Select all
>Enter OpenSubtitles username: XX
Enter OpenSubtitles password: XX
Testing OpenSubtitles... OK
Done ?(?????)?Code: Select all
>filebot -script osdb.statsCode: Select all
FileNotFoundException: osdb.stats
java.io.FileNotFoundException: osdb.stats
at net.sourceforge.filebot.cli.ArgumentProcessor$DefaultScriptProvider.g
etScriptLocation(ArgumentProcessor.java:195)
at net.sourceforge.filebot.cli.ArgumentProcessor.process(ArgumentProcess
or.java:106)
at net.sourceforge.filebot.Main.main(Main.java:192)
Failure (░_░)
Launch4j: Failed to run the given command.
O sistema nπo pode encontrar o arquivo especificado.Still failing to get FileBot to run on my ReadyNAS, I'm not 100% sure of all its features. When I first came to this site I was looking for a program that did a few things that I've now had to resort to several different programs to work out. I'll go through my workflow:rednoah wrote: * What do you think it should like like?
* What use-cases do you have? What workflow do you think would make sense?
* What features should be supported?
Code: Select all
IF %1==11 (
IF /I %2==Television ("C:\Program Files\FileBot\filebot.exe" -rename %3 --db thetvdb --action move --conflict override -non-strict --output C:\Users\Jeremy\Videos\Television --format {n}\{n}.{s00e00}.{t})
IF /I %2==OldMovie ("C:\Program Files\FileBot\filebot.exe" -rename %3 --db imdb --action move --conflict override -non-strict --output "C:\Users\Jeremy\Videos\Old Movies" --format {n.replaceFirst^(/^^(?i^)^(The^)\s^(.+^)/, /$2, $1/^)[0]}\{n} ^({y}^){" CD$pi"})
PAUSE
)
PAUSErednoah wrote: Fetch subtitles for all folders:Options:Code: Select all
filebot -script fn:suball /path/to/media
--def maxAgeDays=7 set a max-age for files that will be processed, older files will be ignored
View Script:
https://github.com/filebot/scripts/blob ... all.groovy
Code: Select all
// filebot -script fn:suball <options> <folder>
def lastModifiedLimit = tryQuietly{ System.currentTimeMillis() - (maxAgeDays.toLong() * 24 * 60 * 60 * 1000) }
def young = { f ->
// ignore files that are too old
if (lastModifiedLimit != null && f.lastModified() < lastModifiedLimit)
return false
return true
}
def unsubbed = { f ->
// ignore files that already have subtitles
if (getMediaInfo(file:f, format:'''{media.TextCodecList}''').isEmpty())
return false
return true
}
/*
* Get subtitles for all your media files
*/
args.eachMediaFolder {
def videos = it.listFiles{ it.isVideo() }
// ignore videos that are too old or already have embedded subtitles
videos = videos.findAll{
if (!young(it)) {
_log.finest "Too OLD: " + it.getName()
return false
}
if (!unsubbed(it)) {
_log.finest "Already SUBBED: " + it.getName()
return false
}
return true
}
getMissingSubtitles(file:videos)
}Code: Select all
C:\Program Files\FileBot>filebot -script "C:\Program Files\FileBot\suball.groovy
" "T:\TVserier\Xxxx\Season 01"
Already SUBBED: Xxxx - 1x01 - Pilot.mkv
Already SUBBED: Xxxx - 1x02 - Title02.mkv
...
Already SUBBED: Xxxx - 1x13 - Title13.mkv
No missing subtitles
Done ?(?????)?
C:\Program Files\FileBot>pause
Press any key to continue . . .Code: Select all
C:\testdata>filebot -script fn:suball .
Exclude: C:\testdata\evangelion 1.11 480p dual audio w-soft subs.mkv
Exclude: C:\testdata\Lawrence of Arabia (1962).mkv
Get [English] subtitles for 1 files
Looking up subtitles by filehash via OpenSubtitles
Matched [Revolution - S02E18 - Austin City Limits.mkv] to [Revolution.2012.S02E18.HDTV.x264-LOL] via filehash
Fetching [Revolution.2012.S02E18.HDTV.x264-LOL.srt]
Writing [Revolution.2012.S02E18.HDTV.x264-LOL.srt] to [Revolution - S02E18 - Austin City Limits.eng.srt]Code: Select all
General
Unique ID : xxx (0xyyy)
Complete name : zzz
Format : Matroska
Format version : Version 2
File size : 995 MiB
Duration : 47mn 3s
Overall bit rate : 2 957 Kbps
Encoded date : UTC 2013-05-01 16:54:35
Writing application : mkvmerge v3.0.0 ('Hang up your Hang-Ups') built on Apr 19 2010 11:58:49
Writing library : libebml v0.7.7 + libmatroska v0.8.1
Video
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : [email protected]
Format settings, CABAC : Yes
Format settings, ReFrames : 9 frames
Codec ID : V_MPEG4/ISO/AVC
Duration : 47mn 3s
Bit rate : 2 450 Kbps
Width : 1 280 pixels
Height : 720 pixels
Display aspect ratio : 16:9
Frame rate mode : Constant
Frame rate : 23.976 fps
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.111
Stream size : 825 MiB (83%)
Writing library : x264 core 130 r2273 b3065e6
Encoding settings : cabac=1 / ref=9 / deblock=1:1:1 / analyse=0x3:0x133 / me=umh / subme=10 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=1 / me_range=24 / chroma_me=1 / trellis=2 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=0 / chroma_qp_offset=-2 / threads=14 / lookahead_threads=1 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=5 / b_pyramid=2 / b_adapt=2 / b_bias=0 / direct=3 / weightb=1 / open_gop=0 / weightp=2 / keyint=250 / keyint_min=23 / scenecut=40 / intra_refresh=0 / rc_lookahead=60 / rc=crf / mbtree=1 / crf=18.0 / qcomp=0.60 / qpmin=0 / qpmax=69 / qpstep=4 / ip_ratio=1.40 / aq=1:1.00
Language : English
Default : No
Forced : No
Matrix coefficients : BT.709
Audio
ID : 2
Format : AC-3
Format/Info : Audio Coding 3
Mode extension : CM (complete main)
Format settings, Endianness : Big
Codec ID : A_AC3
Duration : 47mn 3s
Bit rate mode : Constant
Bit rate : 448 Kbps
Channel(s) : 6 channels
Channel positions : Front: L C R, Side: L R, LFE
Sampling rate : 48.0 KHz
Bit depth : 16 bits
Compression mode : Lossy
Stream size : 151 MiB (15%)
Default : Yes
Forced : No