summaryrefslogtreecommitdiff
path: root/doc/ffserver.conf (plain)
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.
4HTTPPort 8090
5
6# Address on which the server is bound. Only useful if you have
7# several network interfaces.
8HTTPBindAddress 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##################################################################
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
47File /tmp/feed1.ffm
48FileMaxSize 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.
60ACL 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'
74Feed 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)
89Format mpeg
90
91# Bitrate for the audio stream. Codecs usually support only a few
92# different bitrates.
93AudioBitRate 32
94
95# Number of audio channels: 1 = mono, 2 = stereo
96AudioChannels 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.
101AudioSampleRate 44100
102
103# Bitrate for the video stream
104VideoBitRate 64
105
106# Ratecontrol buffer size
107VideoBufferSize 40
108
109# Number of frames per second
110VideoFrameRate 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
117VideoSize 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.
124VideoGopSize 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>
210Feed feed1.ffm
211Format asf
212VideoFrameRate 15
213VideoSize 352x240
214VideoBitRate 256
215VideoBufferSize 40
216VideoGopSize 30
217AudioBitRate 64
218StartSendOnKey
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>
358Format status
359
360# Only allow local people to get the status
361ACL allow localhost
362ACL 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>
371URL http://www.ffmpeg.org/
372</Redirect>
373