====== OpenRTSP, FFMPEG/FFServer and a Fastraxx X18 Network Dome Camera ======
this is actually quite simple and I went with this solution because the documentation for the Camera is total crud. Anyway you have to have OpenRTSP and ffmpeg installed:
# apt-get install livemedia-utils ffmpeg
then get ffserver configured:
rm /etc/ffserver.conf
nano ffserver.conf
add the following:
# 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, 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 /var/log/ffserver.log
# 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.
# 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 1024K
# 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
##################################################################
# 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.
# the source feed
Feed feed1.ffm
# the output stream format - SWF = flash
Format swf
# this must match the ffmpeg -r argument
VideoFrameRate 5
# another quality tweak
VideoBitRate 320
# quality ranges - 1-31 (1 = best, 31 = worst)
VideoQMin 1
VideoQMax 3
VideoSize 640x480
# wecams don't have audio
NoAudio
# Flash
# the source feed
Feed feed1.ffm
# the output stream format - FLV = FLash Video
Format flv
VideoCodec flv
# this must match the ffmpeg -r argument
VideoFrameRate 5
# another quality tweak
VideoBitRate 320
# quality ranges - 1-31 (1 = best, 31 = worst)
VideoQMin 1
VideoQMax 3
VideoSize 640x480
# wecams don't have audio
NoAudio
# ASF compatible
#
#Feed feed1.ffm
#Format asf
#VideoFrameRate 15
#VideoSize 352x240
#VideoBitRate 256
#VideoBufferSize 40
#VideoGopSize 30
#AudioBitRate 64
#StartSendOnKey
#
##################################################################
# Special streams
# Server status
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
# Redirect index.html to the appropriate site
URL http://www.ffmpeg.org/
startup ffserver:
ffserver -f /etc/ffserver.conf &
Once ffserver is running you are ready to pull the stream from the camera and push it through ffserver:
openRTSP -v -d 180 -t rtsp://1.2.3.4:7070/ | ffmpeg -i - -f flv -an http://localhost:8090/feed1.ffm
* 1.2.3.4 is the IP of the camera
if you are just wanting to capture to a file for later processing/viewing:
openRTSP -v -d 180 -t rtsp://10.11.80.200:7070/ | ffmpeg -i - -y -f flv -an test.flv