一个视频一个音频 同时用2个Jrtplib会话传输,视频传输好像比音频快,怎么同步?

majia_218 2012-07-01 12:23:44
问题是这样的 ,局域网测试的,客户段采集到的视频,发送到服务器,服务器转发给每个登录的客户端,其实就是多对多的概念,每个客户端都能收到服务器转发的其他客户端的视频和音频进行显示和播放,视频显示的话没有问题,音频就出现延迟,和视频不同步,一个客户端说话,其他客户端都可以收到视频,包括视频的动作也不延迟,但是音频就出现其他客户端延迟等一会儿才能听见声音,
具体客户端和服务端设置参数如下
客户端发送视频会话参数:
发送:
RTPSessionParams sessparams;
sessparams.SetOwnTimestampUnit(1.0/90000.0);//时间戳单位
m_client_send_Video.SetDefaultMark( false );
m_client_send_Video.SetDefaultPayloadType(96);
m_client_send_Video.SetDefaultTimestampIncrement(3600); //视频
接收:
RTPSessionParams sessparams;
sessparams.SetOwnTimestampUnit(1.0/90000.0);//时间戳单位
m_client_recv_Video //没有设置会话参数
服务器端接收视频会话参数
接收:
RTPSessionParams sessparams;
sessparams.SetOwnTimestampUnit(1.0/90000.0); //时间戳单位
m_Server_Recv_Video.SetDefaultPayloadType( 96 );
m_Server_Recv_Video.SetDefaultMark( false );
m_Server_Recv_Video.SetDefaultTimestampIncrement( 3600);
发送:
RTPSessionParams sessparams;
sessparams.SetOwnTimestampUnit(1.0/90000.0); //时间戳单位
m_Server_Send_Video->SendPacket((void *)dataBuffer,dataLength,0,false,100);//服务器转发视频
客户端发送音频会话参数:
发送:
RTPSessionParams sessparams;
sessparams.SetOwnTimestampUnit(1.0/8000); //时间戳单位

m_client_send_Audio.SetDefaultMark( false );
m_client_send_Audio.SetDefaultPayloadType(0);
m_client_send_Audio.SetDefaultTimestampIncrement(400); //音频
接收:
RTPSessionParams sessparams;
sessparams.SetOwnTimestampUnit(1.0/8000); //时间戳单位
m_client_Recv_Audio//没有设置参数
服务器端接收音频会话参数
接收:
RTPSessionParams sessparams;
sessparams.SetOwnTimestampUnit(1.0/8000); //时间戳单位
m_Server_Recv_Audio.SetDefaultMark( false );
m_Server_Recv_Audio.SetDefaultPayloadType(0);
m_Server_Recv_Audio.SetDefaultTimestampIncrement(400); //音频
发送:
RTPSessionParams sessparams;
sessparams.SetOwnTimestampUnit(1.0/8000); //时间戳单位
m_Server_Send_Audio.SetDefaultTimestampIncrement(400); //服务器转发音频
...全文
580 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
琅琊榜 2013-07-25
  • 打赏
  • 举报
回复
视频传输怎么做的呀?
chenxiaosong0810 2012-12-26
  • 打赏
  • 举报
回复
最近也在搞这个,你是如何做到多对一的,视频音频数据在不同会话中传给同一个目标的?
zoulie 2012-07-13
  • 打赏
  • 举报
回复
发送的时候根据时间戳来发送,到时间了就发送,否则等待
wangrui_123168 2012-07-05
  • 打赏
  • 举报
回复
需要做缓冲区的,将接收到的数据先缓存起来,然后利用时间戳同步的。

1,649

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 非技术类
社区管理员
  • 非技术类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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