TCP/Live-Streaming/Synchronization (プログラミング言語: Java) について質問があります。
カメラからオーディオとビデオをキャプチャしているクライアントがあるとしましょう。2 つの異なるスレッドでオーディオとビデオのストリームを同時に受信しているサーバーに、TCP ソケットを介して (スレッド経由で) オーディオとビデオのデータを同時に送信します。
[UDP は通常、ライブ ストリーミング アプリケーションに使用されますが、TCP を使用する理由があります..]
問題は、TCP 経由で同期が失われる可能性があるかどうかです。異なるソケットに 2 つのストリーム (1 つはオーディオ用、もう 1 つはビデオ用) があり、パケットを再送信する必要があるという問題がある可能性がありますが、失われたパケットの再送信は問題になります (つまり、 TCP 経由でパケットを再送信すると、これにより永続的な遅延が発生しますか、それともクライアントは失われたパケットを送信し、次のパケットを数ミリ秒速く送信しますか?
オーディオ信号とビデオ信号を同時にサーバーに送信しています。それらは常にサーバーに同時に到着しますか? そうでない場合、問題を生成/シミュレートする方法はありますか?
いくつかのテストを行ったところ、オーディオとビデオは常に同期していました。しかし、それが常にそのようになるかどうかはわかりません(5時間以上のストリーミングの後でも)。
ありがとうございました。