ffmpeg 接收解码rtp h264视频流

首先说明一下nalu的格式:

      nalu由三个部分组成:开始码(0x01000000)+nalu头+nalu数据。

使用live555 testrtspclient那个例子来接收rtp流,接收到的nalu是没有开始码的,

需要自己加上起始码,然后喂个ffmepg的packet.data,然后就可以解码了,


将sps,pps补偿给ffmepg:

      在ffmpeg解码其他nalu之前,需要将h264视频流的 sps,pps补偿给ffmepg,这两个东西也是nalu

在rtsp的连接过程中,describe命令响应那里,可以拿到sps,pps,拿到的是使用了base64编码的

需要进行base64解码,解码出来的sps,pps是没有起始码的nalu,需要自己加上起始码,

然后喂给ffmepg的packet.data,然后解码这两个nalu即可,这样ffmepg就知道了视频的宽度高度

这些信息了,这样就可以解码后面的nalu视频流数据了。


你可能感兴趣的:(ffmpeg 接收解码rtp h264视频流)