Movie playback and SDL

Hello again,
I want to add full screen (800x600) video playback to the project I
am currently working on. Can anyone suggest any SDL compatible
libraries that they’ve used that will accomplish this feat. I really
want the quality to be high, MPEG1 compression just doesn’t seem quite
good enough, say near DVD quality. Space isn’t really too much of a
consideration. Any opinions would be greatly appreciated.
Robert

SMPEG

Check the Libraries page under www.libsdl.org

-bill!On Thu, Nov 21, 2002 at 07:23:17PM -0600, Robert Diel wrote:

Hello again,
I want to add full screen (800x600) video playback to the project I
am currently working on. Can anyone suggest any SDL compatible
libraries that they’ve used that will accomplish this feat.

Ok so now I am attempting to compile said library, and first off, I had
to include <string.h> in a couple of files in order for it even to get
past the point of compilation. Now, it won’t link, complains about a
bunch of missing X function calls. Anyone run into this, by the way I
am using 0.3.5.
RobertOn Thu, 2002-11-21 at 18:32, Bill Kendrick wrote:

On Thu, Nov 21, 2002 at 07:23:17PM -0600, Robert Diel wrote:

Hello again,
I want to add full screen (800x600) video playback to the project I
am currently working on. Can anyone suggest any SDL compatible
libraries that they’ve used that will accomplish this feat.

SMPEG

Check the Libraries page under www.libsdl.org

-bill!


SDL mailing list
SDL at libsdl.org
http://www.libsdl.org/mailman/listinfo/sdl

Note that this is an MPEG1 library, which you seemed to not want to be
restricted to. From what I understand, it’s not very well-optimized,
either.

I don’t believe there are any better alternatives to MPEG1 that aren’t
patent-encumbered, though …On Thu, Nov 21, 2002 at 11:41:26PM -0600, Robert Diel wrote:

Ok so now I am attempting to compile said library, and first off, I had
to include <string.h> in a couple of files in order for it even to get
past the point of compilation. Now, it won’t link, complains about a
bunch of missing X function calls. Anyone run into this, by the way I
am using 0.3.5.


Glenn Maynard

Then I guess I’ll quit trying to compile it. I am suprised that there
isn’t any other library for this. I would assume that others have
attempted to put high-end full screen video in their games. Well, how
about integrating libmpg2 with SDL as a solution, would this be biting
off more then I can chew. Meaning will they act well together, or
should I be looking at something else as a solution? I mean if it comes
to it I can use multiple PNGs and just hand sync the sound, but this
seems awfully wasteful.
RobertOn Thu, 2002-11-21 at 23:10, Glenn Maynard wrote:

On Thu, Nov 21, 2002 at 11:41:26PM -0600, Robert Diel wrote:

Ok so now I am attempting to compile said library, and first off, I had
to include <string.h> in a couple of files in order for it even to get
past the point of compilation. Now, it won’t link, complains about a
bunch of missing X function calls. Anyone run into this, by the way I
am using 0.3.5.

Note that this is an MPEG1 library, which you seemed to not want to be
restricted to. From what I understand, it’s not very well-optimized,
either.

I don’t believe there are any better alternatives to MPEG1 that aren’t
patent-encumbered, though …


Glenn Maynard


SDL mailing list
SDL at libsdl.org
http://www.libsdl.org/mailman/listinfo/sdl

Er? If MPEG1 isn’t good enough, animating PNGs certainly won’t be.
It’d take more CPU than you’re likely to have to decode 20+ high-res
PNGs/sec, and it’d probably take a few megs per second of data.

I don’t know if SMPEG handles MPEG2. (I believe the primary difference
between MPEG1 and MPEG2 for generic purposes is that MPEG2 goes to
higher bitrates, such as those used on DVDs.)On Thu, Nov 21, 2002 at 11:58:20AM -0600, Robert Diel wrote:

