* Add the gop_size to the video parameters. Also the audio framesize.
[ffmpeg.git] / doc / ffserver.conf
index 8b5d926..4c91570 100644 (file)
@@ -2,24 +2,13 @@
 # port from your standard http web server if it is running on the same
 # computer.
 
-Port 8080
+Port 8090
 
 # Address on which the server is bound. Only useful if you have
 # several network interfaces.
 
 BindAddress 0.0.0.0
 
-# Host and port of the master server if you which that this server
-# duplicates another existing server. Otherwise, the server does the
-# audio/video grab itself. See the following options for the grab parameters 
-
-#MasterServer http://localhost:80/index.html
-
-# Grab parameters
-
-#AudioDevice /dev/dsp
-#VideoDevice /dev/video
-
 # Number of simultaneous requests that can be handled. Since FFServer
 # is very fast, this limit is determined mainly by your Internet
 # connection speed.
@@ -31,6 +20,31 @@ MaxClients 1000
 
 CustomLog -
 
+##################################################################
+# Definition of the live feeds. Each live feed contains one video
+# and/or audio sequence coming from an ffmpeg encoder or another
+# ffserver. This sequence may be encoded simultaneously with several
+# codecs at several resolutions.
+
+<Feed feed1.ffm>
+
+# You must use 'ffmpeg' to send a live feed to ffserver. In this
+# example, you can type:
+# 
+# ffmpeg http://localhost:8090/feed1.ffm
+
+# ffserver can also do time shifting. It means that it can stream any
+# previously recorded live stream. The request should contain:
+# "http://xxxx?date=[YYYY-MM-DDT][[HH:]MM:]SS[.m...]".You must specify
+# a path where the feed is stored on disk. You also specify the
+# maximum size of the feed (100M bytes here). Default:
+# File=/tmp/feed_name.ffm FileMaxSize=5M
+
+File /tmp/feed1.ffm
+FileMaxSize 50M
+
+</Feed>
+
 ##################################################################
 # Now you can define each stream which will be generated from the
 # original audio and video stream. Each format has a filename (here
@@ -39,20 +53,24 @@ CustomLog -
 
 <Stream test1.mpg>
 
+# coming from live feed 'feed1'
+Feed feed1.ffm
+
 # Format of the stream : you can choose among:
-# mpeg1      : MPEG1 multiplexed video and audio
-# mpeg1video : only MPEG1 video
+# mpeg       : MPEG1 multiplexed video and audio
+# mpegvideo  : only MPEG1 video
 # mp2        : MPEG audio layer 2
 # mp3        : MPEG audio layer 3 (currently sent as layer 2)
 # rm         : Real Networks compatible stream. Multiplexed audio and video.
 # ra         : Real Networks compatible stream. Audio only.
 # mpjpeg     : Multipart JPEG (works with Netscape without any plugin)
 # jpeg       : Generate a single JPEG image.
-# asf        : ASF compatible stream (Windows Media Player format)
+# asf        : ASF compatible stream (Windows Media Player format). Not finished yet.
 # swf        : Macromedia flash(tm) compatible stream
+# avi        : AVI format (open divx video, mpeg audio sound)
 # master     : special ffmpeg stream used to duplicate a server
 
-Format mpeg1
+Format mpeg
 
 # Bitrate for the audio stream. Codecs usually support only a few different bitrates. 
 
@@ -74,37 +92,61 @@ VideoBitRate 64
 # Number of frames per second
 VideoFrameRate 3
 
-# Size of the video frame : WxH
+# Size of the video frame : WxH (default: 160x128)
 # W : width, H : height
 # The following abbreviation are defined : sqcif, qcif, cif, 4cif
-#VideoSize    352x240
+VideoSize    160x128
 
-# transmit only intra frames (useful for low bitrates) 
-VideoIntraOnly
+# transmit only intra frames (useful for low bitrates, but kills frame rate
+#VideoIntraOnly
 
 # If non intra only, an intra frame is transmitted every VideoGopSize
 # frames Video synchronization can only begin at an I frames.
-#VideoGopSize 12
+VideoGopSize 12
 
-</Stream>
+# Choose your codecs: 
 
-# second mpeg stream with high frame rate
+#AudioCodec mp2
+#VideoCodec mpeg1video
+
+# Suppress audio
+#NoAudio
+
+# Suppress video
+#NoVideo
 
