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