[mythtv] OSX backend obstacles?

Daniel Kristjansson danielk at cuymedia.net
Sun Dec 18 15:27:55 EST 2005

On Sun, 2005-12-18 at 14:06 -0500, David Abrahams wrote:
> Easier said than done, it turns out.  Well, I'm not an OSX programmer
> really, but the ways to access firewire video on OSX are myriad, and
> not well documented.  Even an experienced OSX programmer wouldn't have
> an easy time of it unless he were intimately familiar with this part
> of the API.

> I can capture it to a QuickTime file easily enough, but
> the innards of MythTv seem to want mpeg-2 frames (?) and it's not
> obvious how to deliver those using MacOS.  It's not even easy to
> understand what the mythtv code is doing, since libiec61883 isn't
> documented in any place that I could find.
It looks like you are looking at too high a level API. DTVRecorder
wants the raw MPEG-TS stream, without any repackaging in a quicktime
or other format.
There are probably 3 levels of API for OS X that are pertinent:
  IEEE-1394 : send & get data, allocate bandwidth, etc.
  IEC-61883 : send & get A/V commands, change channels, initiate
              streaming, get callbacks on MPEG2 data arriving.
  AV Capture: same commands as IEC-61883, except instead of
              getting callbacks on data you tell it where the
              data should go and it uses it's own callbacks
              to do mythtv's job of finding keyframes, cleaning
              up the stream, and sticking it in a container.
There are probably other libraries specific to hard-drives,
scanners, etc. And maybe even a library specific to DV devices
such as camcorders. The AV Capture library probably encapsulates
such a library in addition to other IEC-61883 devices. It is also
possible that no generic IEC-61883 library exists, and that you
must port the libiec61883 over to sit on top of the OSX raw
IEEE-1394 library, in which case this becomes a larger project.

You might also want to look for the HAVi acronym, this is DV + PnP
and usually sits directly on top of the systems IEC-61883 library;
see what dependencies the HAVi or DV library has and you might just
find out what OSX calls their IEC-61883 library.

Hmm, just turned this up in a google:
Perhaps this "FireWireMPEG.framework" is what you are looking for?
"supports IEC 61883-4 transmission and reception of MPEG2-TS packets..."

-- Daniel

More information about the mythtv-dev mailing list