当前位置:  开发笔记 > 程序员 > 正文

通过UDP流式传输h.264编码视频

如何解决《通过UDP流式传输h.264编码视频》经验,为你挑选了1个好方法。

我不太了解h.264,但问题是我在h.264中有一个mp4容器中的这个视频,我想通过UDP流.

我的问题很简单,在对视频进行编码时是否可以进行任何调整,以便它能够相当容忍某些"轻"数据包丢失?

我知道压缩视频通常每N帧有一个关键帧,然后在它们之间只发送增量.我可以想象h.264应该比那复杂得多,所以它可能不是那么简单.

更确切地说,我一直在进行一些实验,并意识到只需从视频流中删除1024个字节,我就会从丢失和开启的角度将其完全"无法播放".

我想要的是它能够容忍这样的光损失,这可能吗?

谢谢

纳尔逊



1> kidjan..:

这取决于你丢失的数据.H264流中的某些数据不是可能丢失的数据.例如,如果您丢弃1024字节的实验碰巧是您发送的前1024个字节,那么您可能删除了序列参数集和图片参数集(SPS/PPS),这基本上是告诉解码器如何的信息解释传入的信息.您也可能不能只从流中删除1024个字节; 通常H264是打包的,所以不管怎么说都不会发生.

所以H264确实包含一些真正不"可丢弃"的小数据; 许多流媒体协议(如RTSP)通过明确说明您不应通过有损传输通道发送此类信息,而是在SDP交换期间(通过TCP发生)来明确这一点.

就损耗容限而言,H264确实具有有助于损失容限的功能(ASO,FMO等),但实际上大多数编码器都不支持它们.如果可以,我会使用x264; 他们的低延迟流式传输配置据称即使丢包率高达20%或更高也能正常工作.如果您的H264已经编码,则没有太多工作要做.您的视频已经过编码,您必须按原样播放.

推荐阅读
ar_wen2402851455
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有