使用ffserver/ffmpeg时TCP连接被拒绝

Mik*_*ike 16 tcp ffmpeg ffserver

尝试在Ubuntu 10.04LTS桌面上使用ffserver时,我收到"与localhost的TCP连接:8090失败:连接被拒绝"错误.

我在打字:

ffmpeg -f video4linux2 -s 640x480 -r 30000/1001 -i/dev/video0 -f avi -vcodec mjpeg -r 30000/1001 http://localhost:8090/feed1.ffm

这是完整的输出:

Input #0, video4linux2, from '/dev/video0':  
Duration: N/A, start: 1314207657.841770, bitrate: N/A  
   Stream #0.0: Video: mjpeg, yuvj420p, 1280x720 [SAR 96:96 DAR 16:9], -5 kb/s, 30 tbr, 1000k tbn, 30 tbc  
[tcp @ 0x9e58980] TCP connection to localhost:8090 failed: Connection refused  
[buffer @ 0x9e58260] w:1280 h:720 pixfmt:yuvj420p tb:1/1000000 sar:96/96 sws_param:  
Output #0, avi, to 'http://localhost:8090/feed1.ffm':  
  Metadata:  
    ISFT            : Lavf53.8.0  
    Stream #0.0: Video: mjpeg, yuvj420p, 1280x720 [SAR 96:96 DAR 16:9], q=2-31, 200 kb/s, 29.97 tbn, 29.97 tbc  
Stream mapping:  
  Stream #0.0 -> #0.0`  
Run Code Online (Sandbox Code Playgroud)

ffserver似乎承认了这个请求:

Wed Aug 24 13:40:57 2011 127.0.0.1 - - [POST] "/feed1.ffm HTTP/1.1" 200 1356  
Run Code Online (Sandbox Code Playgroud)

问题出在哪儿?我怎样才能正确使用ffmpeg?

ier*_*dna 8

我遇到了同样的问题,这对我有用:

在/etc/ffserver.conf文件中放:

BindAddress 0.0.0.0
Run Code Online (Sandbox Code Playgroud)

然后在<feed> </ feed>部分添加:

ACL allow 127.0.0.1
ACL allow localhost
ACL allow 192.168.0.0 192.168.255.255
Run Code Online (Sandbox Code Playgroud)

假设您的网络IP是192.168.xx

然后启动你的服务器:

ffserver -d -f /etc/ffserver.conf
Run Code Online (Sandbox Code Playgroud)

  • 不推荐使用`BindAddress` 选项。改用`HTTPBindAddress` (2认同)
  • 这是 7 年前的事了,我很惊讶这些仍然有效 (2认同)

opa*_*que 3

听起来好像不允许您连接,或者可能没有该服务。

你确定你有

  1. 启动了 ffserver 并且它在 8090 上?

  2. 你所设定的

     ACL allow 127.0.0.1
    
    Run Code Online (Sandbox Code Playgroud)

或者

     ACL allow localhost
Run Code Online (Sandbox Code Playgroud)

在你的ffserver配置文件中的子句中?