# Port on which the server is listening. You must select a different
-# port from your standard http web server if it is running on the same
+# port from your standard HTTP web server if it is running on the same
# computer.
Port 8090
# several network interfaces.
BindAddress 0.0.0.0
+# Number of simultaneous HTTP connections that can be handled. It has
+# to be defined *before* the MaxClients parameter, since it defines the
+# MaxClients maximum limit.
+MaxHTTPConnections 2000
+
# Number of simultaneous requests that can be handled. Since FFServer
# is very fast, it is more likely that you will want to leave this high
# and use MaxBandwidth, below.
MaxClients 1000
# This the maximum amount of kbit/sec that you are prepared to
-# consume when streaming to clients
+# consume when streaming to clients.
MaxBandwidth 1000
-# Access Log file (uses standard Apache log file format)
-# '-' is the standard output
+# Access log file (uses standard Apache log file format)
+# '-' is the standard output.
CustomLog -
-# Suppress that if you want to launch ffserver as a daemon
+# Suppress that if you want to launch ffserver as a daemon.
NoDaemon
# 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:
+# maximum size of the feed, where zero means unlimited. Default:
# File=/tmp/feed_name.ffm FileMaxSize=5M
File /tmp/feed1.ffm
FileMaxSize 200K
# You could specify
# ReadOnlyFile /saved/specialvideo.ffm
-# This marks the file as readonly and it will not be deleted or updated
+# This marks the file as readonly and it will not be deleted or updated.
-# Specify launch in order to start ffmpeg automatically
-#Launch
+# Specify launch in order to start ffmpeg automatically.
+# First ffmpeg must be defined with an appropriate path if needed,
+# after that options can follow, but avoid adding the http:// field
+#Launch ffmpeg
-# Only allow connections from localhost to the feed
+# Only allow connections from localhost to the feed.
ACL allow 127.0.0.1
</Feed>
Feed feed1.ffm
# Format of the stream : you can choose among:
-# mpeg : MPEG1 multiplexed video and audio
-# mpegvideo : only MPEG1 video
-# mp2 : MPEG2 audio (use AudioCodec to select layer 2 and 3 codec)
+# mpeg : MPEG-1 multiplexed video and audio
+# mpegvideo : only MPEG-1 video
+# mp2 : MPEG-2 audio (use AudioCodec to select layer 2 and 3 codec)
# ogg : Ogg format (Vorbis audio codec)
-# rm : Real Networks compatible stream. Multiplexed audio and video.
-# ra : Real Networks compatible stream. Audio only.
+# rm : RealNetworks-compatible stream. Multiplexed audio and video.
+# ra : RealNetworks-compatible stream. Audio only.
# mpjpeg : Multipart JPEG (works with Netscape without any plugin)
# jpeg : Generate a single JPEG image.
# asf : ASF compatible streaming (Windows Media Player format).
-# swf : Macromedia flash(tm) compatible stream
-# avi : AVI format (open divx video, mpeg audio sound)
-# master : special ffmpeg stream used to duplicate a server
+# swf : Macromedia Flash compatible stream
+# avi : AVI format (MPEG-4 video, MPEG audio sound)
Format mpeg
# Bitrate for the audio stream. Codecs usually support only a few
-# different bitrates.
+# different bitrates.
AudioBitRate 32
-# Number of audio channels : 1 = mono, 2 = stereo
+# Number of audio channels: 1 = mono, 2 = stereo
AudioChannels 1
# Sampling frequency for audio. When using low bitrates, you should
# depend on the selected audio codec.
AudioSampleRate 44100
-# Bitrate for the video stream.
+# Bitrate for the video stream
VideoBitRate 64
# Ratecontrol buffer size
# Number of frames per second
VideoFrameRate 3
-# Size of the video frame : WxH (default: 160x128)
-# The following abbreviation are defined : sqcif, qcif, cif, 4cif
+# Size of the video frame: WxH (default: 160x128)
+# The following abbreviations are defined: sqcif, qcif, cif, 4cif, qqvga,
+# qvga, vga, svga, xga, uxga, qxga, sxga, qsxga, hsxga, wvga, wxga, wsxga,
+# wuxga, woxga, wqsxga, wquxga, whsxga, whuxga, cga, ega, hd480, hd720,
+# hd1080
VideoSize 160x128
-# transmit only intra frames (useful for low bitrates, but kills frame rate)
+# 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.
+# If non-intra only, an intra frame is transmitted every VideoGopSize
+# frames. Video synchronization can only begin at an intra frame.
VideoGopSize 12
-# More MPEG4 parameters
+# More MPEG-4 parameters
# VideoHighQuality
# Video4MotionVector
-# Choose your codecs:
+# Choose your codecs:
#AudioCodec mp2
#VideoCodec mpeg1video
# Set this to the number of seconds backwards in time to start. Note that
# most players will buffer 5-10 seconds of video, and also you need to allow
-# for a key frame to appear in the data stream.
-#PreRoll 15
+# for a keyframe to appear in the data stream.
+#Preroll 15
# ACL:
# stream basis. The first match defines the action. If there are no matches,
# then the default is the inverse of the last ACL statement.
#
-# Thus 'ACL allow localhost' only allows access from localhost.
+# Thus 'ACL allow localhost' only allows access from localhost.
# 'ACL deny 1.0.0.0 1.255.255.255' would deny the whole of network 1 and
# allow everybody else.
#VideoFrameRate 2
#VideoIntraOnly
#NoAudio
+#Strict -1
#</Stream>
#<Stream test.jpg>
#Feed feed1.ffm
#Format jpeg
-#VideoFrameRate 2
+#VideoFrameRate 2
#VideoIntraOnly
##VideoSize 352x240
#NoAudio
+#Strict -1
#</Stream>
</Stream>
-# MP3 audio
+# MP3 audio
#<Stream test.mp3>
#Feed feed1.ffm
##################################################################
-# A stream coming from a file : you only need to set the input
-# filename and optionnally a new format. Supported conversions:
-# avi -> asf
+# A stream coming from a file: you only need to set the input
+# filename and optionally a new format. Supported conversions:
+# AVI -> ASF
#<Stream file.rm>
#File "/usr/local/httpd/htdocs/tlive.rm"
##################################################################
# RTSP examples
#
-# You can access to this stream with the RTSP URL:
+# You can access this stream with the RTSP URL:
# rtsp://localhost:5454/test1-rtsp.mpg
#
-# A non standard RTSP redirector is also created. Its URL is:
+# A non-standard RTSP redirector is also created. Its URL is:
# http://localhost:8090/test1-rtsp.rtsp
#<Stream test1-rtsp.mpg>
#</Stream>
+# Transcode an incoming live feed to another live feed,
+# using libx264 and video presets
+
+#<Stream live.h264>
+#Format rtp
+#Feed feed1.ffm
+#VideoCodec libx264
+#VideoFrameRate 24
+#VideoBitRate 100
+#VideoSize 480x272
+#AVPresetVideo default
+#AVPresetVideo baseline
+#AVOptionVideo flags +global_header
+#
+#AudioCodec libfaac
+#AudioBitRate 32
+#AudioChannels 2
+#AudioSampleRate 22050
+#AVOptionAudio flags +global_header
+#</Stream>
+
##################################################################
# SDP/multicast examples
#
# 'sdp' extension to the stream name (here
# http://localhost:8090/test1-sdp.sdp). You should usually give this
# file to your player to play the stream.
-#
+#
# The 'NoLoop' option can be used to avoid looping when the stream is
# terminated.
<Stream stat.html>
Format status
-# Only allow local people to get to the status
+# Only allow local people to get the status
ACL allow localhost
ACL allow 192.168.0.0 192.168.255.255
# Redirect index.html to the appropriate site
<Redirect index.html>
-URL http://www.ffmpeg.org/
+URL http://www.libav.org/
</Redirect>