本文 来自 csdn lidp http://blog.csdn.net/perfectpdl, 转载注明出处,谢谢。

H264视频在分组网络中传输丢包不可避免,尤其在网络环境不好时传输h264码流,丢包会导致解码端花屏,马赛克严重,这方面的前沿技术是 FEC, NACK, 前者是 前向纠错技术,后者是重传,二者结合能很好的解决丢包引起的视觉效果,这东西一般小厂家都没有,如果想丢包时即使让画面停顿,也不要花屏,我想的最直接的办法是:一旦发现丢包,在下一个I帧到来之前,所有过来的包都丢掉,所以一旦发现丢包,做个标记,然后开始判断收到的rtp包是不是264 i帧, i帧的判断方法参考:

static bool isH264iFrame(byte[] paket){int RTPHeaderBytes = 0;int fragment_type = paket[RTPHeaderBytes + 0] & 0x1F;int nal_type = paket[RTPHeaderBytes + 1] & 0x1F;int start_bit = paket[RTPHeaderBytes + 1] & 0x80;if (((fragment_type == 28 || fragment_type == 29) && nal_type == 5 && start_bit == 128) || 
fragment_type == 5 || fragment_type == 7 || fragment_type == 8){return true;}return false;}

以上方案不知是否正确,欢迎做过的同志指正。

h264 丢包花屏处理的一个想法相关推荐

  1. 使用FFmpeg解码 丢包 花屏

    使用FFmpeg解码,使用SDL显示画面有时候会连续丢包,导致花屏的现象. 解决办法: 1.将rtsp传输方式由默认的udp传输,设置为tcp传输 2.每次解码一帧后,SDL_Delay时长设置为跟帧 ...

  2. h264视频解码显示花屏问题集

    1. 收到服务器过来的视频码流,使用stream eye播放正常,使用自己的设备来解码播放时,出现严重的花屏. 原因:码流中有部分帧,如I帧的slice数目过大,大于解码器设定的最大slice数目,解 ...

  3. w806开发板驱动ov2640读取jpeg图片1600x1200分辨率,以及花屏原因及解决办法

    主频需要160MHz以上,80MHz主频读取会丢数据,读取过程中要关闭所有中断否则会出现丢数据花屏现象,还有一个重要的地方需要注意,PCLK速度过慢同时照片信息量多时,jpeg文件过大也会花一部分,像 ...

  4. UDP主要丢包原因及具体问题分析

    转载:https://www.cnblogs.com/Zhaols/p/6105926.html 一.主要丢包原因 1.接收端处理时间过长导致丢包:调用recv方法接收端收到数据后,处理数据花了一些时 ...

  5. 安卓miracast花屏_Miracast无线投屏技术优缺点有哪些?

    Miracast无线投屏技术优缺点有哪些? 当下主流与的无线投屏技术主要有Miracast.苹果(Apple)的AirPlay屏幕镜像,WIF联盟的DLNA(组织已经解散),虽然还有一些其他的无线投屏 ...

  6. getparameter方法中文显示问号解决方法_电脑显示器花屏怎么办 电脑显示器花屏解决方法【原因分析】...

    本文告诉大家电脑显示器花屏怎么办呢,电脑显示器花屏解决方法和原因分析: 指电脑屏幕上有与常色不同的条纹,斑点或色块,或有位置颠倒.错乱,屏幕抖动.扭曲等情况. 显示器花屏是极其常见的故障,产生的原因有 ...

  7. 网络丢包诊断与分析的现实与理想

    自从有了网络便有了网络故障,网络故障的最大体现是丢包.如何对丢包进行诊断一直是一个令工程师头疼的问题,可关注丢包原因分析的人却非常的少. 现实 目前对于网络中出现丢包的传统处理步骤如下: 首先,确定丢 ...

  8. winxp系统连接服务器丢包解决方法

    winxp系统连接服务器丢包解决方法 MFC编写一个打开网页的程序,发生异常没有获取到数据. 分析步骤: 1. 用getLastError()获取到的信息,(2)- 系统找不到指定的文件. 2. 用浏 ...

  9. 网络分流器-网络丢包原因以及修复方法

    戎腾网络分流器作为专业的流量监控采集设备,具有丢包率低,性能可靠,高速率等优势,是整个网络安全领域网络监控前端重要的基础装备! 正交架构,支持1000以上10G和200以上100G,可根据需求进行调整 ...

最新文章

  1. s5pv210运行裸机程序的方法之在SDRAM(DDR2)中运行
  2. python对笔记本电脑的要求-Python的用法笔记本
  3. datatable移动一列的位置
  4. 凹凸世界服务器维护到几点,《凹凸世界》2021年7月21日更新版本停服维护公告...
  5. 如何运用并行编程Parallel提升任务执行效率
  6. [转]分布式事务之TCC服务设计和实现注意事项
  7. python利用写模块_使用C++编写python扩展模块
  8. Oulipo (KMP出现次数)
  9. 科大讯飞 语音识别 VB WIN10 X64 VS2017
  10. Fedora9-ATI显卡Gnome环境下Amarok和EVA花屏现象理会及其处理责罚方法。
  11. python自动化学习之语法学习(判断语句和循环语句)
  12. JDK 13 的 12 个新特性,真心厉害和好用
  13. SpringMVC+Vue项目班级管理系统
  14. IP地址分为几类?各如何表示?IP地址的主要特点是什么?
  15. Java-获取本地主机的域名和主机名(net)
  16. 一文带你了解Zookeeper基本概念、集群搭建、使用方法
  17. uiautomator2输入中文的问题
  18. 微信开放平台开发(一)
  19. 鸿蒙系统明年上市巧,华为:智能手表及笔记本电脑将搭载鸿蒙系统 手机明年上市...
  20. 笛卡儿积、左连接、右连接

热门文章

  1. Cadence Allegro如何添加叠层?
  2. C# 全局监听键盘源代码
  3. 这个世界只有一种病,那就是贫穷!
  4. linux查看用户家目录下的隐藏文件,linux中查看目录下隐藏文件方式?
  5. Mac os X 系统,TS视频如何合并成MP4
  6. 财务系统软件c语言,用vc++6.0编写一个简单的财务应用程序来计算职工所得的实际工资...
  7. GX works 2 使用问题
  8. Learning to Learn
  9. log4j发送日志邮件
  10. 【LeetCode】222. Count Complete Tree Nodes 解题报告(Python)