c#实现p2p的流媒体视频系统,求方法(用tcp)或者源码

lorsen 2009-04-04 01:09:54
因为要做一个东西,需要这方面的东西
现在的初步设计是用tcp或者udp协议来传输,可是看书上大部分都是说得普通的文本传输
1.首先流媒体的传输需要把一个把媒体文件变成二进制的过程,然后传到接受端要变回媒体文件,这如何实现?
2.传输的媒体文件是分成固定大小的包的,而且要能对包进行定位,比如一个接收端需要哪个时间的文件,就请求。我的问题是怎么进行这种包的控制,如何进行打包。

我的方案可能有不成熟的地方希望大家能提出来,或者有什么更佳的实现方法更好,能提供源码就更好了。100分是下限,只要大家能给我有益的东西就会给分,给完为止,希望不要复制粘贴那样回答
...全文
830 43 打赏 收藏 转发到动态 举报
写回复
用AI写文章
43 条回复
切换为时间正序
请发表友善的回复…
发表回复
tilon415395 2012-05-05
  • 打赏
  • 举报
回复
hen hao
xianmao8 2011-10-26
  • 打赏
  • 举报
回复
我也要想了解~
wangren02 2009-08-07
  • 打赏
  • 举报
回复
http://hi.baidu.com/denglinglong/blog/item/49cb401e0233edf01bd57653.html
zhangjikun123 2009-07-29
  • 打赏
  • 举报
回复
刚接触这方面,学习了。
jmnmu 2009-06-12
  • 打赏
  • 举报
回复
关注下,最近也学习这方面的知识
xufzu123 2009-04-07
  • 打赏
  • 举报
回复
学习了~~
lorsen 2009-04-07
  • 打赏
  • 举报
回复
那我可不可以这样实现,有一个mms流,然后我catch它的数据,储存在硬盘里,然后播放,同时也可以转发,我觉得这也可以实现p2p的功能
chuxue1342 2009-04-07
  • 打赏
  • 举报
回复
Mark!
子夜1978 2009-04-07
  • 打赏
  • 举报
回复
我也想学习!关注!
lorsen 2009-04-07
  • 打赏
  • 举报
回复
自己顶
l_9style 2009-04-07
  • 打赏
  • 举报
回复
mark
满衣兄 2009-04-06
  • 打赏
  • 举报
回复
对于第2个问题补充一下.你这个是要进行控制的,一般不直接对数据包操作,而是使用其它控制类的协议控制的.也就是说,控制和音频视频的数据传输其实是分开的.
满衣兄 2009-04-06
  • 打赏
  • 举报
回复
首先,我不太清楚你要实现的是个什么东东,但是无非就是视频与音频数据的传输.现在假使有终端A和B.

1.首先流媒体的传输需要把一个把媒体文件变成二进制的过程,然后传到接受端要变回媒体文件,这如何实现?

答:编码与解码.A和B之间建立连接之后,通常是在二者之间开一条RTP通道,数据是通过这个RTP通道实现P2P方式传递的.
以音频传递为例,视频同理.A端捕获到数据之后进行编码,例如对音频可以使用G711编码方式编码.编码之后通过RTP通道传递数据到B端指定的端口,B端有个监听的机制,用来监听这个端口,当收到数据之后进行解码,解码之后播放.

2.传输的媒体文件是分成固定大小的包的,而且要能对包进行定位,比如一个接收端需要哪个时间的文件,就请求。我的问题是怎么进行这种包的控制,如何进行打包。

答:包的大小是根据你选择的编码方式来决定的,不同的编码方式应该选择不同的包大小.对数据包的控制通常使用协议栈控制,其实就是RTP协议,可以使用开源的协议栈:ortp或jrtp.时间的控制是通过时间戳控制的.最好熟悉一下RTP/RTCP协议.

另外,如果你的软件不大,要求不高,可以自己定义协议,数据的封包也可以自己定义,包括包头和数据部分,具体根据实际情况.
如果你的软件对控制要求比较高,这个时候就要考虑自己写一个协议栈或者使用开源的协议栈了,例如可以使用sip协议信令进行控制. SDP协议描述媒体以及协商媒体.
lorsen 2009-04-06
  • 打赏
  • 举报
回复
我顶
lorsen 2009-04-06
  • 打赏
  • 举报
回复
非常感谢,你的回答很关键!
lorsen 2009-04-05
  • 打赏
  • 举报
回复
呵呵,还是谢了
lorsen 2009-04-05
  • 打赏
  • 举报
回复
自己顶
liajun1221 2009-04-05
  • 打赏
  • 举报
回复
UP一下,关注
lorsen 2009-04-05
  • 打赏
  • 举报
回复
搜了,搜到这篇帖子了......
yagebu1983 2009-04-05
  • 打赏
  • 举报
回复
没搞过。。。
你可以搜搜。。。
去cnlogs.com
加载更多回复(23)

111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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