# 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, this limit is determined mainly by your Internet
# connection speed.

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 -

##################################################################
# 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
# 'test128.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 of the stream : you can choose among:
# 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). 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 mpeg

# Bitrate for the audio stream. Codecs usually support only a few different bitrates. 

AudioBitRate 32

# Number of audio channels : 1 = mono, 2 = stereo

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

# Number of frames per second
VideoFrameRate 3

# Size of the video frame : WxH (default: 160x128)
# W : width, H : height
# The following abbreviation are defined : sqcif, qcif, cif, 4cif
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 I frames.
VideoGopSize 12

# Choose your codecs: 

#AudioCodec mp2
#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 key frame to appear in the data stream.
#PreRoll 15

</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>
#
##################################################################
# A stream coming from a file : you only need to set the input
# filename and optionnally a new format. Supported conversions:
#    avi -> asf
#

# another file streaming
<Stream file.rm>

File "/usr/local/httpd/htdocs/tlive.rm"
NoAudio

</Stream>

<Stream file.asf>

File "/usr/local/httpd/htdocs/test.asf"
NoAudio

</Stream>

##################################################################
# Another stream : Real with audio only at 32 kbits

<Stream test.ra>

Feed feed1.ffm
Format rm
AudioBitRate 32
NoVideo
NoAudio

</Stream>

##################################################################
# Another 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 test2.rm>

Feed feed1.ffm
Format rm

VideoBitRate 128
VideoFrameRate 15
VideoGopSize 25
VideoSize    320x240
AudioBitRate 64

</Stream>

##################################################################
# Another stream : Multipart JPEG

#<Stream test.mjpg>
#
#Feed feed1.ffm
#Format mpjpeg
#
#VideoFrameRate 2
#VideoIntraOnly
#NoAudio
#
#</Stream>

##################################################################
# Another stream : Multipart JPEG

#<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>

#Feed feed1.ffm
#Format swf
#
#VideoFrameRate 2
#VideoIntraOnly
#NoAudio
#
#</Stream>


##################################################################
# Another stream : ASF compatible

<Stream test.asf>

Feed feed1.ffm
Format asf
#
VideoFrameRate 15
VideoSize 352x240
VideoBitRate 128
VideoGopSize 30
AudioBitRate 64
StartSendOnKey

</Stream>

##################################################################
# Special stream : server status

<Stream stat.html>

Format status

</Stream>