2

私は現在、TCP接続を介してコンピューターから別のコンピューターに2つのWebカメラストリームをストリーミングする必要があるプロジェクトで作業しています.1つは問題なくストリーミングできます:

使用して

ffserver.conf:

            HTTPPort 8090
            HTTPBindAddress 0.0.0.0
            MaxClients 40
            MaxBandwidth 30000

            CustomLog -
            NoDaemon

            <Stream status.html>
            Format status
            ACL allow localhost
            ACL allow 192.168.0.0 192.168.255.255
            </Stream>

           #feed for camera 1
           <Feed webcam1.ffm>
           File /tmp/webcam1.ffm
           FileMaxSize 100M
           </Feed>

           #feed for camera 2
           <Feed webcam2.ffm>
           File /tmp/webcam2.ffm
           FileMaxSize 100M
           </Feed>

          #stream for feed 1
          <Stream webcam1.mjpeg>
          Feed webcam1.ffm
          Format mjpeg
          VideoSize 1280x720
          VideoFrameRate 30
          Preroll 0
          NoAudio
          Strict -1
          </Stream>

          #stream for feed2
          <Stream webcam2.mjpeg>
          Feed webcam2.ffm
          Format mjpeg
          VideoSize 1280x720
          VideoFrameRate 30
          Preroll 0
          NoAudio
          Strict -1
          </Stream>

ffserver を実行するコマンド:

          ffserver /etc/ffserver.conf

ffserver にフィードするコマンド:

         ffmpeg -v 2 -r 20 -f video4linux2 -i /dev/video0 http://localhost:8090/webcam1.ffm

それは完璧に機能しますが、他のフィードを実行しようとすると:

         ffmpeg -v 2 -r 20 -f video4linux2 -i /dev/video1 http://localhost:8090/webcam2.ffm

2 番目のストリームだけが表示され、最初のストリームは機能しなくなりました。いくつかのアイデア?

4

1 に答える 1

3

複数の USB Web カメラを同時に使用すると、バスが飽和する場合があります。2番目のカメラを起動すると最初のカメラが切断されるため、これはあなたのケースのようです。

USB1.1が一般的だった頃から状況は好転。ローエンドのマザーボードでさえ、複数の USB2/3 コントローラを備えています。これらは完全に独立しており、複数のカメラを心配することなく実行できます。USB2 は、低解像度および低フレームレートで複数のカメラをサポートできます。 非圧縮画像を送信する高フレームレートの高解像度カメラは、依然としてバスを飽和させる可能性があります

ソース

可能な解決策:

  1. MJPEG 入力に切り替えます (低帯域幅の使用)

デバイスの機能を確認します。

ffmpeg -f v4l2 -list_formats all -i /dev/video0

MJPEG をサポートしている場合は、未加工のビデオの代わりに使用します。

ffplay -f v4l2 -input_format mjpeg -i /dev/video0 ...

  1. 2 台目のカメラに別の USB コントローラを使用する

マザーボードに複数のコントローラがない場合は、PCI USB カードを入手してください。

于 2015-04-30T20:11:52.137 に答える