1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-18 03:19:31 +02:00
FFmpeg/doc/ffserver.conf
Fabrice Bellard 6891b9d458 added example to hack with SDP/multicast streaming
Originally committed as revision 1261 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-11-20 18:26:32 +00:00

390 lines
8.6 KiB
Plaintext

# 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.
Port 8090
# Address on which the server is bound. Only useful if you have
# several network interfaces.
BindAddress 0.0.0.0
# Number of simultaneous requests that can be handled. Since FFServer
# is very fast, this limit is determined mainly by your Internet
# connection speed.
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 -
# Suppress that if you want to launch ffserver as a daemon
NoDaemon
##################################################################
# 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 (100M bytes here). Default:
# File=/tmp/feed_name.ffm FileMaxSize=5M
File /tmp/feed1.ffm
FileMaxSize 200K
# Specify launch in order to start ffmpeg automatically
# Launch
# 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
# 'test128.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 : MPEG1 multiplexed video and audio
# mpegvideo : only MPEG1 video
# mp2 : MPEG audio layer 2
# mp3 : MPEG audio layer 3 (currently sent as layer 2)
# rm : Real Networks compatible stream. Multiplexed audio and video.
# ra : Real Networks compatible stream. Audio only.
# mpjpeg : Multipart JPEG (works with Netscape without any plugin)
# jpeg : Generate a single JPEG image.
# asf : ASF compatible stream (Windows Media Player format). Not finished yet.
# swf : Macromedia flash(tm) compatible stream
# avi : AVI format (open divx video, mpeg audio sound)
# master : special ffmpeg stream used to duplicate a server
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
# Number of frames per second
VideoFrameRate 3
# Size of the video frame : WxH (default: 160x128)
# W : width, H : height
# The following abbreviation are defined : sqcif, qcif, cif, 4cif
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 I frames.
VideoGopSize 12
# 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 key frame 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>
# second mpeg stream with high frame rate
#<Stream test2.mpg>
#Feed feed1.ffm
#Format mpegvideo
#VideoBitRate 128
#VideoFrameRate 25
###VideoSize 352x240
#VideoGopSize 25
#NoAudio
#</Stream>
#
##################################################################
# A stream coming from a file : you only need to set the input
# filename and optionnally a new format. Supported conversions:
# avi -> asf
#
# another file streaming
<Stream file.rm>
File "/usr/local/httpd/htdocs/tlive.rm"
NoAudio
</Stream>
<Stream file.asf>
File "/usr/local/httpd/htdocs/test.asf"
NoAudio
Author "Me"
Copyright "Super MegaCorp"
Title "Test stream from disk"
Comment "Test comment"
</Stream>
##################################################################
# Another stream : Real with audio only at 32 kbits
<Stream test.ra>
Feed feed1.ffm
Format rm
AudioBitRate 32
NoVideo
NoAudio
</Stream>
##################################################################
# Another 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>
<Stream test2.rm>
Feed feed1.ffm
Format rm
VideoBitRate 128
VideoFrameRate 15
VideoGopSize 25
VideoSize 320x240
AudioBitRate 64
</Stream>
##################################################################
# Another stream : Multipart JPEG
#<Stream test.mjpg>
#
#Feed feed1.ffm
#Format mpjpeg
#
#VideoFrameRate 2
#VideoIntraOnly
#NoAudio
#
#</Stream>
##################################################################
# Another stream : Multipart JPEG
#<Stream test.jpg>
#
#Feed feed1.ffm
#Format jpeg
#
## the parameters are choose here to take the same output as the
## Multipart JPEG one.
#VideoFrameRate 2
#VideoIntraOnly
##VideoSize 352x240
#NoAudio
#
#</Stream>
##################################################################
# Another stream : Flash
#<Stream test.swf>
#Feed feed1.ffm
#Format swf
#
#VideoFrameRate 2
#VideoIntraOnly
#NoAudio
#
#</Stream>
##################################################################
# Another stream : ASF compatible
<Stream test.asf>
Feed feed1.ffm
Format asf
#
VideoFrameRate 15
VideoSize 352x240
VideoBitRate 256
VideoGopSize 30
AudioBitRate 64
StartSendOnKey
</Stream>
<Stream testv.asf>
Feed feed1.ffm
Format asf
#
VideoFrameRate 15
VideoSize 352x240
VideoBitRate 256
VideoGopSize 30
NoAudio
StartSendOnKey
</Stream>
<Stream testv2.asf>
Feed feed1.ffm
Format asf
#
VideoFrameRate 15
VideoSize 352x240
VideoBitRate 128
VideoGopSize 30
NoAudio
StartSendOnKey
</Stream>
##################################################################
# RTSP examples
# You can access to 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>
##################################################################
# 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 stream : server status
<Stream stat.html>
Format status
# Only allow local people to get to 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>
# maps index.html to the appropriate site
URL http://ffmpeg.sourceforge.net/
</Redirect>