2017-11-09 7 views
1

私はビデオストリーミングとハンドリングの初心者です。Basler camera grabbing loopからビデオストリームを生成する

Basler GiGEカメラからストリームを取得し、Webコンテナに表示する必要があります。

私はカメラにアクセスし、画像を一枚ずつをつかむためにBasler.Pylon C#のAPIを使用しています。返されるIGrabResultオブジェクトから、幅、高さ、ストライド、もちろんバイトバッファなどのさまざまなパラメータにアクセスできます。私のPC上で

、私は簡単に画像ウィンドウにそれを表示することができますが、私は、ASP.NET Webアプリケーションでそれを表示するために何をすべきかが必要ですか?

EDIT

誰かがビデオストリーミングは、一般的にはどのように動作するかを説明することができれば、私はあなたが少なくとも二つの選択肢がありすぎ

+1

https://developer.mozilla.org/en/US/Apps/Fundamentals/Audio_and_video_delivery/Live_streaming_web_audio_and_videoここでは、「ビデオストリーミング全体の作業」の概要がよくわかります。次に、RTSPまたはHLS C#例えば –

答えて

1

ビデオストリーミングは非常に特化され、あなたは専用のビデオストリーミングサーバを使用するのではなく1を自分で構築しようとするために、複数のエンドsuersにインターネット上でその最も簡単に高品質のビデオをストリーミングする場合、一般的に、私は言うでしょう。

専用のビデオストリーミングサーバは、ホスティングサービス(Vimeoなど)、提供する商用サーバ(Wowzaなど)、インストールして実行するフリーウェアのストリーミングサーバ(GStreamerなど)そこ。

A原則、ストリーミングサーバは、チャンクにあなたのビデオを破ると、あなたのビデオの複数のビットレートのコピーを作成します。これにより、クライアントはアダプティブビットレートストリーミング(ABR)を使用してビデオチャンクをチャンクでダウンロードし、現在のデバイスおよびネットワーク条件に応じて次のチャンクのビットレートバージョンを選択できます。 HLSとMPEG-DASHは、ABRストリーミングプロトコルの例です。ウェブページ

あなたは、このストリーミングプロトコルを理解することができHTNML5プレーヤーが必要です - 再び、このようなフリーウェアシャカやDash.jsプレーヤーなどの多くの例があります。これらをWebページに統合することは非常に簡単です。

これらはNetflixやYouTubeなどのサービスで使用されていますが、早いスタートを確実にするために低ビットレートで開始し、現在のネットワーク条件とデバイスに達する。 YouTubeのを見ているときに、たとえば、このグラフを見ることができる方法についていくつかの情報についてはこちらをご覧ください:

は、上記のすべての言って、それはあなたのケースがあるように思わ何も価値がありません静止画像のストリームを扱う。すべてのビデオは実際にはカバーの下にある静止画像のストリームですが、画像がまれにしか変わらない可能性があるため、上記のテクニックのいくつかは必要ありません。ビデオストリーミングの多くの技術は、大量のデータをサーバーからクライアントに毎秒30または60の高品質フレームをストリーミングします。

たとえば、画像のストリームが30秒ごとに1つだった場合、Nisus氏によれば、Webページに画像を表示し、ウェブページまたはアプリで毎回サーバーをポーリングする30秒(あなたのケースではASP.NET AJAXを使用して)新しい画像をダウンロードします。

0

をうまくいくよう、ガイドラインのためのコードが、より多くを捜しているわけではない - 最初のものを数秒ごとに一連のJPEG画像を生成し、タグとシンプルなJavaScriptコードを使用してクライアント上に1つずつ表示します。 2番目のオプションは、mp4ビデオを生成してストリームし、いくつかのCOM-windowsメディアプレーヤーまたはhtml5コントロールでクライアントに表示することです。

関連する問題