Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/FFmpeg/FFmpeg.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorFabrice Bellard <fabrice@bellard.org>2001-07-22 18:18:56 +0400
committerFabrice Bellard <fabrice@bellard.org>2001-07-22 18:18:56 +0400
commitde6d9b6404bfd1c589799142da5a95428f146edd (patch)
tree75ae0cbb74bdfafb6f1a40922db111a103db3bcf /doc
parent1b58d58ddaf8a8c766a0353885ff504babed0453 (diff)
Initial revision
Originally committed as revision 5 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'doc')
-rw-r--r--doc/README.dev20
-rw-r--r--doc/bench.txt52
-rw-r--r--doc/ffserver.txt79
3 files changed, 151 insertions, 0 deletions
diff --git a/doc/README.dev b/doc/README.dev
new file mode 100644
index 0000000000..ae28bc03be
--- /dev/null
+++ b/doc/README.dev
@@ -0,0 +1,20 @@
+1) API
+------
+
+* libavcodec is the library containing the codecs (both encoding and
+ decoding). See libavcodec/apiexample.c to see how to use it.
+
+* libav is the library containing the file formats handling (mux and
+ demux code for several formats). (no example yet, the API is likely
+ to evolve).
+
+2) Coding Rules
+---------------
+
+ffmpeg is programmed in ANSI C language. GCC extension are
+tolerated. TAB size is 4. The identation is the one specified by
+'indent -i4 -kr'.
+
+Main priority in ffmpeg is simplicity and small code size (=less
+bugs).
+
diff --git a/doc/bench.txt b/doc/bench.txt
new file mode 100644
index 0000000000..a60572e54c
--- /dev/null
+++ b/doc/bench.txt
@@ -0,0 +1,52 @@
+
+source: MarsAttack, divx, 800 kbit/s
+
+q=10 constant:
+
+* full motion search, fcode=1, half pel:
+ Video: opendivx (hq), 640x352, 25 fps, 200 kb/s
+frame= 500 q=10 size= 1815kB time=20.0 bitrate= 743.6kbits/s
+
+* log motion search:
+ Video: opendivx (hq), 640x352, 25 fps, 200 kb/s
+frame= 500 q=10 size= 1995kB time=20.0 bitrate= 817.2kbits/s
+
+* no motion search:
+ Video: opendivx, 640x352, 25 fps, 200 kb/s
+frame= 500 size= 3197kB time=20.0 fps=25.0 bitrate=1309.6kbits/s q=10
+
+* log motion search:
+ Video: opendivx (hq), 640x352, 25 fps, 200 kb/s
+frame= 500 q=10 size= 1995kB time=20.0 bitrate= 817.2kbits/s
+
+./ffmpeg -me log -t 20 -g 100 -qscale 10 -i img:%d.pgm -an /tmp/b.avi
+ Stream #0.0: Video: msmpeg4, 640x352, 25 fps, 200 kb/s
+frame= 500 q=10 size= 1833kB time=20.0 bitrate= 750.9kbits/s
+
+./ffmpeg -me full -t 20 -g 100 -qscale 10 -i img:%d.pgm -an /tmp/b.avi
+ Stream #0.0: Video: msmpeg4, 640x352, 25 fps, 200 kb/s
+frame= 500 q=10 size= 1793kB time=20.0 bitrate= 734.8kbits/s
+
+-------------------------------------------
+
+* with -sameq, -me log
+
+./ffmpeg -g 100 -t 20 -sameq -i MarsAttacks_f800.avi -an /tmp/a.avi
+ Stream #0.0: Video: msmpeg4, 640x352, 25 fps, 200 kb/s
+frame= 500 q= 5 size= 2605kB time=20.0 bitrate=1067.1kbits/s
+
+./ffmpeg -g 100 -t 20 -sameq -i MarsAttacks_f800.avi -f mpeg1video -an /tmp/a.mpg
+ Stream #0.0: Video: mpeg1video, 640x352, 25 fps, 200 kb/s
+frame= 500 q= 5 size= 2655kB time=20.0 bitrate=1087.7kbits/s
+
+./ffmpeg -g 100 -t 20 -sameq -i MarsAttacks_f800.avi -vcodec opendivx -an /tmp/a.avi
+frame= 500 q= 5 size= 2774kB time=20.0 bitrate=1136.2kbits/s
+
+
+the matrix, complete, video only:
+
+source=14147kB
+
+ffmpeg:
+ mpeg1 17154kB (20%)
+ msmpeg4 17229kB
diff --git a/doc/ffserver.txt b/doc/ffserver.txt
new file mode 100644
index 0000000000..7019556043
--- /dev/null
+++ b/doc/ffserver.txt
@@ -0,0 +1,79 @@
+*************** FFserver live broadcast server *****************
+
+0) Introduction
+
+ffserver is a streaming server for both audio and video. It supports
+several live feeds, streaming from files and time shifting on live
+feeds (you can seek to positions in the past on each live feed,
+provided you specify a big enough feed storage in ffserver.conf).
+
+1) Quick help
+
+- First you must ensure that your grab system is OK. Verify with
+ 'xawtv' that your TV card is tuned on a correct video source.
+
+- Try with ffmpeg that you can record correctly. For example:
+
+ ffmpeg /tmp/a.mpg
+
+will record a ten seconds mpeg file from your TV card and audio
+card. Use for example the mpegtv player or MPlayer to view the created
+MPEG file.
+
+- Launch ffserver on your PC with the sample config file:
+
+ ffserver -f doc/ffserver.conf
+
+- Verify with your browser that ffserver is working correctly. For
+ that purpose, explore: http://localhost:8090/stat.html .
+
+- Now launch ffmpeg to do real time encoding :
+
+ ffmpeg http://localhost:8090/feed1.ffm
+
+- Then, use your favorite players to see each generated stream:
+
+ mtvp http://localhost:8090/test1.mpg
+
+ mpg123 http://localhost:8090/test.mp2
+
+ netscape http://localhost:8090/test.swf
+
+ realplayer http://localhost:8090/test.rm
+
+ etc...
+
+ Note that ffserver generate multiple streams in multiple formats AT
+ THE SAME TIME. It should be able to handle hundreds of users at the
+ same time if you internet connection is fast enough.
+
+- Now you can configure ffserver for your real needs. Edit the
+ ffserver.conf file to use only the formats you want. Read the ffmpeg
+ documentation (ffmpeg.txt) to learn more about the codec and format
+ stuff.
+
+- Report any bug you find (and the fix if you have it!).
+
+2) URL Format
+
+ ffserver supports that you seek in some formats. The syntax is to
+ add a '?' option to the URL. Only the 'date' option is supported.
+
+ The date format is [YYYY-MM-DDT][[HH:]MM:]SS[.m...] (clost to ISO
+ date format). For live streams, the date is absolute and give in
+ GMT. If the day is not specified, the current day is used.
+
+ example:
+
+ mpg123 http://localhost:8090/test.mp2?date=10:00
+
+ play the stream starting at 10:00 AM GMT today.
+
+ mpg123 http://localhost:8090/test.mp2?date=2001-06-23T23:00
+
+ is also a valid date.
+
+ For file streams, the date is relative to the start of the file. No
+ day can be specified.
+
+