Commit 4745b5bf authored by Fabrice Bellard's avatar Fabrice Bellard
Browse files


Originally committed as revision 1236 to svn://
parent fce16586
1) Introduction
ffmpeg is a hyper fast realtime audio/video encoder, a streaming
server and a generic audio and video file converter.
It can grab from a standard Video4Linux video source and convert it
into several file formats based on DCT/motion compensation
encoding. Sound is compressed in MPEG audio layer 2 or using an AC3
compatible stream.
What makes ffmpeg interesting ?
- Innovative streaming technology : multiformat, real time encoding,
simple configuration.
- Simple and efficient video encoder: outputs MPEG1, H263, Real
Video(tm), MPEG4, DIVX and MJPEG compatible bitstreams using the
same encoder core.
- Real time encoding (25 fps in 352x288 on a K6 500) using the
video4linux API.
- Generates I and P frames, which means it is far better than a MJPEG
- Hyper fast MPEG audio layer 2 compression (50 times faster than
realtime on a K6 500).
- Hyper fast AC3 compatible encoder.
- simple and very small portable C source code, easy to understand and
to modify. It be may the smallest decent MPEG encoder :-)
- optional non real time higher quality encoding (different motion
estimators available).
- Audio and Video decoders are in development.
ffmpeg is made of two programs:
* ffmpeg: soft VCR which encodes in real time to several formats. It
can also encode from any supported input file format to any input
supported format.
* ffserver: high performance live broadcast streaming server based on
the ffmpeg core encoders.
2) Documentation
1) Documentation
* Read doc/ffmpeg.txt and doc/ffserver.txt to learn the basic features.
* Read doc/TODO to know what are the know bugs and missing features.
* Read the documentation in the doc/ directory.
* Read doc/ if you want to contribute or use the codec or
format libraries.
3) Licensing:
2) Licensing
* See the file COPYING. ffmpeg and the associated library EXCEPT
* Read the file COPYING. ffmpeg and the associated libraries EXCEPT
liba52 are licensed under the Lesser GNU General Public
License. liba52 is distributed under the GNU General Public License.
* This code should be patent free since it is very simple. I took care
to use the same video encoder/decoder core for all formats to show
that they really are mostly the same.
Fabrice Bellard.
\ No newline at end of file
......@@ -645,6 +645,9 @@ library.
<TR><TD>DV </TD><TD> </TD><TD> X</TD>
<TR><TD>Huff YUV </TD><TD> X </TD><TD> X</TD>
......@@ -680,6 +683,9 @@ solutions.
<TR><TD>Vorbis </TD><TD> X </TD><TD></TD>
</TD><TD> encoding is supported thru the external library libvorbis.
<TR><TD>WMA V1/V2 </TD><TD> </TD><TD> X</TD>
......@@ -362,7 +362,7 @@ library.
@multitable @columnfractions .4 .1 .1 .7
@item Supported Codec @tab Encoding @tab Decoding @tab Comments
@item MPEG1 video @tab X @tab X
@item MPEG1 video @tab X @tab X
@item MPEG2 video @tab @tab X
@item MPEG4 @tab X @tab X @tab Also known as DIVX4/5
@item MSMPEG4 V1 @tab X @tab X
......@@ -372,6 +372,7 @@ library.
@item H263(+) @tab X @tab X @tab Also known as Real Video 1.0
@item MJPEG @tab X @tab X
@item DV @tab @tab X
@item Huff YUV @tab X @tab X
@end multitable
@code{X} means that the encoding (resp. decoding) is supported.
......@@ -391,6 +392,8 @@ solutions.
@tab liba52 is used internally for decoding.
@item Vorbis @tab X @tab
@tab encoding is supported thru the external library libvorbis.
@item WMA V1/V2 @tab @tab X
@end multitable
@code{X} means that the encoding (resp. decoding) is supported.
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment