社区
C语言
帖子详情
TCP和UDP视频传输的性能差异有多大?
yutianzuijin
博客专家认证
2011-10-18 10:43:14
最近看一个项目,里面的机制由于协议原因视频的传输采用了tcp,所以视频观看很卡。求教如果采用udp会有多大的提升?
...全文
1172
17
打赏
收藏
TCP和UDP视频传输的性能差异有多大?
最近看一个项目,里面的机制由于协议原因视频的传输采用了tcp,所以视频观看很卡。求教如果采用udp会有多大的提升?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
17 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
yutianzuijin
2011-10-18
打赏
举报
回复
[Quote=引用 12 楼 lida2003 的回复:]
mstsc 远程播放电影确实比较卡的。哪怕局域网,我加100M带宽局域网,用mstsc播放,卡的一塌糊涂。
[/Quote]那大哥有什么解决之道吗?
lida2003
2011-10-18
打赏
举报
回复
mstsc 远程播放电影确实比较卡的。哪怕局域网,我加100M带宽局域网,用mstsc播放,卡的一塌糊涂。
yutianzuijin
2011-10-18
打赏
举报
回复
[Quote=引用 9 楼 afer198215 的回复:]
rdesktop啊,基本可以肯定的告诉你,跟TCP无关,因为这个东西 我用过,我们项目里采用的是java版的rdesktop。
查查你们的播放器实现吧。
另外,RDP协议用UDP跟本实现不了。
[/Quote]我现在知道的rdesktop是传递远程桌面变化的部分,然后在本地进行回放,界面的绘制采用xwin,和播放器无关。如果远程桌面变化的部分小则没事,如果变化的大如视频播放则传递的量很大,效果也很差。但是整个rdesktop的底层通信却是基于tcp的,这点我非常确定。
qq120848369
2011-10-18
打赏
举报
回复
楼主下载一个UDT源码去了解一下,UDT做视频传输流弊死。
想喝咖啡的貓
2011-10-18
打赏
举报
回复
rdesktop啊,基本可以肯定的告诉你,跟TCP无关,因为这个东西 我用过,我们项目里采用的是java版的rdesktop。
查查你们的播放器实现吧。
另外,RDP协议用UDP跟本实现不了。
hulongchuan
2011-10-18
打赏
举报
回复
启动播放器卡,这可能和硬件的性能有关,我之前也遇到过类似的问题,鼠标键盘不卡,是因为这些简单的操作对硬件的性能要求不高。2楼分析的对,至于tcp和udp之间的性能到底有多大,那只有你试试才能知道!
luciferisnotsatan
2011-10-18
打赏
举报
回复
[Quote=引用 4 楼 bokutake 的回复:]
rdesktop应该不是传输像传输视频那样传输的,它使用的是差分压缩的方法,所以必须使用TCP来保证传输的有效性,否则差分压缩就不成立了。
真正实时视频基本上都是用UDP的,因为像MPEG分为I帧、B帧什么的,即使中间帧丢失,只要下一个关键帧来了,也可以重建,配合好的缓冲机制的话,比TCP要实用多了
[/Quote]
如果这样的话,用rdesktop不能丢帧,那就只能用TCP了。虽然你可以自己用udp做个检测机制,但速度估计也快不了多少。
yujie_v
2011-10-18
打赏
举报
回复
udp关键考虑实时性的。tcp丢包重传,这个是无法控制的。
yutianzuijin
2011-10-18
打赏
举报
回复
[Quote=引用 2 楼 luciferisnotsatan 的回复:]
udp本身没有安全保障,视频丢几帧问题不大。但你先确定是tcp数据传的慢导致的,而不是你网络本身就慢。
[/Quote]我获得的数据是一帧变化的tcp帧是15k,如果要流畅播放至少也要有每秒30帧吧,带宽达不到。但是换成udp就能达到吗,我不是很清楚.
辰岡墨竹
2011-10-18
打赏
举报
回复
rdesktop应该不是传输像传输视频那样传输的,它使用的是差分压缩的方法,所以必须使用TCP来保证传输的有效性,否则差分压缩就不成立了。
真正实时视频基本上都是用UDP的,因为像MPEG分为I帧、B帧什么的,即使中间帧丢失,只要下一个关键帧来了,也可以重建,配合好的缓冲机制的话,比TCP要实用多了
yutianzuijin
2011-10-18
打赏
举报
回复
[Quote=引用 1 楼 afer198215 的回复:]
你确定这和tcp有关?
[/Quote]现在正在研究一个rdp协议的源码rdesktop。这个协议是基于tcp实现的。如果我们只进行一些简单的鼠标键盘操作,协议工作的很好。但是如果我们启动一个播放器的话,则协议是按照tcp来传递变化的帧的,所以才导致视频播放很卡。现在想解决这个问题,但是不知道如何解决,也不知道tcp和udp之间的性能差异到底有多大。
luciferisnotsatan
2011-10-18
打赏
举报
回复
udp本身没有安全保障,视频丢几帧问题不大。但你先确定是tcp数据传的慢导致的,而不是你网络本身就慢。
想喝咖啡的貓
2011-10-18
打赏
举报
回复
你确定这和tcp有关?
pathuang68
2011-10-18
打赏
举报
回复
[Quote=引用 5 楼 yutianzuijin 的回复:]
引用 2 楼 luciferisnotsatan 的回复:
udp本身没有安全保障,视频丢几帧问题不大。但你先确定是tcp数据传的慢导致的,而不是你网络本身就慢。
我获得的数据是一帧变化的tcp帧是15k,如果要流畅播放至少也要有每秒30帧吧,带宽达不到。但是换成udp就能达到吗,我不是很清楚.
[/Quote]
1. 根本不需要秒30帧,一秒钟12帧就很流畅了
2. 传输前确认经过压缩了吗?
yutianzuijin
2011-10-18
打赏
举报
回复
[Quote=引用 15 楼 afer198215 的回复:]
RDP实际上只传输 改变的部分,除非你的整个画面全部改变,否则 根本不会有多大的图像。
我们存了近1小时的图片,不到300MB。
[/Quote]但现实情况是如果用户播放视频,则就会很卡,即使没有全屏播放。通过对接收的帧大小进行分析,发现在没有全屏的情况下播放视频一帧是15k,这证明传递的图像已经经过压缩了。但是图像的传递是基于rdp协议来的,但是rdp又是tcp上的一个应用,我个人感觉这是一个瓶颈。
想喝咖啡的貓
2011-10-18
打赏
举报
回复
RDP实际上只传输 改变的部分,除非你的整个画面全部改变,否则 根本不会有多大的图像。
我们存了近1小时的图片,不到300MB。
lida2003
2011-10-18
打赏
举报
回复
[Quote=引用 13 楼 yutianzuijin 的回复:]
引用 12 楼 lida2003 的回复:
mstsc 远程播放电影确实比较卡的。哪怕局域网,我加100M带宽局域网,用mstsc播放,卡的一塌糊涂。
那大哥有什么解决之道吗?
[/Quote]
我看过进程管理的网络带宽,确实占用率不高。
如果我们不考虑视频压缩算法。仅仅是像素raw data传递。
1024 * 768 * 24位真彩色 = 2.25MB
如果是每秒30帧 2.25 * 30 = 67.5MB/s = 540Mb/s
也就说如果我们是raw data 传输24位真彩色 1024*768分辨率以30帧每秒的速率播放需要带宽至少540Mb/s,如果加上协议开销,也就说100M网卡完全不能胜任。怎么说也得来个千兆网络,注意不是网口千兆就可以的。网络需要千兆的。
当然如果视频能压缩,可能会好一点,至于具体rdp是如何工作,大家可以分析一下,如果视频不压缩,大部分网络性能肯定跟不上的。
一定要压缩的。
TCP
与
UDP
:传输层协议的
差异
与选择
:
TCP
和
UDP
是传输层协议中的两种主要协议,它们在连接性、可靠性、效率、数据封装形式和数据安全性等方面存在显著
差异
。
TCP
提供可靠的数据传输和顺序控制,适用于需要可靠传输的场景,而
UDP
则以其简单性、高效性和灵活性在实时应用和快速传输场景中表现出色。了解和选择合适的协议对于构建高效、可靠的通信系统至关重要。
TCP
和
UDP
协议解析以及在视频监控领域的应用
TCP
(传输控制协议)和
UDP
(用户数据报协议)是两种重要的网络协议,分别属于OSI模型的传输层。
TCP
是面向连接的、可靠的协议,适用于需要确保数据完整性和顺序性的场景,如视频监控中的录像存储,但可能带来延迟。
UDP
则是无连接的协议,传输效率高、延迟低,适用于实时性要求高的视频监控应用,如直播和视频会议,但可靠性较低可能会丢包。在视频监控平台中,选择
TCP
还是
UDP
协议取决于对实时性和数据可靠性的权衡。实际应用中,平台可能根据具体监控需求和网络环境,在
TCP
和
UDP
协议之间灵活切换,以确保最佳监控效果。
TCP
与
UDP
的特性与区别(详细)
tcp
/
udp
超详细精讲,一文即可熟练掌握
tcp
/
udp
的重点和难点。
TCP
和
UDP
对比的优势和劣势
TCP
和
UDP
都是传输层协议。
TCP
最核心的是提供了可靠性,而
UDP
核心是灵活性高。HTTP1.0和2.0用的是
TCP
,到了HTTP3.0用的就是
UDP
了。
UDP
应用数据传输、网络控制、音视频、Web技术应用较多。
UDP
,目标是在传输层提供直接发送报文的能力,Datagram是数据传输的最小单位,
UDP
协议不会帮助拆分数据,它的目标只有一个,就是发送报文。
UDP
的报文格式,只有五个部分组成。 Source Port是源端口号,因为
UDP
协议的特性(不需要ACK),因此这个字段是可以省略的,但有时候对
【计算机网络】
TCP
和
UDP
的特点及区别
TCP
和
UDP
的特点及区别 一
TCP
和
UDP
的概念及特点 1.1 概述
TCP
和
UDP
都是传输层协议,他们都属于
TCP
/IP协议族。 1.2
UDP
①
UDP
概念
UDP
的全称是用户数据报协议,在网络中它与
TCP
协议一样用于处理数据包,是一种无连接的协议。在OSI模型中,在传输层,处于IP协议的上一层。
UDP
有不提供数据包分组、组装和不能对数据包进行排序的缺点,也就是说,当报文发送之后,是无法得知其是否安全完整到达的。 ②
UDP
特点
UDP
只在IP数据报之上增加了很少功能,即复用分用和差错检测
C语言
70,026
社区成员
243,262
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章