| # Port on which the server is listening. You must select a different |
| # port from your standard HTTP web server if it is running on the same |
| # computer. |
| HTTPPort 8090 |
| |
| # Address on which the server is bound. Only useful if you have |
| # several network interfaces. |
| HTTPBindAddress 0.0.0.0 |
| |
| # Number of simultaneous HTTP connections that can be handled. It has |
| # to be defined *before* the MaxClients parameter, since it defines the |
| # MaxClients maximum limit. |
| MaxHTTPConnections 2000 |
| |
| # Number of simultaneous requests that can be handled. Since FFServer |
| # is very fast, it is more likely that you will want to leave this high |
| # and use MaxBandwidth, below. |
| MaxClients 1000 |
| |
| # This the maximum amount of kbit/sec that you are prepared to |
| # consume when streaming to clients. |
| MaxBandwidth 1000 |
| |
| # Access log file (uses standard Apache log file format) |
| # '-' is the standard output. |
| CustomLog - |
| |
| ################################################################## |
| # Definition of the live feeds. Each live feed contains one video |
| # and/or audio sequence coming from an ffmpeg encoder or another |
| # ffserver. This sequence may be encoded simultaneously with several |
| # codecs at several resolutions. |
| |
| <Feed feed1.ffm> |
| |
| # You must use 'ffmpeg' to send a live feed to ffserver. In this |
| # example, you can type: |
| # |
| # ffmpeg http://localhost:8090/feed1.ffm |
| |
| # ffserver can also do time shifting. It means that it can stream any |
| # previously recorded live stream. The request should contain: |
| # "http://xxxx?date=[YYYY-MM-DDT][[HH:]MM:]SS[.m...]".You must specify |
| # a path where the feed is stored on disk. You also specify the |
| # maximum size of the feed, where zero means unlimited. Default: |
| # File=/tmp/feed_name.ffm FileMaxSize=5M |
| File /tmp/feed1.ffm |
| FileMaxSize 200K |
| |
| # You could specify |
| # ReadOnlyFile /saved/specialvideo.ffm |
| # This marks the file as readonly and it will not be deleted or updated. |
| |
| # Specify launch in order to start ffmpeg automatically. |
| # First ffmpeg must be defined with an appropriate path if needed, |
| # after that options can follow, but avoid adding the http:// field |
| #Launch ffmpeg |
| |
| # Only allow connections from localhost to the feed. |
| ACL allow 127.0.0.1 |
| |
| </Feed> |
| |
| |
| ################################################################## |
| # Now you can define each stream which will be generated from the |
| # original audio and video stream. Each format has a filename (here |
| # 'test1.mpg'). FFServer will send this stream when answering a |
| # request containing this filename. |
| |
| <Stream test1.mpg> |
| |
| # coming from live feed 'feed1' |
| Feed feed1.ffm |
| |
| # Format of the stream : you can choose among: |
| # mpeg : MPEG-1 multiplexed video and audio |
| # mpegvideo : only MPEG-1 video |
| # mp2 : MPEG-2 audio (use AudioCodec to select layer 2 and 3 codec) |
| # ogg : Ogg format (Vorbis audio codec) |
| # rm : RealNetworks-compatible stream. Multiplexed audio and video. |
| # ra : RealNetworks-compatible stream. Audio only. |
| # mpjpeg : Multipart JPEG (works with Netscape without any plugin) |
| # jpeg : Generate a single JPEG image. |
| # mjpeg : Generate a M-JPEG stream. |
| # asf : ASF compatible streaming (Windows Media Player format). |
| # swf : Macromedia Flash compatible stream |
| # avi : AVI format (MPEG-4 video, MPEG audio sound) |
| Format mpeg |
| |
| # Bitrate for the audio stream. Codecs usually support only a few |
| # different bitrates. |
| AudioBitRate 32 |
| |
| # Number of audio channels: 1 = mono, 2 = stereo |
| AudioChannels 1 |
| |
| # Sampling frequency for audio. When using low bitrates, you should |
| # lower this frequency to 22050 or 11025. The supported frequencies |
| # depend on the selected audio codec. |
| AudioSampleRate 44100 |
| |
| # Bitrate for the video stream |
| VideoBitRate 64 |
| |
| # Ratecontrol buffer size |
| VideoBufferSize 40 |
| |
| # Number of frames per second |
| VideoFrameRate 3 |
| |
| # Size of the video frame: WxH (default: 160x128) |
| # The following abbreviations are defined: sqcif, qcif, cif, 4cif, qqvga, |
| # qvga, vga, svga, xga, uxga, qxga, sxga, qsxga, hsxga, wvga, wxga, wsxga, |
| # wuxga, woxga, wqsxga, wquxga, whsxga, whuxga, cga, ega, hd480, hd720, |
| # hd1080 |
| VideoSize 160x128 |
| |
| # Transmit only intra frames (useful for low bitrates, but kills frame rate). |
| #VideoIntraOnly |
| |
| # If non-intra only, an intra frame is transmitted every VideoGopSize |
| # frames. Video synchronization can only begin at an intra frame. |
| VideoGopSize 12 |
| |
| # More MPEG-4 parameters |
| # VideoHighQuality |
| # Video4MotionVector |
| |
| # Choose your codecs: |
| #AudioCodec mp2 |
| #VideoCodec mpeg1video |
| |
| # Suppress audio |
| #NoAudio |
| |
| # Suppress video |
| #NoVideo |
| |
| #VideoQMin 3 |
| #VideoQMax 31 |
| |
| # Set this to the number of seconds backwards in time to start. Note that |
| # most players will buffer 5-10 seconds of video, and also you need to allow |
| # for a keyframe to appear in the data stream. |
| #Preroll 15 |
| |
| # ACL: |
| |
| # You can allow ranges of addresses (or single addresses) |
| #ACL ALLOW <first address> <last address> |
| |
| # You can deny ranges of addresses (or single addresses) |
| #ACL DENY <first address> <last address> |
| |
| # You can repeat the ACL allow/deny as often as you like. It is on a per |
| # stream basis. The first match defines the action. If there are no matches, |
| # then the default is the inverse of the last ACL statement. |
| # |
| # Thus 'ACL allow localhost' only allows access from localhost. |
| # 'ACL deny 1.0.0.0 1.255.255.255' would deny the whole of network 1 and |
| # allow everybody else. |
| |
| </Stream> |
| |
| |
| ################################################################## |
| # Example streams |
| |
| |
| # Multipart JPEG |
| |
| #<Stream test.mjpg> |
| #Feed feed1.ffm |
| #Format mpjpeg |
| #VideoFrameRate 2 |
| #VideoIntraOnly |
| #NoAudio |
| #Strict -1 |
| #</Stream> |
| |
| |
| # Single JPEG |
| |
| #<Stream test.jpg> |
| #Feed feed1.ffm |
| #Format jpeg |
| #VideoFrameRate 2 |
| #VideoIntraOnly |
| ##VideoSize 352x240 |
| #NoAudio |
| #Strict -1 |
| #</Stream> |
| |
| |
| # Flash |
| |
| #<Stream test.swf> |
| #Feed feed1.ffm |
| #Format swf |
| #VideoFrameRate 2 |
| #VideoIntraOnly |
| #NoAudio |
| #</Stream> |
| |
| |
| # ASF compatible |
| |
| <Stream test.asf> |
| Feed feed1.ffm |
| Format asf |
| VideoFrameRate 15 |
| VideoSize 352x240 |
| VideoBitRate 256 |
| VideoBufferSize 40 |
| VideoGopSize 30 |
| AudioBitRate 64 |
| StartSendOnKey |
| </Stream> |
| |
| |
| # MP3 audio |
| |
| #<Stream test.mp3> |
| #Feed feed1.ffm |
| #Format mp2 |
| #AudioCodec mp3 |
| #AudioBitRate 64 |
| #AudioChannels 1 |
| #AudioSampleRate 44100 |
| #NoVideo |
| #</Stream> |
| |
| |
| # Ogg Vorbis audio |
| |
| #<Stream test.ogg> |
| #Feed feed1.ffm |
| #Metadata title "Stream title" |
| #AudioBitRate 64 |
| #AudioChannels 2 |
| #AudioSampleRate 44100 |
| #NoVideo |
| #</Stream> |
| |
| |
| # Real with audio only at 32 kbits |
| |
| #<Stream test.ra> |
| #Feed feed1.ffm |
| #Format rm |
| #AudioBitRate 32 |
| #NoVideo |
| #NoAudio |
| #</Stream> |
| |
| |
| # Real with audio and video at 64 kbits |
| |
| #<Stream test.rm> |
| #Feed feed1.ffm |
| #Format rm |
| #AudioBitRate 32 |
| #VideoBitRate 128 |
| #VideoFrameRate 25 |
| #VideoGopSize 25 |
| #NoAudio |
| #</Stream> |
| |
| |
| ################################################################## |
| # A stream coming from a file: you only need to set the input |
| # filename and optionally a new format. Supported conversions: |
| # AVI -> ASF |
| |
| #<Stream file.rm> |
| #File "/usr/local/httpd/htdocs/tlive.rm" |
| #NoAudio |
| #</Stream> |
| |
| #<Stream file.asf> |
| #File "/usr/local/httpd/htdocs/test.asf" |
| #NoAudio |
| #Metadata author "Me" |
| #Metadata copyright "Super MegaCorp" |
| #Metadata title "Test stream from disk" |
| #Metadata comment "Test comment" |
| #</Stream> |
| |
| |
| ################################################################## |
| # RTSP examples |
| # |
| # You can access this stream with the RTSP URL: |
| # rtsp://localhost:5454/test1-rtsp.mpg |
| # |
| # A non-standard RTSP redirector is also created. Its URL is: |
| # http://localhost:8090/test1-rtsp.rtsp |
| |
| #<Stream test1-rtsp.mpg> |
| #Format rtp |
| #File "/usr/local/httpd/htdocs/test1.mpg" |
| #</Stream> |
| |
| |
| # Transcode an incoming live feed to another live feed, |
| # using libx264 and video presets |
| |
| #<Stream live.h264> |
| #Format rtp |
| #Feed feed1.ffm |
| #VideoCodec libx264 |
| #VideoFrameRate 24 |
| #VideoBitRate 100 |
| #VideoSize 480x272 |
| #AVPresetVideo default |
| #AVPresetVideo baseline |
| #AVOptionVideo flags +global_header |
| # |
| #AudioCodec libfaac |
| #AudioBitRate 32 |
| #AudioChannels 2 |
| #AudioSampleRate 22050 |
| #AVOptionAudio flags +global_header |
| #</Stream> |
| |
| ################################################################## |
| # SDP/multicast examples |
| # |
| # If you want to send your stream in multicast, you must set the |
| # multicast address with MulticastAddress. The port and the TTL can |
| # also be set. |
| # |
| # An SDP file is automatically generated by ffserver by adding the |
| # 'sdp' extension to the stream name (here |
| # http://localhost:8090/test1-sdp.sdp). You should usually give this |
| # file to your player to play the stream. |
| # |
| # The 'NoLoop' option can be used to avoid looping when the stream is |
| # terminated. |
| |
| #<Stream test1-sdp.mpg> |
| #Format rtp |
| #File "/usr/local/httpd/htdocs/test1.mpg" |
| #MulticastAddress 224.124.0.1 |
| #MulticastPort 5000 |
| #MulticastTTL 16 |
| #NoLoop |
| #</Stream> |
| |
| |
| ################################################################## |
| # Special streams |
| |
| # Server status |
| |
| <Stream stat.html> |
| Format status |
| |
| # Only allow local people to get the status |
| ACL allow localhost |
| ACL allow 192.168.0.0 192.168.255.255 |
| |
| #FaviconURL http://pond1.gladstonefamily.net:8080/favicon.ico |
| </Stream> |
| |
| |
| # Redirect index.html to the appropriate site |
| |
| <Redirect index.html> |
| URL http://www.ffmpeg.org/ |
| </Redirect> |