2017-02-26 14 views
0

私は、rtp://ipadd:portまたはudp://@:portのいずれかでアクセス可能なUDPプロトコルを使用してビデオストリームを持っています。私はサーバーを完全に制御することはできないので、WebSocketを介してストリームを提供したり、オンザフライで互換性のあるフォーマットにトランスコードすることはできません。ElectronにRTSPストリームを表示する方法は?

私はストリームをElectronアプリに表示したいと思いますが、私がGoogle検索で見つけたソースはすべて、私が達成したいことは、webchimera.jsのようなものを使って望ましくないハックな解決策。

私はthis answer,あたりとして<video>タグにURLをドロップしようとしているが、電子はudprtp URLスキームが認識されていないことを言います。私はまた、ffplayの静的なビルドでrequire('child_process').execを試しましたが、それは動作しますが、私が望んでいない別のウィンドウ全体にストリームを表示します。 Electron、それらをサポートしていないため、ActiveX、NPAPI、その他のプラグインソリューションはオプションではありません。

私は運が悪いのですか、それとも私がまだ来ていない解決策がありますか?

答えて

2

他の人のコードのページやページを見て調べます。

明らかに私のWebSocketsの最初の理解は間違っていました - 自分の状況でWebSocketを使用するためにサーバー側の変更は必要ありません。

ffmpeg Node.jsラッパーを使用してストリームをMPEG2にトランスコードする必要がありました。このラッパーは、Expressサーバーインスタンスにビデオを送信し、jsmpegでレンダリングされた静的Webページ内のビデオを配信します。静的なWebページは、メインのElectronアプリページ内のIFrameとして表示されます。

結果のストリームはffplayと生のUDPストリームを再生するときに1が表示されるものよりもかなり多くの視覚的アーティファクトを持っており、このアプローチは、おそらく、待ち時間の多くを紹介するが、それは私のニーズに十分に機能します。

関連する問題