Flutter开发App的未来及其在各行业的应用潜力分析
948
2022-10-03
h264 丢包花屏处理的一个想法
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; }
以上方案不知是否正确,欢迎做过的同志指正。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~