私たちは、MJPEG形式のビデオをWebサーバーに出力するAxisブランドのカメラとメディアエンコーダー(1台のカメラ、1台のエンコーダー)を使用しています。次に、これらのストリームをWebサイトに表示する必要があります。クライアントはサーバーに接続できますが、回避できないネットワーク制限のため、カメラに直接アクセスすることはできません。
必要なのは、これらのMJPEGストリームを取得し、フラッシュプレーヤー(jwplayerやflowplayerなど)を使用してWebサイトでライブストリーミングできる形式で再ストリーミングするソフトウェアです。
WebcamXPと呼ばれる安価なソフトウェアで何かが機能していると思いました。それは私たちが望んでいたことを実行し、WebサイトのFlashオブジェクトを介して正常に表示されました。独自のファイアウォールがブロックするまで気づかなかったのは、Flashオブジェクトが単にJPEGを絶えずフェッチし、非常に多くのGETリクエストを送信していることでした。その後、プロバージョンは実際にはflv形式でストリーミングすることがわかりましたが、実際にはライブでストリーミングされていないようです。バッファリングしてからバッファを再生しますが、これは私たちには受け入れられません。
画像はライブである必要があります。 1〜2秒の遅延がある場合は、それに対処できますが、バッファリングを使用すると、遅延が数分に増加する可能性があり、それは完全に受け入れられません。
誰かがこの種の問題の経験がありますか? MJPEGビデオを再ストリーミングするには、どのようなソフトウェアを使用する必要がありますか?
ストリーミングしたくない人のために定期的にスナップショットを撮る独自のmjpegリストリーマーをphpで作成しました。また、JavaScriptの支援を受けて、偽のストリーミングにも使用できます... http ://taylorssurf.co.nz
これにより、カメラが処理できる数ではなく、サーバーが処理できる数のクライアントをホストできます。また、カメラからユーザーへの帯域幅を節約し、ビデオにオーバーレイを追加できるようにします。サーバーにffmpegがある場合の別のオプション-ffmpegはmjpeg入力を読み取り、リアルタイムで必要な形式で出力できます...トリックはそれを実行し続けることです-ただし、proc_openのようなものを使用する場合、またはpidを使用してプロセスはまだ実行中です。これを監視できます...
最後のオプションは、splitcamなどを使用してビデオをWindows(?)コンピューターで別のビデオ入力ストリームに変換し、フラッシュメディアライブエンコーダーなどを使用して、red5、wowza、またはフラッシュメディアサーバーを介してそのビデオストリームをブロードキャストすることです。あなたが必要とするどんなレートでも。これもそれほど遅れることはないはずです。少し手を加えれば、おそらくこれらのオプションを解決して元の問題を解決したと思いますが、他の人も興味があるかもしれません...
AxisカメラはRTSPストリームもサポートする必要があります。もしそうなら、Wowzaを使用できます。
このリンクを確認してください: Wowza --Re-Stream RTSP Camera