http://bbs.csdn.net/topics/370233508
刚刚接触视频流不久,现在需要将编码后的视频流(H264编码)发送到局域网接收端并显示出来,发送端我使用了Jrtplib库,进行发送,接收端通过VLC接收并播放,功能都已经完全实现,但现在有一个问题,我的视频流是实时的,但是VLC接收并播放时,总是出现停顿几秒钟的现象,停顿后就继续播,而且与实际图像有延时,大概两三秒的样子,找不出来到底是什么问题,希望有过类似经验的兄弟姐妹们帮忙看看,万分感激。。。
更多0
分享到:
|
|
#1 得分:0
回复于: 2011-10-08 14:26:51
是不是我描述的很混乱啊。。
|
|
#2 得分:0
回复于: 2011-10-08 14:56:09
接收端用VLC播放时,视频不流畅,总是中断,跳帧。。这是怎么回事啊,整体还有延时。。
|
|
#3 得分:0
回复于: 2011-10-09 13:47:54
帖子沉了。。。恳求各位帮忙解答。。。
|
#4 得分:0
回复于: 2011-10-09 18:17:27
丢包,解码失败的原因。
| |
#5 得分:0
回复于: 2011-10-10 10:51:36
你做得出这样的程序,应该知道调试方法把,先测试出问题发生的模块位置,一点一滴的找到出错的地方就可以。
编码,打包传输,网络接收,解码 就四个模块,先自己用UDP,别用Jrtplib,测试(说句心里话,Jrtplib我用过,真不知道哪点比UDP强,局域网看不出效果,internet卡的要死,还不如UDP丢几个包,虽然有点花屏但很流畅),当然UDP要有点控制,至少包的顺序要调整。 你提的问题,别人不可能很正确的回答你,因为哪个模块都有可能发生这种问题,关键靠自己去发现。 | |
|
#6 得分:0
回复于: 2011-10-10 12:58:43
先抓包看看数据包是不是一下子就到了客户端,排查一下在哪边卡住了。
|
|
#7 得分:0
回复于: 2011-10-10 14:12:12
谢谢楼上几位的回答,可能我问的不够具体
编码和发送,都是保证每秒钟25帧处理的,但是用JRTPLIB发送后,用VCL播放,就出现丢帧和延时了,大概2、3秒吧 我编码和发送即使需要时间处理,但也不可能延时2、3秒 我之前自己手动封装RTP包然后发送,就不会出现这么大延时,但是视频往往在播放时会中断,中断后就不能继续播放了,所以才想到加上RTCP协议,就用了JRTPLIB库了。 稍后我会把代码发上来,大家帮忙看一下。。 |
|
#8 得分:0
回复于: 2011-10-10 14:16:13
| ||
|
#9 得分:0
回复于: 2011-10-10 14:17:22
调用FFMEPG编码函数后就调用这个类的SendRTPH264函数,将编码后的缓冲区和长度传入该函数
|