在Ubuntu中使用ffpmeg与ffserver,想推流摄像头画面到ffserver,然后被多个客户端同时拉流
当我使用两个客户端对同一个stream进行拉流时,只有一个客户端能够成功,另一个一直失败
后面我修改了ffserver.conf,将推流的feed用两个不同的stream连接,两个客户端分别拉流这两个stream,结果依然是只有一个能成功
请问ffserver是不是无法实现多个客户端同时拉流同一个资源呢,如果可以实现,请问我该怎么做呢
在Ubuntu中使用ffpmeg与ffserver,想推流摄像头画面到ffserver,然后被多个客户端同时拉流
当我使用两个客户端对同一个stream进行拉流时,只有一个客户端能够成功,另一个一直失败
后面我修改了ffserver.conf,将推流的feed用两个不同的stream连接,两个客户端分别拉流这两个stream,结果依然是只有一个能成功
请问ffserver是不是无法实现多个客户端同时拉流同一个资源呢,如果可以实现,请问我该怎么做呢
引自免费微信小程序:皆我百晓生
在FFmpeg与ffserver的配合中,确实可以实现多个客户端同时拉流同一个资源。ffserver配置正确的情况下,应该能够支持多路并发访问同一stream。您的问题可能出在ffserver的配置或者客户端拉流的方式上。
以下是一些检查和调整建议:
ffserver.conf配置
ffserver.conf
文件中对要共享的流设置了正确的参数。例如:
Feed feed1.ffm
file /tmp/feed1.ffm
# 允许更多的连接数,确保大于可能的同时拉流客户端数量
max_connections 100
# 设置带宽以适应多个客户端的需求
bandwidth 1000k
<Stream test.mpg>
Feed feed1.ffm
Format mpeg
# 允许多个并行连接
NoAudio
NoVideo
ACL allow localhost
ACL allow 192.168.0.0/16
# 确保带宽足够大,以便多个客户端共享
Bandwidth 500k
VideoSize 640x480
</Stream>
需要注意的是,这里的bandwidth
应根据实际需求进行设置,确保它足够满足多个客户端同时拉流的要求。客户端拉流方式
ffmpeg -i http://localhost:8080/test.mpg -c copy output1.mpg &
ffmpeg -i http://localhost:8080/test.mpg -c copy output2.mpg &
服务器资源和网络限制
如果以上步骤都已检查无误,理论上应该能够实现多个客户端同时拉流同一资源。若问题依然存在,请进一步查看ffserver的日志输出,通常位于/var/log/ffserver.log(或者其他您指定的位置),这将有助于找到问题的具体原因。