问题:
最近在开发一个项目,该项目需要在主被叫视频通话过程中对主叫播放视频彩铃,当视频彩铃播放完成后,再切回到主被叫视频通话。
开发完成后,进行测试中发现存在一个问题。视频彩铃切换到视频通话后,存在画面切换时延长的问题。
分析:
我想到切换视频最快的方法是刷新I帧,如果能让主被叫传送I帧,应该能解决这个问题。
指挥传递RTP的是RTCP,那么RTCP中有没有介绍传递I帧的命令呢?我抱着这样的疑问进行了下搜索,解决方法RFC已经帮我们定义好了。
在RFC4585中,定义了PLI(Picture Loss Indication)消息,意思是告知图像传输丢帧,要求重传I帧。
根据协议上的描述,将Packet Type设置为206(Payload-specific Feedback),子类型设置为1(RTCP Feedback message type:Picture Loss Indication )。
解决方案:
当捕捉到视频文件播放完成后,对视频通话的主被叫发送PLI格式的RTCP。版本修改后,视频切换非常迅速清晰。