[gst-devel] media player

Erik Walthinsen omega at temple-baptist.com
Thu Sep 27 10:48:20 CEST 2001


On Thu, 27 Sep 2001, francine jeremie wrote:

> I plan to make a media player  with a specific MMI which can manage Two
> DVD-ROMs playing DVD movie, a camera and one DTV tuner. It should be
> possible to display the the 2 videos generated by the2  modules
> together (with incrustation ).
> Is gstreamer a good tool for my project?

Sure.  While full DVD playback doesn't exist yet, there are quite a few
people working on it.  David Lehn (taaz) has a player built with GStreamer
that work pretty well for basic video.  Billy Biggs (vektor) has a
non-GStreamer player that works even better, and we're all unpatiently
waiting for him to merge his ideas and code into GStreamer's plugins.

If you've got hardware to do the decode, it gets even easier, though we'll
have to make a plugin to transfer the data from the drive to the decoder
card, which in practice is really easy.

For the camera, there are several options.  If it's a V4L device (like
a bt848 chip or a USB webcam), it should be pretty easy to get the video
to go where you want.  If it's a DV source (like a camcorder plugged into
firewire), you'll have to use the libdv plugin, which isn't so fast yet (I
wrote it initially, and need to go back and rewrite it in pure x86 asm to
make it as fast as I can).

DTV is typically just MPEG-2, like a DVD, but without the navigation.  If
you can get the data from the card, we can decode it.   If the card has
its own decoder taht's accessible from the CPU, we can use that to play
back most/all of the DVDs, even.

As for merging, that can only really be done if the decode of all the
video sources occurs in software, or the decoder chip(s) can route the
decoded video back into the CPU (they typically go straight to a hardware
output).  Depending on what kind of merging you need, it can be pretty
expensive.

The biggest problem you'll find is that the processing requirements for
all of this are going to be pretty high.  A DVD/DTV decoder can be run on
roughly a (theoretical) 300MHz Pentium III.  The DV decoder currently
runs realtime on a Duron 700MHz, according to some reports, but should
really be about twice as fast.  Video merging can take a while too, but
not anywhere near the video decode.

If you have choice of platform, a G4 PPC would be better, since the
libmpeg2 author has been able to pull 90fps (3 times realtime) from a
400MHz G4 Mac, meaning that you might be able to pull off simultaneous
decode of 2 DVDs and a DTV source on a 500MHz G4.

What kind of environment are you building this application for?

      Erik Walthinsen <omega at temple-baptist.com> - System Administrator
        __
       /  \                GStreamer - The only way to stream!
      |    | M E G A        ***** http://gstreamer.net/ *****
      _\  /_





More information about the gstreamer-devel mailing list