我用RTP包装H264视频用于网络流媒体。为了做到这一点,我使用Android的MediaCodec配置为编码器来生成H264。 RTP代码是我自己的。
当我读取流(使用我的本地网络到流媒体服务器)时,我可以知道何时收到关键帧,因为视频会达到我期望的水平。然而,当我在视频视图中移动手时,我看到大量像素化,直到下一个关键帧进来。我的视频是960x720,30fps,我每2秒发送一个关键帧。
我可以通过Datagram套接字从MediaCodec编码器中抽取原始h264(未包装为RTP),然后使用ffplay播放它。当我这样做时,没有这样的效果。它必须是RTP封装的东西。我验证了FU-A分段数据包的停止/停止位是正确的,RTP标头标记位也是如此。我有点不知道还有什么可能是问题?