1# Port on which the server is listening. You must select a different
2# port from your standard HTTP web server if it is running on the same
3# computer.
4Port 8090
5
6# Address on which the server is bound. Only useful if you have
7# several network interfaces.
8BindAddress 0.0.0.0
9
10# Number of simultaneous HTTP connections that can be handled. It has
11# to be defined *before* the MaxClients parameter, since it defines the
12# MaxClients maximum limit.
13MaxHTTPConnections 2000
14
15# Number of simultaneous requests that can be handled. Since FFServer
16# is very fast, it is more likely that you will want to leave this high
17# and use MaxBandwidth, below.
18MaxClients 1000
19
20# This the maximum amount of kbit/sec that you are prepared to
21# consume when streaming to clients.
22MaxBandwidth 1000
23
24# Access log file (uses standard Apache log file format)
25# '-' is the standard output.
26CustomLog -
27
28# Suppress that if you want to launch ffserver as a daemon.
29NoDaemon
30
31
32##################################################################
33# Definition of the live feeds. Each live feed contains one video
34# and/or audio sequence coming from an ffmpeg encoder or another
35# ffserver. This sequence may be encoded simultaneously with several
36# codecs at several resolutions.
37
38<Feed feed1.ffm>
39
40# You must use 'ffmpeg' to send a live feed to ffserver. In this
41# example, you can type:
42#
43# ffmpeg http://localhost:8090/feed1.ffm
44
45# ffserver can also do time shifting. It means that it can stream any
46# previously recorded live stream. The request should contain:
47# "http://xxxx?date=[YYYY-MM-DDT][[HH:]MM:]SS[.m...]".You must specify
48# a path where the feed is stored on disk. You also specify the
49# maximum size of the feed, where zero means unlimited. Default:
50# File=/tmp/feed_name.ffm FileMaxSize=5M
51File /tmp/feed1.ffm
52FileMaxSize 200K
53
54# You could specify
55# ReadOnlyFile /saved/specialvideo.ffm
56# This marks the file as readonly and it will not be deleted or updated.
57
58# Specify launch in order to start ffmpeg automatically.
59# First ffmpeg must be defined with an appropriate path if needed,
60# after that options can follow, but avoid adding the http:// field
61#Launch ffmpeg
62
63# Only allow connections from localhost to the feed.
64ACL allow 127.0.0.1
65
66</Feed>
67
68
69##################################################################
70# Now you can define each stream which will be generated from the
71# original audio and video stream. Each format has a filename (here
72# 'test1.mpg'). FFServer will send this stream when answering a
73# request containing this filename.
74
75<Stream test1.mpg>
76
77# coming from live feed 'feed1'
78Feed feed1.ffm
79
80# Format of the stream : you can choose among:
81# mpeg       : MPEG-1 multiplexed video and audio
82# mpegvideo  : only MPEG-1 video
83# mp2        : MPEG-2 audio (use AudioCodec to select layer 2 and 3 codec)
84# ogg        : Ogg format (Vorbis audio codec)
85# rm         : RealNetworks-compatible stream. Multiplexed audio and video.
86# ra         : RealNetworks-compatible stream. Audio only.
87# mpjpeg     : Multipart JPEG (works with Netscape without any plugin)
88# jpeg       : Generate a single JPEG image.
89# asf        : ASF compatible streaming (Windows Media Player format).
90# swf        : Macromedia Flash compatible stream
91# avi        : AVI format (MPEG-4 video, MPEG audio sound)
92Format mpeg
93
94# Bitrate for the audio stream. Codecs usually support only a few
95# different bitrates.
96AudioBitRate 32
97
98# Number of audio channels: 1 = mono, 2 = stereo
99AudioChannels 1
100
101# Sampling frequency for audio. When using low bitrates, you should
102# lower this frequency to 22050 or 11025. The supported frequencies
103# depend on the selected audio codec.
104AudioSampleRate 44100
105
106# Bitrate for the video stream
107VideoBitRate 64
108
109# Ratecontrol buffer size
110VideoBufferSize 40
111
112# Number of frames per second
113VideoFrameRate 3
114
115# Size of the video frame: WxH (default: 160x128)
116# The following abbreviations are defined: sqcif, qcif, cif, 4cif, qqvga,
117# qvga, vga, svga, xga, uxga, qxga, sxga, qsxga, hsxga, wvga, wxga, wsxga,
118# wuxga, woxga, wqsxga, wquxga, whsxga, whuxga, cga, ega, hd480, hd720,
119# hd1080
120VideoSize 160x128
121
122# Transmit only intra frames (useful for low bitrates, but kills frame rate).
123#VideoIntraOnly
124
125# If non-intra only, an intra frame is transmitted every VideoGopSize
126# frames. Video synchronization can only begin at an intra frame.
127VideoGopSize 12
128
129# More MPEG-4 parameters
130# VideoHighQuality
131# Video4MotionVector
132
133# Choose your codecs:
134#AudioCodec mp2
135#VideoCodec mpeg1video
136
137# Suppress audio
138#NoAudio
139
140# Suppress video
141#NoVideo
142
143#VideoQMin 3
144#VideoQMax 31
145
146# Set this to the number of seconds backwards in time to start. Note that
147# most players will buffer 5-10 seconds of video, and also you need to allow
148# for a keyframe to appear in the data stream.
149#Preroll 15
150
151# ACL:
152
153# You can allow ranges of addresses (or single addresses)
154#ACL ALLOW <first address> <last address>
155
156# You can deny ranges of addresses (or single addresses)
157#ACL DENY <first address> <last address>
158
159# You can repeat the ACL allow/deny as often as you like. It is on a per
160# stream basis. The first match defines the action. If there are no matches,
161# then the default is the inverse of the last ACL statement.
162#
163# Thus 'ACL allow localhost' only allows access from localhost.
164# 'ACL deny 1.0.0.0 1.255.255.255' would deny the whole of network 1 and
165# allow everybody else.
166
167</Stream>
168
169
170##################################################################
171# Example streams
172
173
174# Multipart JPEG
175
176#<Stream test.mjpg>
177#Feed feed1.ffm
178#Format mpjpeg
179#VideoFrameRate 2
180#VideoIntraOnly
181#NoAudio
182#Strict -1
183#</Stream>
184
185
186# Single JPEG
187
188#<Stream test.jpg>
189#Feed feed1.ffm
190#Format jpeg
191#VideoFrameRate 2
192#VideoIntraOnly
193##VideoSize 352x240
194#NoAudio
195#Strict -1
196#</Stream>
197
198
199# Flash
200
201#<Stream test.swf>
202#Feed feed1.ffm
203#Format swf
204#VideoFrameRate 2
205#VideoIntraOnly
206#NoAudio
207#</Stream>
208
209
210# ASF compatible
211
212<Stream test.asf>
213Feed feed1.ffm
214Format asf
215VideoFrameRate 15
216VideoSize 352x240
217VideoBitRate 256
218VideoBufferSize 40
219VideoGopSize 30
220AudioBitRate 64
221StartSendOnKey
222</Stream>
223
224
225# MP3 audio
226
227#<Stream test.mp3>
228#Feed feed1.ffm
229#Format mp2
230#AudioCodec mp3
231#AudioBitRate 64
232#AudioChannels 1
233#AudioSampleRate 44100
234#NoVideo
235#</Stream>
236
237
238# Ogg Vorbis audio
239
240#<Stream test.ogg>
241#Feed feed1.ffm
242#Title "Stream title"
243#AudioBitRate 64
244#AudioChannels 2
245#AudioSampleRate 44100
246#NoVideo
247#</Stream>
248
249
250# Real with audio only at 32 kbits
251
252#<Stream test.ra>
253#Feed feed1.ffm
254#Format rm
255#AudioBitRate 32
256#NoVideo
257#NoAudio
258#</Stream>
259
260
261# Real with audio and video at 64 kbits
262
263#<Stream test.rm>
264#Feed feed1.ffm
265#Format rm
266#AudioBitRate 32
267#VideoBitRate 128
268#VideoFrameRate 25
269#VideoGopSize 25
270#NoAudio
271#</Stream>
272
273
274##################################################################
275# A stream coming from a file: you only need to set the input
276# filename and optionally a new format. Supported conversions:
277#    AVI -> ASF
278
279#<Stream file.rm>
280#File "/usr/local/httpd/htdocs/tlive.rm"
281#NoAudio
282#</Stream>
283
284#<Stream file.asf>
285#File "/usr/local/httpd/htdocs/test.asf"
286#NoAudio
287#Author "Me"
288#Copyright "Super MegaCorp"
289#Title "Test stream from disk"
290#Comment "Test comment"
291#</Stream>
292
293
294##################################################################
295# RTSP examples
296#
297# You can access this stream with the RTSP URL:
298#   rtsp://localhost:5454/test1-rtsp.mpg
299#
300# A non-standard RTSP redirector is also created. Its URL is:
301#   http://localhost:8090/test1-rtsp.rtsp
302
303#<Stream test1-rtsp.mpg>
304#Format rtp
305#File "/usr/local/httpd/htdocs/test1.mpg"
306#</Stream>
307
308
309##################################################################
310# SDP/multicast examples
311#
312# If you want to send your stream in multicast, you must set the
313# multicast address with MulticastAddress. The port and the TTL can
314# also be set.
315#
316# An SDP file is automatically generated by ffserver by adding the
317# 'sdp' extension to the stream name (here
318# http://localhost:8090/test1-sdp.sdp). You should usually give this
319# file to your player to play the stream.
320#
321# The 'NoLoop' option can be used to avoid looping when the stream is
322# terminated.
323
324#<Stream test1-sdp.mpg>
325#Format rtp
326#File "/usr/local/httpd/htdocs/test1.mpg"
327#MulticastAddress 224.124.0.1
328#MulticastPort 5000
329#MulticastTTL 16
330#NoLoop
331#</Stream>
332
333
334##################################################################
335# Special streams
336
337# Server status
338
339<Stream stat.html>
340Format status
341
342# Only allow local people to get the status
343ACL allow localhost
344ACL allow 192.168.0.0 192.168.255.255
345
346#FaviconURL http://pond1.gladstonefamily.net:8080/favicon.ico
347</Stream>
348
349
350# Redirect index.html to the appropriate site
351
352<Redirect index.html>
353URL http://www.ffmpeg.org/
354</Redirect>
355
356
357