Merge remote-tracking branch 'qatar/master'
[ffmpeg.git] / doc / ffserver.conf
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.
4 Port 8090
5
6 # Address on which the server is bound. Only useful if you have
7 # several network interfaces.
8 BindAddress 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.
13 MaxHTTPConnections 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.
18 MaxClients 1000
19
20 # This the maximum amount of kbit/sec that you are prepared to
21 # consume when streaming to clients.
22 MaxBandwidth 1000
23
24 # Access log file (uses standard Apache log file format)
25 # '-' is the standard output.
26 CustomLog -
27
28 # Suppress that if you want to launch ffserver as a daemon.
29 NoDaemon
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
51 File /tmp/feed1.ffm
52 FileMaxSize 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.
64 ACL 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'
78 Feed 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)
92 Format mpeg
93
94 # Bitrate for the audio stream. Codecs usually support only a few
95 # different bitrates.
96 AudioBitRate 32
97
98 # Number of audio channels: 1 = mono, 2 = stereo
99 AudioChannels 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.
104 AudioSampleRate 44100
105
106 # Bitrate for the video stream
107 VideoBitRate 64
108
109 # Ratecontrol buffer size
110 VideoBufferSize 40
111
112 # Number of frames per second
113 VideoFrameRate 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
120 VideoSize 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.
127 VideoGopSize 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>
213 Feed feed1.ffm
214 Format asf
215 VideoFrameRate 15
216 VideoSize 352x240
217 VideoBitRate 256
218 VideoBufferSize 40
219 VideoGopSize 30
220 AudioBitRate 64
221 StartSendOnKey
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 # Transcode an incoming live feed to another live feed,
310 # using libx264 and video presets
311
312 #<Stream live.h264>
313 #Format rtp
314 #Feed feed1.ffm
315 #VideoCodec libx264
316 #VideoFrameRate 24
317 #VideoBitRate 100
318 #VideoSize 480x272
319 #AVPresetVideo default
320 #AVPresetVideo baseline
321 #AVOptionVideo flags +global_header
322 #
323 #AudioCodec libfaac
324 #AudioBitRate 32
325 #AudioChannels 2
326 #AudioSampleRate 22050
327 #AVOptionAudio flags +global_header
328 #</Stream>
329
330 ##################################################################
331 # SDP/multicast examples
332 #
333 # If you want to send your stream in multicast, you must set the
334 # multicast address with MulticastAddress. The port and the TTL can
335 # also be set.
336 #
337 # An SDP file is automatically generated by ffserver by adding the
338 # 'sdp' extension to the stream name (here
339 # http://localhost:8090/test1-sdp.sdp). You should usually give this
340 # file to your player to play the stream.
341 #
342 # The 'NoLoop' option can be used to avoid looping when the stream is
343 # terminated.
344
345 #<Stream test1-sdp.mpg>
346 #Format rtp
347 #File "/usr/local/httpd/htdocs/test1.mpg"
348 #MulticastAddress 224.124.0.1
349 #MulticastPort 5000
350 #MulticastTTL 16
351 #NoLoop
352 #</Stream>
353
354
355 ##################################################################
356 # Special streams
357
358 # Server status
359
360 <Stream stat.html>
361 Format status
362
363 # Only allow local people to get the status
364 ACL allow localhost
365 ACL allow 192.168.0.0 192.168.255.255
366
367 #FaviconURL http://pond1.gladstonefamily.net:8080/favicon.ico
368 </Stream>
369
370
371 # Redirect index.html to the appropriate site
372
373 <Redirect index.html>
374 URL http://www.ffmpeg.org/
375 </Redirect>