Then I guess I’ll quit trying to compile it. I am suprised that there
isn’t any other library for this. I would assume that others have
attempted to put high-end full screen video in their games. Well, how
about integrating libmpg2 with SDL as a solution, would this be biting
off more then I can chew. Meaning will they act well together, or
should I be looking at something else as a solution? I mean if it comes
to it I can use multiple PNGs and just hand sync the sound, but this
seems awfully wasteful.


Glenn Maynard

I have an animation, that’s about 40 bmps full screen, 800x600x32, and
yes it’s really big, but I’m also frame limiting playback to 50fps, and
it’s definitely running something close to that. I haven’t put an FPS
counter in, but visually it looks much faster then the After Effects
preview, going at 30 fps. The problem is exactly the one you are
pointing out, it’s just way too BIG. it would be nice if I could
compress this animation into something a bit more useful, but the
compression needs to be close to lossless, otherwise the playback looks
rather bad. I mean I wouldn’t mind like 10-15meg per second for a
fullscreen animation, but right now its looking a lot closer to 40. the
biggest problem is this animation, much like a video, doesn’t really
have any elements that I can easily split up and animate separately on
like some kind of set background, so i was hoping to throw out the
middle man and compress it as some sort of near lossless video and play
that back through SDL.
For BMPs decompression isn’t a concern, I have another animation, that’s
about 36 PNG frames, a bit less then a sec. I pre-load this animation
into memory. It runs rather quickly, but I know I’ll start running into
memory constraints rather soon and need to put together some kind of
memory caching to load and unload images as needed. Again, I was hoping
to avoid this by finding some kind of video format that I could read and
display on the fly, so that all this could be avoided.

Thank you for your help so far,
RobertOn Fri, 2002-11-22 at 00:29, Glenn Maynard wrote:

On Thu, Nov 21, 2002 at 11:58:20AM -0600, Robert Diel wrote:

Then I guess I’ll quit trying to compile it. I am suprised that there
isn’t any other library for this. I would assume that others have
attempted to put high-end full screen video in their games. Well, how
about integrating libmpg2 with SDL as a solution, would this be biting
off more then I can chew. Meaning will they act well together, or
should I be looking at something else as a solution? I mean if it comes
to it I can use multiple PNGs and just hand sync the sound, but this
seems awfully wasteful.

Er? If MPEG1 isn’t good enough, animating PNGs certainly won’t be.
It’d take more CPU than you’re likely to have to decode 20+ high-res
PNGs/sec, and it’d probably take a few megs per second of data.

I don’t know if SMPEG handles MPEG2. (I believe the primary difference
between MPEG1 and MPEG2 for generic purposes is that MPEG2 goes to
higher bitrates, such as those used on DVDs.)


Glenn Maynard


SDL mailing list
SDL at libsdl.org
http://www.libsdl.org/mailman/listinfo/sdl

Check for MPEG4IP. It comes with modified SDL. It makes MP4 movies and
includes encoding and decoding exaples.On Thursday 21 November 2002 21:25, Robert Diel wrote:

I have an animation, that’s about 40 bmps full screen, 800x600x32, and
yes it’s really big, but I’m also frame limiting playback to 50fps, and
it’s definitely running something close to that. I haven’t put an FPS
counter in, but visually it looks much faster then the After Effects
preview, going at 30 fps. The problem is exactly the one you are
pointing out, it’s just way too BIG. it would be nice if I could
compress this animation into something a bit more useful, but the
compression needs to be close to lossless, otherwise the playback looks
rather bad. I mean I wouldn’t mind like 10-15meg per second for a
fullscreen animation, but right now its looking a lot closer to 40. the
biggest problem is this animation, much like a video, doesn’t really
have any elements that I can easily split up and animate separately on
like some kind of set background, so i was hoping to throw out the
middle man and compress it as some sort of near lossless video and play
that back through SDL.
For BMPs decompression isn’t a concern, I have another animation, that’s
about 36 PNG frames, a bit less then a sec. I pre-load this animation
into memory. It runs rather quickly, but I know I’ll start running into
memory constraints rather soon and need to put together some kind of
memory caching to load and unload images as needed. Again, I was hoping
to avoid this by finding some kind of video format that I could read and
display on the fly, so that all this could be avoided.