[linux-elitists] p2p, MLP, SMTP, and MP3 for You and Me

Rick Moen rick@linuxmafia.com
Tue Mar 6 14:50:34 PST 2001


begin  Don Marti Uses GIFs on the Sly quotation:
> I love the smell of information leakage in the morning...just
> got pretty solid confirmation that I was dead on
> accurate with the "Bruce Perens/pretty face" thing:
> http://noframes.linuxjournal.com/articles/buzz/0045.html
> Damn I'm good.

Anyone who in this day and age can throw around Vidkun Quisling
references, without making them stand out as peculiar, is an A-1
troublemaker in my book.

It would be good to know whether HP would be able to invoke the
all-purpose excuse of protecting third-party IP rights.  But I'm not
familiar enough with OpenMail to help.


On a different note, I've become tired of people asking me about Linux
support for Microsoft's whack-assed not-quite-MPEG-4 streaming video
format.  So, here's a draft FAQ.  Corrections/comments from people with
actual _competence_ in multimedia (which I sorely lack) will be
welcome.




Q:  Are there any movie-playing programs for Linux that will play .ASF
multimedia files? 

A:  Yes. At this date (March 2001), Damien Chavarria's newest XMPS
player (http://xmps.sourceforge.net/) supports a Linux port of Project
Mayo's (http://www.projectmayo.com/) OpenDivX Initiative CODEC
(COder-DECoder) for Win32 that can parse streaming video files encoded
in MS-MPEG-4 (COder-DECoder) aka "ASF" aka "Microsoft Media Player 7"
aka "DirectShow" aka "fourcc WMV1" format. The OpenDivX CODEC's native
"DivX ;-)" format is closely related, being a true MPEG-4 streaming
implementation, as opposed to Microsoft's incompatible MS-MPEG-4
variant. The XMPS Project refers to XMPS's OpenDivX Linux port as its
"win32 DLL plugin".

Also, Eugene Kuznetsov's Linux AVI File Library (http://divx.euro.ru/)
usually works (as a plug-in for various player applications, or with its
own X11/Qt application framework).  Also, Morgan Multimedia's
proprietary plug-in (http://www.morgan-multimedia.com/) can be used, and
Arpad Gereoffy claims a compatible CODEC will be coming soon for his
MPlayer (http://thot.banki.hu/esp-team/MPlayer.html) application.

XMPS should not be confused with Arthur Kleer / Linux MultiMedia
Project's XMMP (http://www.frozenproductions.com/xmmp/) or Peter Alm's
XMMS (http://www.xmms.org/), which are different projects but likewise
multimedia players for Linux. As you may surmise, the situation is
muddled.

Other players that should be considered: Eugene Kuznetsov's AVIfile /
aviplay, Jarrod Johnson's Xtheater (http://xtheater.sourceforge.net),
and Mark Podlipec's xanim (http://xanim.va.pubnix.com/).


As background, a few words about video formats, streaming video, and
legal matters: In 1997-98, Microsoft Corporation released multimedia
software for several platforms, including a beta version for Linux
(preserved at http://linuxmafia.com/pub/linux/apps/) that would play the
initial version of MS-MPEG-4 format[1]. This was not the same as true
MPEG-4 on the video side, but included Microsoft-originated alterations
to that standard.  On the audio side, it used MPEG Layer-3 encoding. It
did not feature streaming: The files needed to be retrieved before
playing.

By 1999, however, Microsoft Corporation abandoned this format, and
produced an incompatible, new ".ASF" format that featured streaming.
Please note that the data files still bear the .ASF extension. In
general, contrary to what many computer users (especially MS-Windows
users) believe, filename extensions are a very poor guide to the
underlying data formats, and this is especially true of multimedia. What
the user thinks of as (e.g.) a ".mov", ".avi", or ".asp" file will have
an underlying format properly specified by the CODEC used to create it.
User applications such as "QuickTime" and "Media Player" are just
frameworks that can accept various CODECs as plug-in modules: The
application does not imply a particular data format. Thus, it is not
very useful to speak of "Media Player format" or "QuickTime format". In
those cases, one would usually mean "files encoded using the MS-MPEG-4
streaming CODEC" or "files encoded using the Sorenson CODEC"
(http://www.sorenson.com/), respectively.

Thus, to play a particular multimedia file, ideally you would first
determine its actual, underlying format. Then, you would ensure that you
have a CODEC for that format.  Last, you would ensure that you had a
multimedia player "framework" application for Linux that can accept that
CODEC as a plug-in.

In May 2000, Linux programmer Avery Lee added a CODEC for the new
MS-MPEG-4 streaming format to his VirtualDub v. 1.3c player
(http://www.geocities.com/virtualdub/), including, among other things,
the ability to convert or save the incoming bitstream to a local file.
(Lee's CODEC is still available in Eugene Kuznetsov's Linux AVI File
Library, http://divx.euro.ru/ .) On May 12, 2000, Lee received a
telephone call from Microsoft Corporation, alleging violations of USA
patent #6,041,345, applied for March 7, 1997 and issued March 21, 2000,
concerning the MS-MPEG-4 streaming format.

The Microsoft Corporation representative alleged, among other things,
that its patent prohibited others from reading or writing multimedia
data in its application's file format.  We will not comment on the
merits of that legal claim, here -- but the notion of asserting patent
rights to a data-file format seems novel, and probably Lee probably
lacked the legal and financial firepower to challenge Microsoft
Corporation on the claim in court. Lee elected to remove the CODEC from
his project. Further comments on the matter can be read here:
http://www.advogato.org/article/101.html

Some CODECs for streaming MS-MPEG-4 include the conversion /
local-saving functionality whose inclusion in Lee's CODEC Microsoft
Corporation (seemingly) found so threatening to its interests, while
others do not. All are reported at this date to have synchronisation and
stability problems, and to be CPU-intensive.

[1] Microsoft Corporation's Web page for that beta player claimed that
the Linux implementation supported the following CODECs: MPEG 4, Vivo
H263, and Duck TrueMotion RT 2.0. 



More information about the linux-elitists mailing list