1-哪个更适合用于流媒体视频?TCP或UDP套接字为什么?
2-虽然实时流式传输,音频和视频分别来自服务器,但是如何确保我显示的视频和我在设备上播放的音频同步?
我不久前写了一个语音聊天应用程序而TCP是不可能的,如果你正在寻找近乎实时的数据流,UDP多播真的是唯一的方法.通过UDP传输内容有两个主要问题:
丢弃的数据包.对于音频,这是一个非常简单的修复.通常,丢弃的数据包不会产生可听见的差异(数据包会单独解压缩).但是,在处理视频时,特别是如果视频是压缩的(通常是这样),找出一个确保网络健壮性的正确传输协议至少可以说是一项艰巨的任务,特别是如果你从头开始这样做的话.视频帧分为各种数据包.弄清楚当丢失这些数据包时该怎么做是很困难的.
音频和视频之间的同步.这是一个非常棘手的问题,我建议阅读RTSP(实时流协议)等协议.这不是一件容易的事,但这里有一些介绍性信息:http://www.cs.columbia.edu/~hgs/rtsp/ - 有时通过发送单独的同步数据包(某些协议通过TCP发送这些数据包)来完成播放器声音应如何与视频匹配.