我们如何从AVPacket中提取RTP包序列号(ffmpeg)

时间:2015-11-17 10:29:02

标签: ffmpeg packet rtp

我们正试图从数据包的RTP头中提取“序列号”。 我们使用av_read_frame将数据包读入AVPacket结构。

我们尝试使用AVPacket.data字段,希望它保留原始有效负载,但我们无法找到标头的正确位置。因此,我们假设数据字段不包含完整的有效负载 - 如果我们错误,请更正

有没有办法找到RTP标头信息?

1 个答案:

答案 0 :(得分:1)

使用RTPDemuxContext,它包含读取帧后的RTP头信息 要访问它,请使用打开流时使用的AVFormatContext

AVPacket* packet;
av_read_frame(formatCtx, packet);
RTSPState* rtspState = formatCtx->priv_data; 
RTPDemuxContext *rtpdemux = rtspState->rtsp_streams[packet->stream_index]->transport_priv;