私はhtmlをレンダリングし、jpegをモバイルクライアントに送るサーバー側のhtmlレンダリングブラウザを構築しています。私はjpegをつかむサーバーを構築し、それをj2meで書く予定のクライアントにセッションでストリームする方法を見つけ出す必要がありますC++またはC#またはjavaでjpeg(ライブ)のストリームを作成する方法は? RTSP?
答えて
「ライブ」とは何かを意味するものではありませんが、あなたがURLを渡してイメージを返すようなサーバー側プロセスへのリクエストを行うことについて話していると推測しています。私がこれを行うことを知っている最も簡単な方法の1つは、JavaとSWTです。 SWT browser widgetを使用してキャンバスをキャプチャし、必要な画像タイプに変換することができます。ブラウザウィジェットは、ページをレンダリングするためにfirefoxを使用します。
私は一度に1つのjpegを提供するサーブレットと、次のjpegを頻繁に要求するミッドレットを作成します。
まあ、プレーンなJPEGより優れた解決策があります。私はこのようなシステムを実装しています.JPEGよりMPEG-2、MPEG-4 ASP、H.264などのビデオコーデックを使用し、pフレームとして更新を送信する方が良いでしょう(前の画像が欠落している場合)、変更が大きすぎる場合(または欠落した更新、または新しいクライアントが既存のストリームに追加された場合)はiフレームを送信します。
ビデオコーデックを使用しなくても、差異を送信する方が望ましい場合がよくあります。 diffをエンコードするために、他のメカニズムを使用してください。
バッファを送信する方法に関して、レンダリングするフレームバッファをいくつか使用し、変更が行われたときにタイマを開始するようにフレームバッファコードを設定し、変更が発生している間に定期的な変更を送信できます最後の変更(まだ送信されていない)から十分な時間が経過したとき(おそらく最初の値よりも短い時間)更新を送信し、ある種のストローブが含まれている可能性があります。たとえば、ブラウザからページロード完了の指示を得ることができます。これは、Firefoxでクロムを変更するなどして少し作業が可能です)。
は、他のソリューションの例については
を[追加]、などのVNC、RDP(Windowsのリモートデスクトップ)、などのリモート・デスクトップ・プロトコルやプログラムを見て - それは、愛好家の圧縮で再び、彼らがやっていることを効果的だと損傷領域トラッキング
フレームバッファの場合、標準のlinux/etcフレームバッファコード(おそらく最もシンプルなもの)、あるいはXVFBのようなものを使用することができます。
- 1. JNI - C++またはCからJavaにコールバックする方法
- 2. C#.NETはJPEG画像からWMVファイルを作成します
- 3. RTSPストリームをflv/swfストリーム(wffmpeg)に変換する方法は?
- 4. JavaまたはC#で高速MD5アルゴリズムを作成するには
- 5. WPF(またはWinForms)でrtspストリームを再生
- 6. JavaまたはC#のブラウザコンポーネント
- 7. Cカーネルをロードするためのブートローダーの作成方法は?
- 8. MQTT JavaまたはC#サーバー
- 9. C++で削除不能なレジストリキー(またはファイル)を作成する方法
- 10. JavaからC++またはC#
- 11. cまたはC++でFORTRANバイナリファイルを読む方法は?
- 12. C#のメモリ内のJPEGまたはPNGで画像を圧縮する方法は?
- 13. Windowsリモートデスクトップを制御するC#またはJavaまたはPythonまたはC++の例を探す
- 14. .mと.hのように、C++または.mm(objective-C++)ファイルのブリッジヘッダーファイルを作成する方法は?
- 15. Javaでjpegイメージのppiまたはdpiを増やすには?
- 16. Jazz RTC - 多数のストリームのスナップショットまたはベースラインを作成する方法
- 17. c# - httpまたはhttpsなしでHttpWebRequestを作成します。
- 18. CまたはC++を使用してAPKを作成できますか?
- 19. C#またはC++でウィンドウのShowStateを取得する方法は?
- 20. デザインパターン:Javaのシングルトンパターンで同期メソッドまたはブロックを作成する方法は?
- 21. HBITMAPからC++のJpegまたはPngへの変換
- 22. 蒸気を判断する方法はjpegストリームですか?
- 23. RTSPストリーミングサーバの作成方法
- 24. C#ストリームをDirectory.EnumerateまたはXElement.Loadで閉じる
- 25. ハイパーリンクまたはjavaサーブレットでのURLの作成方法
- 26. C#またはJavaでリファクタリングする最も簡単な方法は?
- 27. C++で他のwhileループで作成されたベクターを参照または呼び出す方法は?
- 28. ファイルを作成するためのC++(ファイルとストリーム)プログラムのエラー
- 29. ElectronにRTSPストリームを表示する方法は?
- 30. VS 2015でC++ ConsoleApplicationまたはC++ EmptyProjectを作成できません
あまりにも効率が悪いですか?だから私はRTSPといくつかのjpeg圧縮を行っていたのでしょう – uclajatt
RTSPはサーバの負荷を軽減しますが、httpはすべてのJ2ME携帯電話でサポートされている唯一のプロトコルです。 –