|
JMF Documentation
-
Some of the control types are not implemented: H261Control, H263Control,
KeyFrameControl, MpegAudioControl, PortControl.
-
Negative playback rates are not supported.
-
The audio playback quality of the All-java JMF is at
mono, 8K ulaw (the format supported by the VM with the
sun.audio interface).
-
In the All-Java versions of JMF, video capturing is not supported,
and audio capture is only supported when running on J2SE 1.3 (which
has the Java Sound API bundled with it).
-
The Direct Audio renderer and capturer are only supported on Windows.
-
Capture using Java Sound or Direct Audio can only be used once per
instance of VM. Depending on the particular capture device, multiple
instances of Java Sound or Direct Audio capture across different VM's
on the same machine may or may not work.
-
Provided that a sound card supports simultaneous capture and output
(duplex), Java Sound can capture and render at the same time. In such
cases, Java Sound can only capture in the same format as the rendered
output format. Changing to a different capture format after
Java Sound has already opened for output will fail.
-
Java Sound's render buffer size can be controlled by the BufferControl
obtained from the Player. It can be used to control the rendering
latency. However reducing the buffer size to too small a value may
result in audio breakup.
-
The JMF Windows performance pack supports all video capture devices
which use the VFW (Video for Windows) interface. But we have only
tested JMF against a few capture cards/cameras. Check the
tested list for the ones we've
tested. Here are a few capture devices we tested with known
problems:
- Alaris QuickVideo DVC1
- QuickCam Home USB
- WinTV on 95/98
-
VFW capture can only be used once per instance of VM.
-
When using JMStudio and VFW capture, do not exit by hitting
<ctrl-C>. Exit with the "Exit" item on the File menu.
-
Motion JPEG capture at larger than 320x240 will not be rendered
correctly.
-
Slow capture devices might not work if stopped and started.
-
Using the JMF VCM decoder wrapper class requires individual VCM
codecs to be installed on the machine. To download codecs,
check this web site:
http://www.webartz.com/fourcc.
-
When using the DirectDraw renderer, if the window is dragged off the
screen or when the windows are overlapped, some strange color effects
may appear.
-
JPEG decoder cannot handle interlaced video.
-
For playback local file caching, JMF stores the cache files in
C:\temp on Win32 and /tmp on Solaris by default. The
JMFRegistry application can be used to override the defaults.
-
JMF may run out of memory in the following situations:
-
The close method is not being called on Players or Processors when
they are no longer being used. Without calling close, the Players or
Processors will not release the memory and other resources (e.g. live
threads).
-
There are still some external references to an unused Player or
Processor such that garbage-collection is not taking place.
References may come in many different ways. One of the less obvious
ones is the player's visual and control component not being removed
from their container components.
-
Some movies might require more memory to play than is available from
the Java VM. In this case, you'll need to allocate more memory for
JVM to run. For example, by issuing the command: "java -mx32m".
-
JVM might temporarily run out of memory after playing a few movies in
succession. This is usually temporary and the VM can recover after
garbage-collection. If you reload the movie a second time, sometimes
it will work.
-
By default, the visual component and the control component do not
interact very well with Swing components (JFC) because JMF components
are heavy-weight and Swing components are light-weight. The
"LIGHTWEIGHT_RENDERER" hint can be set on the Manager to create
players that interact well with Swing components.
-
The Solaris and Win32 performance pack versions of JMF each support
two different MPEG Players. One is a native, highly performance
tuned non-modular player. The other one is a native modular player.
Only the modular player fully supports the JMF plugin architecture
with trade-offs in performance. By default, the non-modular player
is used. To request for the modular player, set the "PLUGIN_PLAYER"
hint on the Manager. The non-modular MPEG player does not support
the LIGHTWEIGHT_RENDERER hint.
-
On Solaris 2.6 and above, the native threads model has to be set on
the VM in order to use the XIL native accelerated video renderer. To
do that, set the THREADS_FLAG environment variable to "native". e.g.
on csh:
setenv THREADS_FLAG native
or start the VM with the -native flag. The runtime scripts that come
with the Solaris JMF installation set this automatically for
convenience.
-
On AIX, if you get a SIGSEGV when starting to play a media file,
ensure that Java 1.1.6 APAR IX83143 in PTF IX83246 has been
applied.
-
On AIX, if you find that H.263 video has patches that are not updated
properly, ensure that Java 1.1.6 APAR IX83628 in PTF IX83247 has been
applied.
|