-<Stream test2.mpg>
-Format mpeg1video
-VideoBitRate 128
-VideoFrameRate 25
-#VideoSize    352x240
-VideoGopSize 25
 </Stream>
 
+# second mpeg stream with high frame rate
+
+#<Stream test2.mpg>
+#Feed feed1.ffm
+#Format mpegvideo
+#VideoBitRate 128
+#VideoFrameRate 25
+###VideoSize    352x240
+#VideoGopSize 25
+#NoAudio
+#</Stream>
+#
 ##################################################################
-# Another stream : used to download data to another server which
-# duplicates this one
+# A stream coming from a file : you only need to set the input
+# filename and optionnally a new format. Supported conversions:
+#    avi -> asf
+#
 
-<Stream master>
+# another file streaming
+<Stream file.rm>
 
-Format master
+File "/usr/local/httpd/htdocs/tlive.rm"
+NoAudio
+
+</Stream>
+
+<Stream file.asf>
+
+File "/usr/local/httpd/htdocs/test.asf"
+NoAudio
 
 </Stream>
 
@@ -113,81 +155,87 @@ Format master
 
 <Stream test.ra>
 
-Format ra
+Feed feed1.ffm
+Format rm
 AudioBitRate 32
+NoVideo
+NoAudio
 
 </Stream>
 
 ##################################################################
 # Another stream : Real with audio and video at 64 kbits
 
-<Stream test.rm>
+#<Stream test.rm>
 
-Format rm
+#Feed feed1.ffm
+#Format rm
 
-AudioBitRate 32
-VideoBitRate 20
-VideoFrameRate 2
-VideoIntraOnly
+#AudioBitRate 32
+#VideoBitRate 128
+#VideoFrameRate 25
+#VideoGopSize 25
+#NoAudio
 
-</Stream>
+#</Stream>
 
-##################################################################
-# Another stream : Mpeg audio layer 2 at 64 kbits.
+<Stream test2.rm>
 
-<Stream test.mp2>
+Feed feed1.ffm
+Format rm
 
-Format mp2
+VideoBitRate 128
+VideoFrameRate 15
+VideoGopSize 25
+VideoSize    320x240
 AudioBitRate 64
-AudioSampleRate 44100
-
-</Stream>
-
-<Stream test1.mp2>
-
-Format mp2
-AudioBitRate 32
-AudioSampleRate 16000
 
 </Stream>
 
 ##################################################################
 # Another stream : Multipart JPEG
 
-<Stream test.mjpg>
-
-Format mpjpeg
-
-VideoFrameRate 2
-VideoIntraOnly
-
-</Stream>
+#<Stream test.mjpg>
+#
+#Feed feed1.ffm
+#Format mpjpeg
+#
+#VideoFrameRate 2
+#VideoIntraOnly
+#NoAudio
+#
+#</Stream>
 
 ##################################################################
 # Another stream : Multipart JPEG
 
-<Stream test.jpg>
-
-Format jpeg
-
-# the parameters are choose here to take the same output as the
-# Multipart JPEG one.
-VideoFrameRate 2 
-VideoIntraOnly
-
-</Stream>
+#<Stream test.jpg>
+#
+#Feed feed1.ffm
+#Format jpeg
+#
+## the parameters are choose here to take the same output as the
+## Multipart JPEG one.
+#VideoFrameRate 2 
+#VideoIntraOnly
+##VideoSize 352x240
+#NoAudio
+#
+#</Stream>
 
 ##################################################################
 # Another stream : Flash
 
-<Stream test.swf>
+#<Stream test.swf>
 
-Format swf
-
-VideoFrameRate 2
-VideoIntraOnly
-
-</Stream>
+#Feed feed1.ffm
+#Format swf
+#
+#VideoFrameRate 2
+#VideoIntraOnly
+#NoAudio
+#
+#</Stream>
 
 
 ##################################################################
@@ -195,17 +243,19 @@ VideoIntraOnly
 
 <Stream test.asf>
 
+Feed feed1.ffm
 Format asf
-
+#
+VideoFrameRate 15
+VideoSize 352x240
+VideoBitRate 128
+VideoGopSize 30
 AudioBitRate 64
-AudioSampleRate 44100
-VideoFrameRate 2
-VideoIntraOnly
 
 </Stream>
 
 ##################################################################
-# Another stream : server status
+# Special stream : server status
 
 <Stream stat.html>