ffmpegudprtspffserver

ffmpeg to ffserver works, but cannot view


I have a generic windows webcam that I am trying to broadcast

ffmpeg -f vfwcap -I 0 -vcodedc libx264 -tune zerolatency-b 900k -f mpegts udp://domain.com:8090

which appears error free. I can see plenty of traffic using tcpdump on port 8090

ffserver is configure on a FreeBSD server with no firewall configured

# cat /usr/local/etc/ffserver.conf| egrep -v "(^#.*|^$)"
HTTPPort 8090
HTTPBindAddress 0.0.0.0
MaxHTTPConnections 2000
MaxClients 1000
MaxBandwidth 1000
CustomLog -
<Feed feed1.ffm>
File /tmp/feed1.ffm
FileMaxSize 200K
ACL allow 98.124.117.129
</Feed>
<Stream test1.mpg>
Feed feed1.ffm
Format mpeg
AudioBitRate 32
AudioChannels 1
AudioSampleRate 44100
VideoBitRate 64
VideoBufferSize 40
VideoFrameRate 3
VideoSize 160x128
VideoGopSize 12
ACL ALLOW all
</Stream>
<Stream test.asf>
Feed feed1.ffm
Format asf
VideoFrameRate 15
VideoSize 352x240
VideoBitRate 256
VideoBufferSize 40
VideoGopSize 30
AudioBitRate 64
StartSendOnKey
</Stream>
<Stream test1-rtsp.mpg>
Format rtp
File "/tmp/feed1.ffm"
</Stream>
<Stream stat.html>
Format status
ACL allow localhost
ACL allow 192.168.0.0 192.168.255.255 98.124.117.129 0.0.0.0
</Stream>
<Redirect index.html>
URL http://www.ffmpeg.org/
</Redirect>

The port is live

# netstat -an|grep 8090
tcp4       0      0 *.8090                 *.*                    LISTEN

But when I try to connect via VLC to the ffserver

rtsp://persiaspalace.us:8090/feed1.ffm

connection fails. There are no networking issues

How do I configure a webcam broadcast from ffmpeg to ffserver for viewing via VLC (or similar)?


Solution

  • I believe your ports are mixed up. FFserver is using port 8090 for HTTP, RTSP. Set RTSPPort in your FFserver config file and then make sure you're hitting the stream and not the feed (as QA Collective pointed out). Something like:

    ...
    HTTPPort 8090
    RTSPPort 5554
    ...
    

    Make sure the port is available, and then try:

    ffplay -loglevel debug "rtsp://persiaspalace.us:5554/test1.mpg"