0

我有一个我正在尝试广播的通用 Windows 网络摄像头

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

看起来没有错误。我可以在端口 8090 上使用 tcpdump 看到大量流量

ffserver 在 FreeBSD 服务器上配置,未配置防火墙

# 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>

港口是活的

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

但是当我尝试通过 VLC 连接到 ffserver

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

连接失败。没有网络问题

如何配置从 ffmpeg 到 ffserver 的网络摄像头广播以通过 VLC(或类似)查看?

4

2 回答 2

0

我相信您的端口混淆了。FFserver 为 HTTP、RTSP 使用端口 8090。在您的 FFserver 配置文件中设置 RTSPPort,然后确保您点击的是流而不是提要(正如 QA Collective 指出的那样)。就像是:

...
HTTPPort 8090
RTSPPort 5554
...

确保端口可用,然后尝试:

ffplay -loglevel debug "rtsp://persiaspalace.us:5554/test1.mpg"
于 2017-04-13T19:40:55.370 回答
0

您需要连接到流,而不是提要。提要是传入的视频。流是传出的视频。

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

需要是

rtsp://persiaspalace.us:8090/test1.mpg 或 rtsp://persiaspalace.us:8090/test.asf 或 rtsp://persiaspalace.us:8090/test1-rtsp.mpg

于 2017-04-13T11:57:56.480 回答