Re: Mplayer Bonoboized: lumiere (gstreamer - standardization)



Hi all,

I'm not a gui / mmedia developer myself..

On Mon, 2003-01-06 at 00:03, ' ' wrote:
This is natural for Free Software, that there are
multiple solutions.  The existences of GNOME and KDE
are one example.  Multiple media frameworks is a small
matter comparing to the "duplication" at the desktop
level.

I think duplication at the desktop level is the same kind of problem, but a 
smaller one in some areas, and a larger one in others. I think it is a 
smaller problem in that there are only two "major" desktops with their own 
widget sets and libraries, whereas there are many more than two media 
players with different frameworks. Putting together a system that runs the 
maximum number of graphical applications is a matter of installing two 
desktops. Putting together a system that plays the maximum number of media 
types is a matter of installing a number of media players.

Umm.. Maybe you should stay in touch with mplayer development. Right now
mplayer can play almost(*) all formats including the latest Quicktime
files with sorenson video & qdm audio.

* --> I say almost all formats lest someone should come up and inform
the list about a new/obscure codec/format which is not supported :-)

Regards,
Imran


On the other hand, not every user needs to deal with multimedia, while 
nearly every user (and "potential" [read windows] user) needs to use a 
desktop environment with a file manager, task area, program launcher system, 
etc. In this way, the division of desktop software is more harmful as it 
divides the user base (i.e. it is 50% less likely that the average new 
gnu/linux user can lean into the next cubicle, ask a question about her 
desktop environment, and get an answer from someone else using the same 
environment (*1) ) and it divides the developer base. I'm not saying, of 
course, that having more developers work on the same project means better 
software (in fact sometimes the opposite is true), but whenever a new 
application developer wants to create a graphical app, he must choose 
between Qt and GTK+. In the most practical sense, having a single, standard 
gnu/linux desktop would cut down on average install size (no libs for the 
"other" desktop would be needed).

However, I think it would be far, far more difficult to standardize on one 
desktop environment than it would be to standardize on one multimedia 
system. The differences between those that support Qt and those that support 
GTK+ are, many times, idealogical. People who develop for Qt believe that 
commercial developers who wish to take advantage of Qt should have to pay in 
order to do so. They intend to make money, and they should have to give some 
of it to those who created the software that allowed them to make the money 
in the first place. People who develop for GTK+ believe that anyone should 
be able to use widget libraries in any way they choose without cost, but 
should be prevented from benefitting from modifying those widget libraries 
without giving those modifications back to the community that wrote the 
overwhelming majority of the code. Others pick one widget set over the other 
for aesthetic reasons. Getting an author of a Qt program to switch to GTK+ 
or vice versa would often mean changing their ideas of right and wrong. On 
the other hand, multimedia application authors tend to write their own 
backends, and the overwhelming majority of them are licensed under the GPL. 
Getting authors of multimedia applications to standardize on one media 
framework would be a matter of convincing them that one framework is 
superior to another.

In my opinion, at least, changing someone's value system is much harder than 
proving to them the technological superiority of a piece of code compared to 
another. I believe that standardizing on a single multimedia framework is 
both an important goal and an attainable one.

(*1) I realize that in a work environment where gnu/linux is used as the 
primary OS, it is likely that the person in the next cubicle would be using 
the same distro/desktop. I think the point is still valid that multiple 
desktop environments divide the user base.

-----

However, one has to wonder how much mplayer takes away
from gstreamer.  Mplayer actually is a good example of
using multiple codecs available on GNU/Linux, and
gstreamer actually share some of the same codecs
(ffmpeg).  In Free Software, sharing occurs naturally.
 Multiple efforts do not necessary lead to waste.
MPlayer wraps around many codec interfaces.  Same for
gstreamer.

I think the gist of your email is that:
1. Mplayer is a good media player.
2. The existance of mplayer does not take much away from gstreamer.

I think that while those are valid points, a grand unified gnu/linux 
multimedia framework for all gnu/linux multimedia applications could only 
make things better. Without one, it is more difficult for commercial codec 
companies to port their codecs to linux. The easier it is to port commercial 
software on linux, the more commercial support for linux there will be.

On the other hand, what about divx? As far as I know, divx.com only released 
one linux binary per version of their codec (although they have still not 
ported version 5.02 encoder support), and yet mplayer, xine, and gstreamer 
are all able to use it. This is because each team working on a linux 
multimedia player independently implemented support for it. If there had 
been a single, unified gnu/linux multimedia framework, only one group of 
developers would have had to code support for it. The other groups could 
have spent their time doing other things, and received double the benefit 
for the same amount of work.

-----

Besides, mplayer and gstreamer are really independent
projects.  Existence of a mplayer bonobo component
really takes no resource away from gstreamer.

