一个解决视频切换花屏的方案

简介: 指挥传递RTP的是RTCP,那么RTCP中有没有介绍传递I帧的命令呢?我抱着这样的疑问进行了下搜索,解决方法RFC已经帮我们定义好了。

问题:


最近在开发一个项目,该项目需要在主被叫视频通话过程中对主叫播放视频彩铃,当视频彩铃播放完成后,再切回到主被叫视频通话。


开发完成后,进行测试中发现存在一个问题。视频彩铃切换到视频通话后,存在画面切换时延长的问题。


分析:


我想到切换视频最快的方法是刷新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 )。

2b7791126fa84076a0f68d8c9b9b1883.png

800bef884a4f4d06bdf38203b4bf8cf0.png

13ee446b5b0548889d24740df23d65cd.png


解决方案:


当捕捉到视频文件播放完成后,对视频通话的主被叫发送PLI格式的RTCP。版本修改后,视频切换非常迅速清晰。


01eb4aabcfe8433b85d420a1ce99d6a5.png

相关文章
|
C#
如何解决在PotPlayer中看视频音画不同步的问题(C#视频可用)
如何解决在PotPlayer中看视频音画不同步的问题(C#视频可用)
1043 0
|
1月前
|
编解码
Jetson 学习笔记(十四):降低远程操控延时-修改屏幕分辨率
这篇文章是关于如何通过修改屏幕分辨率来降低Jetson Nano在远程操控时的延时。
55 3
Jetson 学习笔记(十四):降低远程操控延时-修改屏幕分辨率
|
1月前
|
监控 自动驾驶 5G
|
6月前
|
缓存
停止AVPlayer并在缓存阶段立即播放其它视频闪退问题及解决方案
停止AVPlayer并在缓存阶段立即播放其它视频闪退问题及解决方案
77 0
切换主题 | 切换白天和夜晚模式
夜晚浏览网页太亮,试试夜晚模式吧,此以 vue3 为例
171 0
|
监控 C#
C#大华监控画面切换
C#大华监控画面切换
143 0
|
Android开发
android图片切换ImageSwichter的动画切换效果
android图片切换ImageSwichter的动画切换效果
381 1
|
Android开发 开发工具
RK3399平台开发系列讲解(系统修改记录篇)1.15、安卓系统旋转后导航栏丢失,并有黑边问题解决
RK3399平台开发系列讲解(系统修改记录篇)1.15、安卓系统旋转后导航栏丢失,并有黑边问题解决
206 0
libvlc视频播放器: 补偿播放进度时间-更加精细
在上几个章节,介绍了如何使用libvlc开发一款视频播放器,libvlc除了具备普通播放器该有的功能,还有很多其他强大的功能,比如:播放rtsp\rtmp流媒体视频、录制画面为视频、各种滤镜等等;
643 0