【发布时间】:2012-07-11 14:25:11
【问题描述】:
我有一个关于 TCP/Live-Streaming/Synchronization 的问题(编程语言:Java):
假设我有一个客户端,它正在从摄像头捕获音频和视频。它通过 TCP 套接字同时(通过线程)将音频和视频数据发送到服务器,即在两个不同的线程上同时接收音频和视频流。
[我知道,UDP 通常用于直播应用程序,但我使用 TCP 是有原因的..]
所以,问题是:是否有机会通过 TCP 失去同步?不同的套接字上有两个流(一个用于音频,一个用于视频),可能存在一个问题,即必须重新发送一个数据包,但是重新发送丢失的数据包是否会成为问题(我的意思是,当通过 TCP 重新发送一个数据包,这会导致永久延迟还是客户端只是发送丢失的数据包和下一个数据包更快几毫秒)?
我正在同时向服务器发送音频和视频信号。他们会总是同时到达服务器吗?如果没有,有没有办法产生/模拟问题?
我做了一些测试,音频和视频总是同步的。但我不确定是否会一直这样(即使在流式传输超过 5 小时后)。
谢谢。
【问题讨论】:
标签: java tcp network-programming synchronization streaming