# 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 # computer. Port 8090
# Address on which the server is bound. Only useful if you have # several network interfaces. BindAddress 0.0.0.0
# 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. MaxBandwidth 1000
# 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. NoDaemon
# 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 # ffserver can also do time shifting. It means that it can stream any # a path where the feed is stored on disk. You also specify the File /tmp/feed1.ffm FileMaxSize 20000K
# You could specify # ReadOnlyFile /saved/specialvideo.ffm # This marks the file as readonly and it will not be deleted or updated.
# Specify launch in order to start ffmpeg automatically. # First ffmpeg must be defined with an appropriate path if needed, #Launch ffmpeg
# Only allow connections from localhost to the feed. ACL allow 127.0.0.1
</Feed>
# Now you can define each stream which will be generated from the # original audio and video stream. Each format has a filename (here # 'test1.mpg'). FFServer will send this stream when answering a # request containing this filename.
<Stream test1.mpg>
# coming from live feed 'feed1' Feed feed1.ffm
Format mpeg mpegvideo mp2 ogg mpjpeg jpeg asf swf avi
# Bitrate for the audio stream. Codecs usually support only a few # different bitrates. AudioBitRate 32
AudioChannels 1
# Sampling frequency for audio. When using low bitrates, you should # lower this frequency to 22050 or 11025. The supported frequencies # depend on the selected audio codec. AudioSampleRate 44100
# Bitrate for the video stream VideoBitRate 64
# Ratecontrol buffer size VideoBufferSize 40
# Number of frames per second VideoFrameRate 3
VideoSize 160x128
# 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 intra frame. VideoGopSize 12
# More MPEG-4 parameters # VideoHighQuality # Video4MotionVector
#VideoCodec mpeg1video
# Suppress audio #NoAudio
# Suppress video #NoVideo
#VideoQMin 3 #VideoQMax 31
# 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 keyframe to appear in the data stream. #Preroll 15
#ACL ALLOW <first address> <last address>
# You can deny ranges of addresses (or single addresses) #ACL DENY <first address> <last address>
# You can repeat the ACL allow/deny as often as you like. It is on a per # 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. # 'ACL deny 1.0.0.0 1.255.255.255' would deny the whole of network 1 and # allow everybody else.
</Stream>
# Example streams
# Multipart JPEG
#<Stream test.mjpg> #Feed feed1.ffm #Format mpjpeg #VideoFrameRate 2 #VideoIntraOnly #NoAudio #Strict -1 #</Stream>
# Single JPEG
<Stream test.jpg> Feed feed1.ffm Format jpeg VideoFrameRate 2 VideoIntraOnly VideoSize 352x240 NoAudio Strict -1 </Stream>
# Flash
#<Stream test.swf> #Feed feed1.ffm #Format swf #VideoFrameRate 2 #VideoIntraOnly #NoAudio #</Stream>
# ASF compatible
<Stream test.asf> Feed feed1.ffm Format asf VideoFrameRate 15 VideoSize 352x240 VideoBitRate 256 VideoBufferSize 40 VideoGopSize 30 AudioBitRate 64 StartSendOnKey </Stream>
# MP3 audio
#<Stream test.mp3> #Feed feed1.ffm #Format mp2 #AudioCodec mp3 #AudioBitRate 64 #AudioChannels 1 #AudioSampleRate 44100 #NoVideo #</Stream>
# Ogg Vorbis audio
#<Stream test.ogg> #Feed feed1.ffm #Title "Stream title" #AudioBitRate 64 #AudioChannels 2 #AudioSampleRate 44100 #NoVideo #</Stream>
# Real with audio only at 32 kbits
#<Stream test.ra> #Feed feed1.ffm #Format rm #AudioBitRate 32 #NoVideo #NoAudio #</Stream>
# Real with audio and video at 64 kbits
#<Stream test.rm> #Feed feed1.ffm #Format rm #AudioBitRate 32 #VideoBitRate 128 #VideoFrameRate 25 #VideoGopSize 25 #NoAudio #</Stream>
#<Stream file.rm> #File "/usr/local/httpd/htdocs/tlive.rm" #NoAudio #</Stream>
#<Stream file.asf> #File "/usr/local/httpd/htdocs/test.asf" #NoAudio #Author "Me" #Copyright "Super MegaCorp" #Title "Test stream from disk" #Comment "Test comment" #</Stream>
# RTSP examples #<Stream test1-rtsp.mpg> #Format rtp #File "/usr/local/httpd/htdocs/test1.mpg" #</Stream>
# SDP/multicast examples # # If you want to send your stream in multicast, you must set the # multicast address with MulticastAddress. The port and the TTL can # also be set. # # An SDP file is automatically generated by ffserver by adding the # 'sdp' extension to the stream name (here # file to your player to play the stream. # # The 'NoLoop' option can be used to avoid looping when the stream is # terminated.
#<Stream test1-sdp.mpg> #Format rtp #File "/usr/local/httpd/htdocs/test1.mpg" #MulticastAddress 224.124.0.1 #MulticastPort 5000 #MulticastTTL 16 #NoLoop #</Stream>
# Special streams
# Server status
<Stream stat.html> Format status
# Only allow local people to get the status ACL allow localhost ACL allow 192.168.0.0 192.168.255.255
</Stream>
# Redirect index.html to the appropriate site
<Redirect index.html> URL
http://www.ffmpeg.org/ </Redirect>