This is a snapshot release of SVN revision 2845. It is not stable code. It is unstable (and undocumented) development code which will one day lead to a stable release of HandBrake 0.9.4. But in order for that process to happen, it needs a lot more bug testing.
Download it now.
When you find broken things in this snapshot--which you will--post a thorough bug report in our bugs forum.
A full change log can be found on the Trac.
- Fix bug that was causing one sec. of audio to be dropped on many ffmpeg files
- bump x264 to r1271
- Libtheora bumped to 1.1.0
- Improvements to our theora implementation (2 pass encoding + soft target rate control)
- Fix srt track stop time. srt stop time was being set to the end of the start chapter instead of the end of the stop chapter.
- 64bit / 32 bit VLC detection
- Bug Fixes and Usability improvements.
- Bug Fixes.
- Update checker on MinGW built exe should now work correctly.
An afterword on project focus
As we've had on our roadmap for quite awhile now, one of our goals for version 0.9.4 is to refocus on HandBrake's key strengths and to remove dead weight. As part of this process, several presets, containers, and a codec have been removed from HandBrake.
* AVI: AVI is a rough beast. It is obsolete. It does not support modern container features like chapters, muxed-in subtitles, variable framerate video, or out of order frame display. Furthermore, HandBrake's AVI muxer is vanilla AVI 1.0 that doesn't even support large files. The code has not been actively maintained since 2005. Keeping it in the library while implementing new features means a very convoluted data pipeline, full of conditionals that make the code more difficult to read/maintain, and make output harder to predict. As such, it is now gone. It is not coming back, and good riddance.
* OGG/OGM: HandBrake's OGM muxer is just as out of date. It hasn't been actively maintained in years either, and it too lacks support for HandBrake's best features. It requires conditionals to work around missing functionality too...only this one gets tested so infrequently the conditionals were never even put in the code, so it just fails when you try to do anything advanced. This one is not coming back either. And yes, we're aware of HTML 5. For patent-free muxing, HandBrake still has Matroska.
* XviD: HandBrake, these days, is almost entirely about H.264 video, aka MPEG-4 Part 10. This makes it rather...superfluous to include two different encoders for an older codec, MPEG-4 Part 2. When choosing between FFmpeg's and XviD's, it came down to a matter of necessity. We need to include libavcodec (FFmpeg) for a bunch of other parts of its API, like decoding. Meanwhile, XviD's build system causes constant grief (it's the most common support query we get about compiling, after x264's requirement of yasm). Since we mainly use MPEG-4 Part 2 for testing/debugging, and recommend only H.264 for high quality encodes, Xvid's undisputed quality edge over FFmpeg's encoder is inconsequential, while FFmpeg's speed edge over XviD is important to us.
* Video game presets: There are no more presets for the PSP, PS3, or Xbox 360. Quite frankly, they didn't work well. None of the development team members own the devices, so testing was minimal and support was nonexistent. Keeping up with the firmware vagaries and ambiguous specifications of these devices was not fun -- we get enough of that from Apple's kit, and those we all have around to test on. The new "Normal" preset should work perfectly fine on any device that supports standard Main Profile H.264 with AAC-LC audio in an MP4 file, which the PS3 and 360 ostensibly do.