“Final” Handbrake Transport Streams Patch

Probably not totally final – since it has at least one issue (but I think it’s a edge case) – but I’ve put a pretty much complete patch at http://awkward.org/handbrake/mpeg2-ts-patch.tar.gz

In addition to applying the patch you’ll need to manually add libhb/stream.c to the XCode project (and/or Makefile if you use that).

This patch should handle program streams with both MPEG and AC-3/A.52 audio formats, it will also handle transport streams with AC-3/A.52. However transport streams with audio formats won’t work (you’ll probably just get silence, it might crash). Unfortunately I don’t have much sample media to divine what’s really going on, and for my other project it’s not something I need (otherwise I’d have a lot more test data 8-).

So try it out – let me know of bugs – on the Handbrake Forum is probably best.

Posted under Handbrake

This post was written by awk on May 16, 2007

3 Comments so far

  1. Jens Kristian Jensen June 2, 2007 5:55 am

    Thank you for your work on MP2PS&TS support in Handbrake. I almost bought the commercial DVD Ripper for Mac program when I stumbled over your patches.

    However I cannot get it to work. Exactly what svn version should the latest patch be applied against? In what order should I compile, apply patch etc?

    Here are the problem I encountered:

    There appear to be an include patch missing in libhb to contrib/libdca/include to find dca.h. However even fixing this does not solve all my build problems.

    There is a missing typedef of hb_stream_t (typedef struct hb_stream_s hb_stream_t;
    I assume). I wonder how the source would ever comile without this as _t is used elsewhere.

    If I build from the XCode project without first having built with Jam, the external libraries are missing.

    libtoolize was missing from my system. Do you know which fink package it is part of? I symlinked it to glibtoolize, which brought me a little further, but still there is some configuring during libhb build which fails.

    I have extensive knowledge with MPEG2TS&PS as I program DVB digital TV and UPnP player at work. I would like to help out here, but I have little experience with Handbrake apart as a user.
    Please drop me a mail and help me help you.

  2. awk June 2, 2007 12:51 pm

    It should work with ‘head’ however I’ve not tested it recently (too many other things on my plate).

    The dca.h problem is part of the DTS Audio support work and not related (directly) to my patch. There’s some information on the forums (search for ‘problems building svn’ on the fix.

    I’m not sure why you’re having a problem with hb_stream_t – that’s a new one to me.

    It does sound like most of your issues are with the DTS/dca stuff, and I’d look to the handbrake forums for that.

    If I have time I’ll try and make sure my patch is up to date for svn head and see if there’s a consensus to get it submitted.

  3. Jens Kristian Jensen June 2, 2007 2:35 pm

    I should of course have added that I tried to build the latest svn version before I applied your patches. That gave me a working Handbrake.app when using Jam and build errors when using XCode. The mentioned problems only began after applying the Mpeg2 patch. Sounds like I patched against an incompatible version.

    Your changes sounds exactly like what I need to rip DVDs to play them on a DVB UPnP STB using a non-transcoding UPnP media server. I could imagine many people in that situation and as such submitting the changes would make good sense IMHO.

    I fully understand the time limitation and suffer badly from it myself. Work, kids, house first – then hobby projects. Usually after midnight ;-)

Leave a Comment

Name (required)

Email (required)



More Blog Post