jeffreyparker / brakejob Goto Github PK
View Code? Open in Web Editor NEWHandBrake helper to batch encode TV show DVDs with additional subtitle support
License: GNU General Public License v2.0
HandBrake helper to batch encode TV show DVDs with additional subtitle support
License: GNU General Public License v2.0
If you just need to quickly set-it-and-forget-it, it's probably better to just
encode more/everything, and delete the duplicates/menus/etc.
Filters should probably be opt-in instead of opt-out. Maybe it should still do
the scan, and warn the user about potential duplicates/menus if they're
detected.
Original issue reported on code.google.com by jeffreyparker
on 13 Jul 2010 at 1:40
Some users might want to encode movies differently than tv shows, e.g. they
might want to give movies a higher quality and perhaps a different audio format.
I think I should keep the existing "handbrake-args", but also add
"handbrake-args-movie" and "handbrake-args-tv", and if either of those are
present they override handbrake-args.
Original issue reported on code.google.com by jeffreyparker
on 5 Aug 2010 at 3:05
Using the last patch I submitted, I noticed as a result of a logistic error on
my part (a Bluray was stored in a DVD box)
BRAKEJOB ALSO WORKS PERFECTLY WITH BLURAYS !!!!!
One condition : you need to use a nightly build of HandbrakeCLI if you want to
include PGS subtitles. Apparently this has not been merged into a release yet.
This is awesome.. I changed the autoplay for DVD's and bluerays to start
encoding my preferred audio + burn in preferred subtitle using
Brakejob/HandbrakeCLI when a disc is inserted. When it's done, it spits the
disc out again. Include an auto-loader and you have serial ripping :)
Original issue reported on code.google.com by [email protected]
on 21 Jun 2013 at 9:50
If there are multiple titles with the same duration, only the first title will
get converted.
OS: Windows, compiled version.
Original issue reported on code.google.com by [email protected]
on 5 Oct 2012 at 11:22
BrakeJob filters out titles it thinks shouldn't be encoded (DVD menus, special
features, duplicates, etc)
There's already the --no-duplicate-detection flag to force encoding of possible
duplicates, but there should also be a flag to not filter out anything. Some
users might want to just encode *everything* while away and simply delete the
unneeded files afterwards.
Original issue reported on code.google.com by jeffreyparker
on 8 Jun 2010 at 3:25
Some movies include both the widescreen and fullscreen versions on the same
disc. BrakeJob should be able to detect if both versions are present and prefer
the widescreen version by default. There should be a --use-fullscreen flag to
prefer the widescreen version instead.
Original issue reported on code.google.com by jeffreyparker
on 8 Jun 2010 at 3:28
On Windows, installing the HandBrake GUI also installs the HandBrakeCLI.
BrakeJob should look for this and use it if available.
I don't believe the Linux and OSX versions of HandBrake GUI come with the CLI
by default. BrakeJob should still try to look for the system-appropriate binary
in the same directory rather than always looking for HandBrakeCLI.exe
Not a critical feature but would greatly improve the ease-of-use for beginning
users.
Original issue reported on code.google.com by jeffreyparker
on 8 Jun 2010 at 3:33
BrakeJob theoretically works on Linux and OSX, but it should at least be tested
once...
Original issue reported on code.google.com by jeffreyparker
on 8 Jun 2010 at 3:26
Currently BrakeJob scans and encodes one disc at a time. This works okay, but
it'd be nice to scan all discs "up front" so it can alert the user of any
potential errors before starting the encodes.
Original issue reported on code.google.com by jeffreyparker
on 8 Jun 2010 at 3:35
Currently, Handbrake only support audio language selection by number, not by
ISO language code. I adapted my favorite HandbrakeRunner to include audio
selection. Currently, it takes the first audio track it finds in a comma
seperated argument list, but it could easily include ALL desired language by
removing the break on line 319.
I also (again) added the bugfix for discs with > 10 aubtitle/audio tracks.
The sort is done on the integer value of the counter, instead of on the string
itself.
So now track 9 comes BEFORE track 10 (previous order : 1 10 11 12 2 3 4 5 6 7 8
9 => now 1 2 3 4 5 6 7 8 9 10 11 12) convenient when having director commentary
tracks (usually in the back)
Original issue reported on code.google.com by [email protected]
on 6 Jun 2013 at 12:54
Attachments:
Currently hardcoded to assume all DVDs are TV show discs. It needs scan the
titles and do some guessing as to which type of disc it is.
Original issue reported on code.google.com by jeffreyparker
on 8 Jun 2010 at 3:08
Currently it only scans 2 levels deep, e.g. you can have a folder of DVD
folders to be encoded. There can't be any hierarchy beyond that though, which
can be a problem if your DVD folders are organized a specific way.
Original issue reported on code.google.com by jeffreyparker
on 13 Jul 2010 at 1:43
What steps will reproduce the problem?
1.Rip multiple TV episode DVD images to the source directory
2.Call brakejob.py specifying top level source folder with desired arguments
including --tv-detection option, and initially the --verbose option, e.g python
brakejob.py --source-dir "/home/richard/Videos/" --output-dir
"/home/richard/Videos" --tv-detection --extension mkv --handbrake-args "-Z
Normal -f mkv --detelecine --decomb" --verbose
3.
What is the expected output? What do you see instead?
I had expected brakejob to list all titles matching the tv filter criteria for
each of the DVD images/directories in the top level source folder. Instead it
returns just a single title for each of the DVD directories. If I specify a
single DVD folder as source then it correctly returns a scan of all the titles.
What version of the product are you using? On what operating system?
I'm using version 0.1.2 under Ubuntu 10.04
Please provide any additional information below.
Could be I'm just doing something wrong. I think this is a great script and if
I could leave it to churn away on multiple DVD'd that have been extracted to
hard drisk it would be awesome! Thanks for sharing.
Original issue reported on code.google.com by richardcclarke
on 20 Nov 2010 at 7:21
Current duplicate detection relies only on title length in seconds. Some TV
shows have exactly the same length episodes, so some episodes are incorrectly
decided to be duplicates.
I can't think of any easy way around this offhand. Somehow parsing the subtitle
text should be a fairly foolproof method of finding duplicates.
Original issue reported on code.google.com by jeffreyparker
on 8 Jun 2010 at 3:12
When BrakeJob fails to find the HandBrakeCLI binary, (correctly) it prints out
an error message describing the problem and then (incorrectly) crashes.
Nothing critical, but looks bad...
Original issue reported on code.google.com by jeffreyparker
on 8 Jun 2010 at 3:21
There's currently no way to tell what version the program is at. Needs a
--version flag
Original issue reported on code.google.com by jeffreyparker
on 8 Jun 2010 at 4:20
The threshold parameter does not work as planned. On windows I cannot enter a
digit (e.g. 0.15). It will give an error:
Traceback (most recent call last):
File "brakejob.py", line 463, in <module>
File "brakejob.py", line 457, in main
File "brakejob.py", line 265, in encode_disc_with_settings
File "brakejob.py", line 190, in filter
File "brakejob.py", line 220, in filter
ValueError: invalid literal for int() with base 10:
'0.150.150.150.150.150.150.150.150.150.150.150.150.150.150.150.150.150.150.150.1
50.150.150.150.150.150.150.150.150.150.150.150.150.150.150.150.150.150.150.150.1
50.150.150.150.150.150.150.150.150.150.15'
A number like 1 or 2 will work, but that results in a hit on all titles.
Original issue reported on code.google.com by [email protected]
on 5 Oct 2012 at 11:19
While HandBrake is encoding, it prints *tons* of encoding info. Ideally it
should print only the percent complete.
Original issue reported on code.google.com by jeffreyparker
on 8 Jun 2010 at 3:18
Casting threshold value from string to float before multiplying by base_length.
Otherwise you'll get a parse error like the following:
ValueError: invalid literal for int() with base 10:
'.20.20.20.20.20.20.20.20.20.20.20.20.20.20.20.20.20.20.20.20.20.20.20.20.20.20.
20.20.20
.20.20.20.20.20.20.20.20.20.20.20.20.20.20.20.20.20.20.20.20.20.20.20.20.20.20.2
0.20.20.20.20.20.20.20.20.20.20.2'
Original issue reported on code.google.com by [email protected]
on 9 Mar 2013 at 11:19
Attachments:
Nice tool ! love it. Hope you'll get back to it one day (since it seems dead
since a year...)
I'm rediculously lazy, so i modified your code so it'll encode both movies and
tv-series. I then changed the auto-play setting on Win7, slapped on an eject
function and voilà : zero effort DVD ripping galore.
I only had to tweak your code JUST a little
* You select the second longest title and start threshold from there. This
makes it impossible to encode movies or 2-part tv eps without getting all the
small tiny titles as unwanted artefacts... I turned it around and started with
the longest title and a threshold of 55%.
That way movies encode fine (and only the movies), and tv series encode fine as
well, even the ones with double-feature length.
code change :
219 : base_length = int(titles[-1]['duration']) # Length of longest title
* Subtitle track sorting : your sort your subtitle tracks using the dictionary
key, but that's a string ! so if you live in a region with loads of subtitle
languages (Europe), your tracks will be sorted like this :
1 10 11 12 13 14 15 2 3 4 5 6 7 8 9
Because of that, you have a high chance to wind up with the director commentary
subs or subs for the hearing impaired. I changed the sort statement to cast the
keys to int's before sorting.
code change :
316 : tracks.sort(key=int)
And things seem peachy now.
Thanks again for your effort !
Original issue reported on code.google.com by [email protected]
on 30 Sep 2011 at 11:50
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.