mplayerqmplayer is first attempt at a port to the Archos PMA430
of the popular Linux media player MPlayer. In essence, it
is a Qtopia user interface shoe-horned into the basic MPlayer
console-mode code, a driver for the PMA framebuffer/image scaler hardware, and some
modifications to work around bugs in the PMA audio driver.
MPlayer is a good choice for a general-purpose player,
since the range of codecs available is absolutely enormous. In
addition, unlike the built-in Archos media play it is stream-based,
not file-based; this means that it doesn't care whether media data
comes from a local file or a network source. However,
most work has been done on the PC platform, and many of the MPlayer
codecs don't yet work on the ARM architecture. To this problem must be
added the complication that the PMA has an exceptionally slow CPU.
These factors make it extremely challenging to get a workable implementation
of mplayer on the PMA.
qmplayer and mplayer are the GUI and
command-line versions of the program respectively. All the standard
mplayer command-line arguments still work with
the GUI version, but some of them will not make sense, and many
will break the program. If you launch the program from the launcher
icon, it actually runs the command
qmplayer -vo pma430 -framedrop -quiet
If you try to play video files in command-line mode, it will most likely
crash; it won't work, that's for sure.
Please bear in mind that mplayer is primarily a
command-line Unix application; qmplayer is merely
the same with a minimal Qtopia GUI wrapped around it. Most of features
possible in command-line operation do not exist in the GUI
version (yet).
qmplayer can stream over HTTP. In principle, it can
stream over MMS and RTSP, although I have not got this working yet.
It can stream ordinary files, by entering an HTTP URL to the
server, e.g.,:
http://myserver/media/song.mp3It can also stream Shoutcast and Icecast MP3, as used by many commercial broadcasters. In the GUI, select
Playlist|Add URL, and
enter the full URL in the box.
qmplayer recognizes some playlist file formats.
However, the fact that the playlist file can be read properly does
not mean that qmplayer will necessarily be able to
play the media referenced in the playlist.
In general, popular playlist files do not have well-defined identifiers
that allow them to be positively identified as such. There is, therefore,
a risk that qmplayer will attempt to play a playlist as
a stream which, of course, won't work.
On the command line, you can force qmplayer to treat an
unknown file as a playlist, by specifying the -playlist
switch. This is the best way to integrate qmplayer into
Opera for handling Shoutcast streams (see below).
In the GUI, any file with extension .m3u, .pls,
.asx, or .smil is treated as a playlist.
All URLs, rather than files, are assumed to be playable streams, not
playlists.
qmplayer can play streams defined in
ShoutCast playlist (.pls) and M3U files.
Most websites that provide access to ShoutCast streams do so by linking
to one or more .pls files.
To play .pls and .m3u files from a browser, you will need to enable Opera to
invoke qmplayer when you select these files. From the
Opera `Preferences' menu, select `File types'. Click the button
`Add new MIME type'. For the type, enter `audio/x-scpls'. Then choose
`Use external program', and enter the program name and arguments:
qmplayer -playlistDo the same for `audio/mpegurl'. The click `OK'. That should do the trick.
Please note that you can, in principle, associate MP3 files and other
media types with qmplayer in Opera. However, this by itself
won't give you streaming capabilities, because Opera will attempt to
download the whole file before invoking the helper application.
qmplayer locks up -- and it might, if it tries very
hard to play something it isn't equipped for -- you can forcibly
terminate it at the console. Open a console and enter the command:
#killall -9 qmplayer
qmplayer will not play anything that mplayer
cannot play. In fact, it can play fewer media types than the PC version
of mplayer, because on a PC mplayer can take
advantage of codecs implemented as Windows DLLs. On the PMA430 this is
not possible -- it's not the same CPU
mplayer are too
accurate (i.e., slow) to work on the PMA. Most codecs output image
data in YV12 format. I have codec a much faster implementation of a filter
to convert this into the YUV422 format that the PMA requires. The same
treatment will be necessary in due course for all the standard colourspace
formats commonly encountered, but this is a long job. In practice, must
codecs use YV12
mplayer documentation.
mplayer itself does support proxies, so
you can get proxy support by running qmplayer from the
console:
# export http_proxy=myhost:myport # qmplayer &
qmplayer, because like all Qtopia applications it
doesn't get a taskbar icon when it is launched this way. This means that
if you switch to a different application while qmplayer is
running, you won't be able to get back. I should stress that this is
a consequence of the way Opera works, and not something that can be
corrected in qmplayer. If you use this software to play
a .pls file through Opera, for example, make sure you
close qmplayer
before switching back to Opera or another application. If you forget,
there is a last desparate measure you can take, which is to shutdown
qmplayer from the console as described above.
qmplayer will fall over whilst trying to fit the directory into
a listbox. I don't propose to fix this -- ID3 is a peculariarity of MP3
files, and qmplayer sets out to be a general-purpose player.
00001 qmplayer shuts down if a file is added to the playlist while
playback is paused. Workaround: stop playback before adding
files
00002 Playback stops while files are being selected to add to the
playlist
qmplayer is distributed according to the GNU Public Licence.
In short, you may do whatever you wish with this code, provided that the
original authors continue to be acknowledged, and source code is made
available. If you would like the source code for this software,
please ask me.
Please send bug reports, suggestions for new features, etc.,
to me.
©1994-2006 Kevin Boone, all rights reserved