blob: e3f99bbfb3d728c4e225e26e007d2045eaa81cc4
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> |
373 |