This I have to disagree with. While the developers may not distract 
eachother, the users are definitely divided. Let's say that someone comes up 
with a great idea for a new piece of linux PVR software (like freevo or 
mythtv). They have to decide if they want to embed the gstreamer bonobo 
component, or the mplayer bonobo component. Whichever one they go with, if 
the PVR software becomes popular, the other one will not receive valuable 
feedback and bug reports from end users and derivative software developers. 
Not only does this make the work of the other component developers harder, 
but the users of software embedding that other component do not get the 
benefit of a large, bug-reporting user base. If, on the other hand, 
gnu/linux did have a single multimedia framework, improvements could be 
instantly available to everyone.

I realize that simply stating the problem without posing a solution is not 
going to get anyone anywhere. This is why I'm making the following 
suggestions:

To the developer of the lumiere bonobo component:
-You have stated that your component is a very early beta version, and does 
not yet implement core features, such as the ability to stop once started. 
Further down the line, when you may have invested a considerable amount of 
effort in your bonobo component, it will be much harder to stop development. 
I suggest you do that now, and instead encourage those looking for a 
multimedia bonobo component to use gstreamer. It is available, usable, and 
gives applications every capability listed on the gstreamer.net web site.
-While gstreamer plays a highly respectable variety of media types, encoding 
support for those media types (something mplayer does not have at all!) is 
progressing more slowly and can use extra developers. According to a 
developer in the #gstreamer chat room, one of the programmers changed his 
focus from developing the mpeg2 video encoder and mpeg2 muxer components to 
other, more critical aspects of gstreamer and now those mpeg2 components are 
incomplete. Working on those, if you are so inclined, would be a great way 
to exercise your coding muscles. As an added benefit, your code would 
instantly become part of far more applications than a bonobo component you 
just started writing from scratch -- your name would end up in a very 
important "special thanks" file.
-If writing video codecs is not your thing, you might want to work on 
gstreamer language bindings. Judging from the beginnings of the lumiere 
bonobo component, you seem to like bringing already-written capabilities to 
brand new applications. How about bringing already written capabilities to a 
whole new programming language, and hence a whole group of apps? :)

To other developers thinking about writing multimedia apps:
-Half of your work has already been done if you use the gstreamer framework. 
You're free to focus on developing a user interface you can really be proud 
of, and adding other features like visual effects plugins, rather than the 
unnecessary drudgery of decyphering cryptically (or poorly) documented file 
formats. Show off your coding skills doing exciting new things that nobody 
has ever thought of before, not reinventing the wheel.

To codec developers.
-Right now, there is a working bonobo component for gstreamer. There is also 
a player app based on it that plays most popular content. You'll be 
interested in this quote from the gstreamer.net web page:

"While GStreamer is operated as an independent project we do have a close 
relationship with the GNOME community. Many of our hackers consider 
themselves also to be members of the GNOME community. There are plans to 
make GStreamer an official part of the development framework of GNOME."

Chances are you already have a codec out for win32 environments. Notice how 
windows xp can generate preview frames for multimedia encoded with your 
codec? If gstreamer becomes part of the gnome framework, you will enjoy the 
same benefits when a user examines a folder full of files encoded with your 
codec in nautilus. Gstreamer, while being closely connected to GNOME, is not 
dependent upon it. This means that KDE could also make gstreamer a part of 
its development framework, and you could potentially enjoy exposure to those 
who use KDE as well, all without rewriting your codec or having to wait for 
multiple groups of coders to write a suitable wrapper for it.

How's that sound?

Eric




--- ' ' <tint14 hotmail com> wrote:
 > I have mixed feelings about this announcement
 > However, when there are
 > multiple multimedia backends (e.g. xine-libs,
 > gstreamer, lumiere, etc...)
 > instead of a single multimedia framework (e.g.
 > directshow), the developer
 > base is fractured.
 >
 > This is bad for the user. When one backend is
 > patched, only the apps that
 > use that particular backend benefit. Other apps are
 > still "broken" or
 > "behind".
 >
 > This is bad for the developer. If one backend adds a
 > capability that a
 > developer wants and she is using a different backend
 > it her app, she has to
 > learn, all over again, how to use a new multimedia
 > backend if she wants that
 > capability.
 >
 > This is bad for third party codec developers.
 >
 > Eric
 >
 >

=====
Andy Tai, atai atai org
Free Software: the software by the people, of the people and for the people! 
Develop! Share! Enhance! Enjoy!
_______________________________________________
gtk-app-devel-list mailing list
gtk-app-devel-list gnome org
http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list


_________________________________________________________________
MSN 8 with e-mail virus protection service: 2 months FREE* 
http://join.msn.com/?page=features/virus

_______________________________________________
gtk-app-devel-list mailing list
gtk-app-devel-list gnome org
http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list






[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]