如何从AVPacket(ffmpeg)中提取RTP数据包序列号?

7
我们试图从数据包的RTP头中提取“序列号”。为此,我们使用av_read_frame将数据包读入AVPacket结构中。
我们尝试使用AVPacket.data字段,希望它保存了原始有效负载,但我们没有找到正确的头位置。因此,我们认为数据字段不包含完整的有效负载 - 如果我们有误,请纠正。
有没有方法可以找到RTP头信息?
1个回答

3

使用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;

RTSPState和RTPDemuxContext是ffmpeg的私有结构。是否已知有一种方法可以在不访问priv_data的情况下访问此信息? - dicroce
很遗憾,我不知道其他的方法。 - Nech

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接