|
|
|
@ -1,33 +1,29 @@ |
|
|
|
|
# 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. |
|
|
|
|
|
|
|
|
|
# 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 - |
|
|
|
|
|
|
|
|
|
# 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 |
|
|
|
@ -47,22 +43,22 @@ NoDaemon |
|
|
|
|
# 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 |
|
|
|
|
#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 |
|
|
|
|
# 'test1.mpg'). FFServer will send this stream when answering a |
|
|
|
|
# request containing this filename. |
|
|
|
|
|
|
|
|
|
<Stream test1.mpg> |
|
|
|
@ -73,31 +69,28 @@ 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) |
|
|
|
|
# mp2 : MPEG2 audio (use AudioCodec to select layer 2 and 3 codec) |
|
|
|
|
# ogg : Ogg format (Vorbis audio codec) |
|
|
|
|
# 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. |
|
|
|
|
# asf : ASF compatible stream (Windows Media Player format). |
|
|
|
|
# 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. |
|
|
|
|
|
|
|
|
|
# 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. |
|
|
|
@ -107,9 +100,8 @@ VideoBitRate 64 |
|
|
|
|
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 |
|
|
|
|
VideoSize 160x128 |
|
|
|
|
|
|
|
|
|
# transmit only intra frames (useful for low bitrates, but kills frame rate) |
|
|
|
|
#VideoIntraOnly |
|
|
|
@ -119,7 +111,6 @@ VideoSize 160x128 |
|
|
|
|
VideoGopSize 12 |
|
|
|
|
|
|
|
|
|
# Choose your codecs: |
|
|
|
|
|
|
|
|
|
#AudioCodec mp2 |
|
|
|
|
#VideoCodec mpeg1video |
|
|
|
|
|
|
|
|
@ -140,209 +131,161 @@ VideoGopSize 12 |
|
|
|
|
# ACL: |
|
|
|
|
|
|
|
|
|
# You can allow ranges of addresses (or single addresses) |
|
|
|
|
# ACL ALLOW <first address> <last address> |
|
|
|
|
#ACL ALLOW <first address> <last address> |
|
|
|
|
|
|
|
|
|
# You can deny ranges of addresses (or single addresses) |
|
|
|
|
# ACL DENY <first address> <last address> |
|
|
|
|
#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 |
|
|
|
|
# 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. |
|
|
|
|
# |
|
|
|
|
|
|
|
|
|
# another file streaming |
|
|
|
|
<Stream file.rm> |
|
|
|
|
|
|
|
|
|
File "/usr/local/httpd/htdocs/tlive.rm" |
|
|
|
|
NoAudio |
|
|
|
|
# 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> |
|
|
|
|
|
|
|
|
|
<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 |
|
|
|
|
# Example streams |
|
|
|
|
|
|
|
|
|
<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 |
|
|
|
|
# Multipart JPEG |
|
|
|
|
|
|
|
|
|
#<Stream test.mjpg> |
|
|
|
|
# |
|
|
|
|
#Feed feed1.ffm |
|
|
|
|
#Format mpjpeg |
|
|
|
|
# |
|
|
|
|
#VideoFrameRate 2 |
|
|
|
|
#VideoIntraOnly |
|
|
|
|
#NoAudio |
|
|
|
|
# |
|
|
|
|
#</Stream> |
|
|
|
|
|
|
|
|
|
################################################################## |
|
|
|
|
# Another stream : Multipart JPEG |
|
|
|
|
|
|
|
|
|
# Single 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> |
|
|
|
|
# Flash |
|
|
|
|
|
|
|
|
|
#<Stream test.swf> |
|
|
|
|
#Feed feed1.ffm |
|
|
|
|
#Format swf |
|
|
|
|
# |
|
|
|
|
#VideoFrameRate 2 |
|
|
|
|
#VideoIntraOnly |
|
|
|
|
#NoAudio |
|
|
|
|
# |
|
|
|
|
#</Stream> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
################################################################## |
|
|
|
|
# Another stream : ASF compatible |
|
|
|
|
# ASF compatible |
|
|
|
|
|
|
|
|
|
<Stream test.asf> |
|
|
|
|
#<Stream test.asf> |
|
|
|
|
#Feed feed1.ffm |
|
|
|
|
#Format asf |
|
|
|
|
#VideoFrameRate 15 |
|
|
|
|
#VideoSize 352x240 |
|
|
|
|
#VideoBitRate 256 |
|
|
|
|
#VideoGopSize 30 |
|
|
|
|
#AudioBitRate 64 |
|
|
|
|
#StartSendOnKey |
|
|
|
|
#</Stream> |
|
|
|
|
|
|
|
|
|
Feed feed1.ffm |
|
|
|
|
Format asf |
|
|
|
|
# |
|
|
|
|
VideoFrameRate 15 |
|
|
|
|
VideoSize 352x240 |
|
|
|
|
VideoBitRate 256 |
|
|
|
|
VideoGopSize 30 |
|
|
|
|
AudioBitRate 64 |
|
|
|
|
StartSendOnKey |
|
|
|
|
|
|
|
|
|
</Stream> |
|
|
|
|
# MP3 audio |
|
|
|
|
|
|
|
|
|
<Stream testv.asf> |
|
|
|
|
#<Stream test.mp3> |
|
|
|
|
#Feed feed1.ffm |
|
|
|
|
#Format mp2 |
|
|
|
|
#AudioCodec mp3 |
|
|
|
|
#AudioBitRate 64 |
|
|
|
|
#AudioChannels 1 |
|
|
|
|
#AudioSampleRate 44100 |
|
|
|
|
#NoVideo |
|
|
|
|
#</Stream> |
|
|
|
|
|
|
|
|
|
Feed feed1.ffm |
|
|
|
|
Format asf |
|
|
|
|
# |
|
|
|
|
VideoFrameRate 15 |
|
|
|
|
VideoSize 352x240 |
|
|
|
|
VideoBitRate 256 |
|
|
|
|
VideoGopSize 30 |
|
|
|
|
NoAudio |
|
|
|
|
StartSendOnKey |
|
|
|
|
|
|
|
|
|
</Stream> |
|
|
|
|
# Ogg Vorbis audio |
|
|
|
|
|
|
|
|
|
<Stream testv2.asf> |
|
|
|
|
#<Stream test.ogg> |
|
|
|
|
#Feed feed1.ffm |
|
|
|
|
#Title "Stream title" |
|
|
|
|
#AudioBitRate 64 |
|
|
|
|
#AudioChannels 2 |
|
|
|
|
#AudioSampleRate 44100 |
|
|
|
|
#NoVideo |
|
|
|
|
#</Stream> |
|
|
|
|
|
|
|
|
|
Feed feed1.ffm |
|
|
|
|
Format asf |
|
|
|
|
# |
|
|
|
|
VideoFrameRate 15 |
|
|
|
|
VideoSize 352x240 |
|
|
|
|
VideoBitRate 128 |
|
|
|
|
VideoGopSize 30 |
|
|
|
|
NoAudio |
|
|
|
|
StartSendOnKey |
|
|
|
|
|
|
|
|
|
</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> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
################################################################## |
|
|
|
|
# RTSP examples |
|
|
|
|
# A stream coming from a file : you only need to set the input |
|
|
|
|
# filename and optionnally a new format. Supported conversions: |
|
|
|
|
# avi -> asf |
|
|
|
|
|
|
|
|
|
# You can access to this stream with the RTSP URL: |
|
|
|
|
#<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> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
################################################################## |
|
|
|
|
# RTSP examples |
|
|
|
|
# |
|
|
|
|
# rtsp://localhost:5454/test1-rtsp.mpg |
|
|
|
|
# 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 |
|
|
|
|
# |
|
|
|
|
# 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. |
|
|
|
@ -354,36 +297,37 @@ StartSendOnKey |
|
|
|
|
# |
|
|
|
|
# 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 |
|
|
|
|
# Special streams |
|
|
|
|
|
|
|
|
|
<Stream stat.html> |
|
|
|
|
# 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 |
|
|
|
|
|
|
|
|
|
#FaviconURL http://pond1.gladstonefamily.net:8080/favicon.ico |
|
|
|
|
</Stream> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Redirect index.html to the appropriate site |
|
|
|
|
|
|
|
|
|
<Redirect index.html> |
|
|
|
|
# maps index.html to the appropriate site |
|
|
|
|
URL http://ffmpeg.sourceforge.net/ |
|
|
|
|
</Redirect> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|