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