Dockerコンテナ内のバーチャルカメラ

私は、QVR Surveillanceが直接画像を取得できないDVR-IPカメラを持っています。

Container Stationでgo2rtcを起動し、DVR-IPからストリームを取得してRTSPとして配信しています。その結果、Windows 11のPCでVLCを使い、rtsp://192.168.0.58:8554/cameraというリンク(192.168.0.58はgo2rtc Dockerコンテナの仮想IPアドレス)からカメラ映像を視聴できます。

次に、QVR Surveillanceの設定で新しいカメラを「General RTSP」として追加し、IPアドレスに192.168.0.58、ポートに8554、RTSP URLに/cameraを指定しました。「テスト」をクリックすると「成功」と表示されますが、カメラ設定のステータスは「接続エラー」のままです。

おそらく問題は、「カメラ」が物理的なイーサネットアダプターの背後ではなく、システム内部(内部ネットワーク)に存在していることだと思います。Dockerコンテナ内でホストされている「カメラ」をQVR Surveillanceで正しく利用するには、どのように設定すればよいでしょうか?

DockerコンテナをデフォルトのNAT機能ではなく、LAN上に配置したい場合があります。コンテナを編集してください。ネットワークに移動します。現在のネットワークアダプタを削除します。新しいアダプタを作成できるようになります。「ブリッジ(Bridge)」を選択し、DHCPアドレスプール外の固定IPアドレスを割り当ててください。

これで正常に動作するはずです。

NA9Dさん、ご回答ありがとうございます!

はい、私のコンテナのネットワーク構成はまさにその通りで、bridgeです。
Virual Switch(バーチャルスイッチ)の設定は以下の通りです:

NASのIPアドレスは192.168.0.15です。
IPカメラは192.168.0.57、
go2rtsを使用したdockerは192.168.0.58です。

192.168.0.58のアドレスでポートスキャンを行い、ポート8554が開いていることを確認できますか?

「テスト」が動作するがカメラ設定で接続エラーが出る場合、スクリーンショットを見せていただけますか?

NASからポートスキャン?―やり方がわかりません。でも前にも言った通り、Win11-PCからURL rtsp://192.168.0.58:8554/camera でRTSPストリームを見ることはできます。

テストはOKです

しかし接続に失敗します

ストリームを視聴できるのであれば、素晴らしいです。

QVR Pro Clientアプリでカメラを表示しようとするとどうなりますか?RTSP接続はQVRの新しい機能なので、接続エラーと表示されても問題ないのか気になっています。もしかすると、カメラのポート80に接続しようとしていて、ポート80に何もなければエラーと認識されるかもしれません。ポート欄から80を削除してみてください。

こんにちは @magmike

私たちは開発環境でDahua(ダーファ)カメラを使用し、Docker go2rtc仮想カメラのセットアップをシミュレーションして再現を試みましたが、こちらでは接続と録画は正常に動作しました。

分析のためにQVR Surveillance(QVRサーベイランス)のデバッグログをご共有いただけますか?

または、QNAPカスタマーサービスのウェブサイトでサポートチケットを開き、サポートチームがリモートセッションを手配して直接環境を確認し、より効率的に問題解決を支援することも可能です。

QVRではhttpポートを空欄にすることができません。

一方でgo2rtcにはポート8984の独自APIインターフェースがあります。そこで「Port」として設定しましたが、残念ながらうまくいきませんでした。
QVRログには「Received Camera 2 error frame.」というエラーが表示されます。

デバッグログを添付すると、誰でも閲覧できる状態になります。おそらく機密情報が含まれていると思います。@haru0 さん、あなたにだけ共有する方法はありますか?

もうプライベートメッセージを送れるようになりましたか?もしできない場合は、@dolbyman にレベルを上げてもらえるかもしれません。

または、サポートチケットを開いて、そのチケット番号を @haru0 に知らせることもできます。

ユーザーレベルを「メンバー」に引き上げたので、プライベートメッセージが利用可能になったはずです。

@dolbyman、ありがとうございます!

@haru0 にデバッグログを送信しました。

こんにちは @magmike、デバッグログを取得し、チームに転送します。
何か更新があればお知らせします。ありがとうございます。