Forums > Jitter

mpeg playback…how to improve?

March 2, 2006 | 12:31 am

I’m trying to research ways of getting good mpeg playback (muxed mpeg 1 & 2) in Jitter. Obviously, jit.qt.movie isn’t going to do it, so perhaps an external might cut it. I’m not experienced enough to wrangle an external that does this myself, but I need to understand how such an external might operate!
On Windows, at least, windows media player plays mpeg MUCH better than QT movie player. Jumping frames in the player is actually possible – in QT, it’s very chunky, even on a fast machine. Would a jit.dx.movie player – using dx to create jitter matrices, rather than QT, even be possible? I know c74 has no intention of doing so, but a project I’m working on might require making a rudimentary object of that sort.
If anyone has any thoughts on how this might work, let me know!
If there are any good resources (google searches on mpeg are extremely cluttered) that can help me understand how one could overcome mpeg compression for realtime manipulation, that would be most helpful…

Thanks,

Peter.


March 2, 2006 | 12:49 am

Yes, QT’s mpeg implementation isn’t so great and at WWDC they
mentioned it having a completely different pipeline than other QT
codecs. Kind of odd. If you can’t batch convert offline, I might
suggest looking at using framedump->jit.matrixset (or a similar, but
slower, patcher based frame reading implementation for minimal
interruption of the rest of Jitter operations) if you have enough RAM
for it.

Otherwise, yes you’re looking at developing your own external for this.

Good luck.

-Joshua


March 2, 2006 | 2:18 am

yeah, i thought about the framedump operation, but the audio, of course
is left behind. oh did I mention i need to deal w/ audio too? :) And
framedump crashes w/ mpegs, i found in my experiments (another person
found that too, i noticed in another post).

so developing an external that uses directX (or something else?) would
be possible?
anyone out there capable of helping? it’s a "for profit" venture, so
contact me offlist if you can.

thanks,

p


March 2, 2006 | 2:24 am

If you did it with libmpeg2, your external could work on both windows and osx.

wes


March 2, 2006 | 3:51 am

groovy – thanks for the tip.


March 2, 2006 | 12:09 pm

No idea if this fits for your project but you could eventually experiment
with the VLC Player. ( http://www.videolan.org/vlc/). VLC treats MPEGs very
well and is able to send out a stream that can be used in Jitter…

John.


March 3, 2006 | 8:17 pm

btw, does anyone know anything about GPL? if 1 used this library in an
external, and the external in a standalone, would that standalone then
have to be GPL’ed?? It kind of seems so, but after chasing this stuff
around on google, i’m still not clear.

p


March 4, 2006 | 8:44 am

If the library is GPL, it can only be used with GPL applications, so
I’m afraid using it as part of an external for Max would violate the
license. Any piece of software made using the library would also have
to be distributed as GPL. If it is LGPL things are a bit less strict:

The GNU Project has two principal licenses to use for libraries. One
is the GNU Library GPL; the other is the ordinary GNU GPL. The choice
of license makes a big difference: using the Library GPL permits use
of the library in proprietary programs; using the ordinary GPL for a
library makes it available only for free programs.

http://www.gnu.org/philosophy/why-not-lgpl.html

The external still would have to be distributed as GNU LGPL.

Best,
Trond


March 4, 2006 | 4:32 pm

ok, thanks for clearing that up!

p.


Viewing 9 posts - 1 through 9 (of 9 total)