终极末影龙 2024-02-05 21:35 采纳率: 0%
浏览 3

ffserver如何让多个客户端同时拉流同一个资源

在Ubuntu中使用ffpmeg与ffserver,想推流摄像头画面到ffserver,然后被多个客户端同时拉流

当我使用两个客户端对同一个stream进行拉流时,只有一个客户端能够成功,另一个一直失败

后面我修改了ffserver.conf,将推流的feed用两个不同的stream连接,两个客户端分别拉流这两个stream,结果依然是只有一个能成功

请问ffserver是不是无法实现多个客户端同时拉流同一个资源呢,如果可以实现,请问我该怎么做呢

img

  • 写回答

3条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2024-02-05 21:37
    关注

    引自免费微信小程序:皆我百晓生

    在FFmpeg与ffserver的配合中,确实可以实现多个客户端同时拉流同一个资源。ffserver配置正确的情况下,应该能够支持多路并发访问同一stream。您的问题可能出在ffserver的配置或者客户端拉流的方式上。

    以下是一些检查和调整建议:

    1. 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应根据实际需求进行设置,确保它足够满足多个客户端同时拉流的要求。
    2. 客户端拉流方式

      • 在多个客户端上分别运行如下命令拉取同一个流:
        ffmpeg -i http://localhost:8080/test.mpg -c copy output1.mpg &
        ffmpeg -i http://localhost:8080/test.mpg -c copy output2.mpg &
        
    3. 服务器资源和网络限制

      • 检查服务器资源是否充足,包括CPU、内存和网络带宽等,以保证能处理多路并发请求。
      • 如果防火墙或网络设置有限制,请确保端口8080(或其他您使用的端口)允许来自多个客户端的连接。

    如果以上步骤都已检查无误,理论上应该能够实现多个客户端同时拉流同一资源。若问题依然存在,请进一步查看ffserver的日志输出,通常位于/var/log/ffserver.log(或者其他您指定的位置),这将有助于找到问题的具体原因。

    评论

报告相同问题?

问题事件

  • 创建了问题 2月5日

悬赏问题

  • ¥20 校园二手交易小程序搭建
  • ¥15 请问在ubuntu用conda创建环境报错怎么能解决
  • ¥15 STM32CubeMX/proteus按键控制指示灯颜色切换
  • ¥20 python,计算区位熵和扩张指数
  • ¥15 Python环境配置
  • ¥15 大四学生的困惑,有偿提问!
  • ¥15 解决页面无法编入索引:被“noindex”标签排除的问题?
  • ¥15 arduino测量电阻
  • ¥15 快手uid转快手号谁能解决 需要开发
  • ¥15 iis部署Django时css不生效,来个真人,ai不好使