webcam経由で2人のクライアントが話すことができるjavaでアプリを書いてみたいと思います。それが動作する方法は、両方のクライアントが指定されたフレームレート(1秒あたり20秒)で写真を撮った後、サイズと解像度を減らした後、UDPパケットを介して他のクライアントに送信するWebカメラに接続することです。私の質問は - 私はそれ自身のデータグラムパケットですべての画像を送信する必要がありますか?私は彼らが最大で0.5キロバイトしか保持できないことを読んだので、すべての写真はそんなに削減されるべきですか?それとも、私はそれをいくつかのパケットに分割する必要がありますか?UDP経由で画像を送信する
答えて
更新する必要があるものだけを転送するアルゴリズム/コーデックを使用する代わりに、画像全体を送信してもよろしいですか?
2番目のオプションを選択した場合は、this previous questionのアイデアを参考にして、既に使用済みのテスト済みのライブラリを使用してください。もし私がそれをしなければならなかったら私はVLC java bindingsと一緒に行くと思います。特定の目的(ビットレート、品質など)に最適なコーデックを評価する必要があります。
画像を送信したいのであれば、udpデータグラムに分割することをお勧めします。パケットが来たときにクライアントがイメージを再構築できるように、何らかの方法で番号付け/タグ付けする必要がありますあなたがそれらを送信するのと同じ順序で)、また、あなたは、パケットのいくつかが到着しなかったとき(クライアントは画像を破棄し、前のパケットを要求するなど)、クライアントが何をする必要があるか考える必要があります。
udpデータグラムの最大サイズも最適なオプションではないかもしれませんが、サーバークライアントはアルゴリズムの実装を行い、伝送の速度に応じてUDPフレームサイズをネゴシエートする必要があります。
あなたがしなければならないことは、ビデオストリームのエンコードです。ネットワーク層はそのままにして、断片化させてください。
また、UDP経由でビデオを送信している場合は、2秒程度ごとにキーフレームを送信することをお勧めします。
各フレームを独自の画像として送信しないでください。ビデオコンプレッサーを使用してください。
私はどこから始めるべきですか?私は正しい方向に向かって指摘する必要があります。 –
- 1. cソケット経由で画像を送信
- 2. androidからXML経由で画像を送信する
- 3. ブルートゥースアンドロイド経由でテキストと画像を送受信する方法
- 4. Actionscript 3:ソケット経由で画像を送信する
- 5. ブルートゥース経由で画像を送受信するiOS
- 6. Wit.ai - Facebookメッセンジャー経由で画像を送信する
- 7. Skype Web SDK IM経由で画像を送信する
- 8. ChromeのXHR経由で画像ファイルを送信する
- 9. ImageField DjangoからPILへHttpResponse経由で送信する画像
- 10. Express経由で画像リンクを送信し、EJSで表示
- 11. スウィフトプレイグラウンドでPOST経由で画像を送信
- 12. 画像をPythonからC++にBoost経由で送信
- 13. ExtJS UDP経由でサーバにデータを送信
- 14. Jetson TX1のUDP/TCP経由のGstreamer送信者と受信者
- 15. websocket経由で画像を受信
- 16. WhatsApp経由で特定の受信者に画像を送信する(Android)
- 17. 画像プレビューajax経由でphpファイルに送信
- 18. 画像がTCP経由で完全に送信されない
- 19. UDP経由でRTP経由でRAWデータを送信するにはどうすればよいですか?
- 20. FCM経由で画像を送信することはできますか?
- 21. JavaでUDPを使用してネットワーク経由でオブジェクトを送信する
- 22. Facebookのメッセンジャーでibm watson経由で画像やボタンを送信する
- 23. C#ポートフォワーディングなしでUDP経由で文字列を送信するには?
- 24. ImageIOを使用してネットワーク経由で画像を送信するJava
- 25. ASIHTTPRequest経由でWebブラウザに送信された画像を表示する
- 26. POST経由の画像返信
- 27. udpで大きな画像ファイルを送信できません
- 28. HTTPS経由でHTTP経由でクッキーを送信する
- 29. プログラムでBluetooth経由で画像を転送する
- 30. iphoneからBluetooth経由で画像ファイルを送信していますか?
UDPデータグラムは64Kまで送信できます。しかし、下位レイヤ2(イーサネット)によっては、このデータグラムは多くのIPフラグメントに分割されます。フラグメント化されたパケットは受信ホストで組み立て直されますが、フラグメントの1つが失われた場合、すべてのUDPパケットは失われます。 – jfg956