如何处理包到达的顺序、丢包和包到达延迟?(加分)

alled 2003-09-01 08:24:40
是不是DX编程的时候,只要把收到的包不断往播放FILTER的BUFFER里面写就行了,而不需要考虑顺序、丢包的问题?还是UDP/TCP保证了接受包的顺序性?或是解码器会处理这些问题?

另外一个问题,下面关于流媒体的过程,是否理解正确:
1 对于不同格式的流媒体,当客户端与流媒体Server建立连接之后,客户端(REALPLAYER或MEDIA PLAYER)根据.ram,.asx,.sdp之类的文件来选择解码器
2 接着,流媒体Server不断往建立的SOCKET写包(读取文件或是LIVE数据包)

我想自己写一个支持各种格式的流媒体服务器,而客户端采用MEDIA PLAYER就行了。
而如果要支持RTSP,MMS,是不是只要自己实现RTSP/MMS的协议就行了。

另外,想做的就是在MEDIA PLAYER或REALPLAYER上做一个插件,这个插件能从多个服务器中同时读数据,然后播放。并且尽量支持各种格式。这个该如何实现比较方便?
谁对这些想法有兴趣,大家讨论讨论。
...全文
112 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
vinci 2003-09-23
  • 打赏
  • 举报
回复
即使使用RTP链接库也需对所收到的RTP报文进行重排,并且自行处理帧重发;
服务器不应当仅仅将文件发送就可以了,需要处理索引信息,尤其对于MPEG4 AVI需要特殊处理;
客户端需要一个比较大的缓冲,2M以上,通过对缓冲区的检测控制发送码流,完全可以采用DirectMedia来处理常见类型,而RM或MOV需要作相应的解码或者自己作一个FILTER。
nicolas 2003-09-12
  • 打赏
  • 举报
回复
其实这样的问题最好自己编码解决,你可以在发包的头结构中加上自己的标识。
对于处理丢包问题也可以处理,你可以去检测。但处理得太精确会影响速度。在流媒体中,
其实丢一些包问题不算很大。你需要在速度、精确、连贯等几个因素之间进行权衡。
zero100 2003-09-05
  • 打赏
  • 举报
回复
努力吧,你所说的这些恐怕不是那么容易。
xldlj 2003-09-05
  • 打赏
  • 举报
回复
media player是不是支持rtsp协议,你还不知道呢,以前是不支持的,不知道现在的media player 9支不支持,所以并不是你自己写rtsp协议就可以了。你有些什么资料,我们可以一起讨论这个问题,qq:15280221, lj@cqu.edu.cn
hbffff 2003-09-03
  • 打赏
  • 举报
回复
有点意思,探讨中。
顺序、丢包的问题是网络的问题,但tcp也不能保证没有丢包,更别提udp。
与一般文件传输的顺序、丢包问题不同,流媒体有更苛刻的要求,延迟超时也算丢包。这不是解码器的能解决的。RTP/RTCP只是提供了可能的解决方案,如何解决,看具体的应用。
你要是有志与写一个streaming server,这就是你要解决的,看看apple的流服务器源码。
asx等文件是个索引文件,里面含有媒体连接地址,ram文件是real的音频文件(没记错的话),sdp的作用比较多,但比较接近asx吧。
不是根据这些文件来找解码器,而是找到媒体文件连接地址,与流服务器建立通信。然后
流媒体Server不断往建立的SOCKET写包,player接收播放。

==“我想自己写一个支持各种格式的流媒体服务器,而客户端采用MEDIA PLAYER就行了。
而如果要支持RTSP,MMS,是不是只要自己实现RTSP/MMS的协议就行了。”
very hard and unnecessary!支持各种格式的流媒体服务器主要工作是对各种媒体的
文件格式进行处理,首先你要精通各种文件格式。”而客户端采用MEDIA PLAYER就行了“
据我所知扩展MEDIA PLAYER支持其他格式并不是容易的事。“而如果要支持RTSP,MMS,是不是只要自己实现RTSP/MMS的协议就行了。”你可以看看apple的流服务器源码,如何实现RTSP,
not easy。
===“另外,想做的就是在MEDIA PLAYER或REALPLAYER上做一个插件,这个插件能从多个服务器中同时读数据,然后播放。并且尽量支持各种格式。”
从多个服务器中同时读数据???super hard!一个插件并且尽量支持各种格式??good idea,but still very hard!

2,543

社区成员

发帖
与我相关
我的任务
社区描述
专题开发/技术/项目 多媒体/流媒体开发
社区管理员
  • 多媒体/流媒体开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