First of all, FAME Ain't an Mpeg Encoder... yet. It currently only encodes video and does no temporal compression, i.e. it is rather a video MJPEG encoder for the moment. The goal of this software is to provide an MPEG encoder fast enough to run on personnal computers in real-time, to be used for example as a VCR (see requirements).
It currently features:
This allows FAME to be very flexible, expansible, and automatically load the most appropriate module for each task. Basically this means that FAME can handle multiple video source, different video coders, and various outputs, and that the modules development can be done apart from FAME developpement as they are loaded dynamically (there is no need to recompile FAME when adding a module).
These modules are separated in three classes : input, video, and output. Current modules include:
- Video4Linux capture module, for almost all capture devices (input)
- GATOS capture module, for ATI cards (input)
- MMX MPEG encoder (video)
- file output module (output)
- network module, using UDP/IP (output)
Using the MMX capabilities of processors allows fast computing of DCT, which is the most time consuming operation in MPEG encoding.
This makes it possible to send video data to a remote client or even broadcast it to many clients. This video stream could then be played by the client with an MPEG decoder. I've been successfully using FAME this way with the MPEG decoder 'nist' (http://linuxvideo.org), see README for details.