[DOC] HandBrake Architectural Guide

Archive of historical development discussions
Discussions / Development has moved to GitHub
Forum rules
*******************************
Please be aware we are now using GitHub for issue tracking and feature requests.
- This section of the forum is now closed to new topics.

*******************************
Post Reply
davidfstr
Enlightened
Posts: 149
Joined: Sun Apr 12, 2009 7:41 pm

[DOC] HandBrake Architectural Guide

Post by davidfstr »

I've written up all of my notes that I took while learning HandBrake. I imagine they will assist new would-be contributors to the project. May also be useful reference for regulars. Embedded links: See any errors?

What would be the best way to post this? Convert to Trac?
User avatar
s55
HandBrake Team
Posts: 10350
Joined: Sun Dec 24, 2006 1:05 pm

Re: [DOC] HandBrake Architectural Guide

Post by s55 »

Source Code Layout:

* build/
o contrib/ (External libraries that HB depends on)
* gtk/ (Windows GUI)
* libhb/ (HandBrake Core)
* macosx/ (Mac GUI)
* qt4/ (Linux GUI)
* test/ (Command Line Interface)
WinGui is in the Win/C# Folder, not GTK.
GTK is the Linux GUI
GT4 is an abandoned Linux GUI that hasn't been updated in a very long time.
jbrjake
Veteran User
Posts: 4805
Joined: Wed Dec 13, 2006 1:38 am

Re: [DOC] HandBrake Architectural Guide

Post by jbrjake »

Wow, nice. Yes, this should go in the Trac, on this page: http://trac.handbrake.fr/wiki/HandBrakeDesign

Adding new Trac users might still be broken, though, so it might have to go through an existing user.
User avatar
JohnAStebbins
HandBrake Team
Posts: 5712
Joined: Sat Feb 09, 2008 7:21 pm

Re: [DOC] HandBrake Architectural Guide

Post by JohnAStebbins »

1/90000 sec ticks were chosen because this is the timebase defined by the mpeg spec for timestamps in program streams and handbrake was originally only for transcoding DVD's which are program streams.

Thanks for the docs :D
dynaflash
Veteran User
Posts: 3820
Joined: Thu Nov 02, 2006 8:19 pm

Re: [DOC] HandBrake Architectural Guide

Post by dynaflash »

wow, nice. I also like it. Especially the pic of the hand written notes !
eddyg
Veteran User
Posts: 798
Joined: Mon Apr 23, 2007 3:34 am

Re: [DOC] HandBrake Architectural Guide

Post by eddyg »

Good stuff, thanks for that.

As for libsamplerate - it's used (no big surprise here) for changing the sample rate of the audio :)

This is when the input sample rate (in khz) is different to what you need it in the output, I use it to upsample flash video audio for kids snippets from 22Khz up to 48Khz, which (to my ear) sounds better due to some clever interpolation that libsamplerate does.

Cheers, Ed.
davidfstr
Enlightened
Posts: 149
Joined: Sun Apr 12, 2009 7:41 pm

Re: [DOC] HandBrake Architectural Guide

Post by davidfstr »

s55 wrote: WinGui is in the Win/C# Folder, not GTK.
Well now I feel sheepish. For some reason my copy of the source that I use for browsing didn't have the win/ directory checked out. :roll:
JohnAStebbins wrote:1/90000 sec ticks were chosen because this is the timebase defined by the mpeg spec for timestamps in program streams and handbrake was originally only for transcoding DVD's which are program streams.
Updated.
eddyg wrote:As for libsamplerate - it's used (no big surprise here) for changing the sample rate of the audio :)
Updated.
jbrjake wrote:Wow, nice. Yes, this should go in the Trac, on this page: http://trac.handbrake.fr/wiki/HandBrakeDesign

Adding new Trac users might still be broken, though, so it might have to go through an existing user.
Trac is broke? Would be cool to fix it, as I wouldn't be able to directly update any docs I create when they (inevitably) become out of date.
davidfstr
Enlightened
Posts: 149
Joined: Sun Apr 12, 2009 7:41 pm

Re: [DOC] HandBrake Architectural Guide

Post by davidfstr »

Have Trac access now. (Thanks jbrjake!)

So I'll work on integrating this into the Trac in the next day or two.
davidfstr
Enlightened
Posts: 149
Joined: Sun Apr 12, 2009 7:41 pm

Re: [DOC] HandBrake Architectural Guide

Post by davidfstr »

Finished converted the guide to Trac. After a good 2 hours of work...

Reachable via: A tad deep. Would it make sense to surface this directly on the "Technical Documents" page?
Update: Nah. It's probably fine.
Deleted User 11865

Re: [DOC] HandBrake Architectural Guide

Post by Deleted User 11865 »

Minor issue I noticed: http://trac.handbrake.fr/wiki/HandBrake ... VIMicrooft

cfr means constant framerate, not constant bitrate (and AVI requires constant framerate).

Unless that's also part of what should amuse us? :-)
davidfstr
Enlightened
Posts: 149
Joined: Sun Apr 12, 2009 7:41 pm

Re: [DOC] HandBrake Architectural Guide

Post by davidfstr »

Rodeo wrote:cfr means constant framerate, not constant bitrate (and AVI requires constant framerate).
Fixed.
Rodeo wrote:Unless that's also part of what should amuse us? :-)
Hehe. Speaking of amusements, I'll be adding some actual excerpts from the code soon - to cater to our users who wouldn't otherwise look.
Post Reply