RTSP/RTP代理转发

Alf 2012-07-24 09:46:32
我从未涉及过流媒体协议编程,现在需要用Java实现一个RTSP/RTP代理服务器,现在只需要实现最基本的转发功能,不用缓存之类的。

大概看了下RFC,我现在的实现没有考虑RTCP协议。

对于RTSP协议,VLC连接代理,代理将RTSP消息中的有关URL的字段全部改成代理服务器的地址以及端口,由代理服务器发送到流媒体服务器(live555),流媒体服务器返回之后再逆向将有关URL的字段还原回来。

对于RTP协议,则直接由两个DatagramSocket转发,基本代码如下:


while (true) {
try {
// RTP
this.rtpLocalSocket.receive(rtpPacket);
rtpPacket.setAddress(this.clientIp);
rtpPacket.setPort(this.rtpClientPort);
this.rtpForwardSocket.send(rtpPacket);

} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}



现在的问题是VLC通过代理可以播放视频,但是视频都是破碎的,播放音频也是断断续续的。我不明白我的实现是不是有问题?请教有经验的前辈。
...全文
2354 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
Emma's dad 2015-04-15
  • 打赏
  • 举报
回复
引用 6 楼 wangbeiqing 的回复:
lz,这个项目怎么样了?我正在做这一块,转发的视频数据也是乱的
请问下,你的现象是不是丢包比较严重,而且存在乱序的现象?
wdely1 2015-03-17
  • 打赏
  • 举报
回复
同求这个问题后来是怎么解决的?
wangbeiqing 2013-12-31
  • 打赏
  • 举报
回复
lz,这个项目怎么样了?我正在做这一块,转发的视频数据也是乱的
wangbeiqing 2013-12-31
  • 打赏
  • 举报
回复
引用 2 楼 abcbc 的回复:
这个我已经实现了,如果有什么问题可以讨论。
abcbc怎么联系你?
renjunming 2013-11-13
  • 打赏
  • 举报
回复
该问题如何解决了呢?
yclfdn2012 2013-05-16
  • 打赏
  • 举报
回复
abcbc怎么联系你
Alf 2012-11-05
  • 打赏
  • 举报
回复
这个我已经实现了,如果有什么问题可以讨论。
zhaoleilei 2012-09-27
  • 打赏
  • 举报
回复
最近也在做这个,搭车同求
AOKU AMS流媒体直播服务系统是北京北极星通信息技术有限公司研发的一套基于IP网络的音视频应用平台,采用模块化,跨平台的架构设计,采用自主研发的高性能 流媒体服务引擎,支持多种主流流媒体协议(RTP、 RTMP等);支持直播、点播、录播等多种应用模式;支持PC机、手机、机顶盒等多种接入终端。方便用户建立多种应用模式。    AOKU AMS系统内置高性能流媒体服务器,Web服务器,可直接提供基于Web的Flash直播、点播应用。是可以迅速构建Flash平台的利器。   奥酷流媒体直播服务软件AMS系能特点: 1、支持TCP、UDP协议,支持单播、组播等多种应用模式,支持TS、RTMP、RTSP、HTTP、UDP等多种协议; 2、支持高清,标清直播,支持在线点播、视频直播、视频广播等业务,支持虚拟文件直播功能,可编排文件直播列表; 3、可通过任何IP网络提供流媒体业务,能够跨越代理服务器、防火墙; 4、能够对rtmp流进行二次转发,同时转发给多个rtmp流媒体服务器; 5、响应点播时间控制在100ms以内,支持暂停、拖动等特技操作,无需下载播放器直播延时可控制在1s左右; 6、AMS服务器支持部署到Windows、Linux、Unix等多种操作系统上,单台AMS最多支持多达500个单播用户的接入,并支持组播发布模式,可以使接收用户多达无限,通过AMS服务器的集群部署,也能够支持成千上万的单播用户接入; 7、支持H.264 MP3或者H.264 AAC直播,支持Windows,Android,IOS平台免下载插件观看; 8、支持flash、VLC、WMP、暴风影音等多种播放器接入,使得应用更加广泛; 9、除了正常接收奥酷的硬件编码器发布的直播流外,还能够接收来自FME上的直播流; 10、支持直播同时进行录像、可设置录像任务,可录制mp4或者FLV格式的文件,无需转码,可直接供客户端进行点播; 11、开放的系统架构,提供二次开发接口,可轻松的融入到用户已有的平台或网站平台中、或在此基础上进行二次开发等。

2,543

社区成员

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

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