我们如何从AVPacket中提取RTP包序列号(ffmpeg)
问题描述:
我们试图从包的RTP头中提取“序列号”。 我们使用av_read_frame来将数据包读入AVPacket结构中。我们如何从AVPacket中提取RTP包序列号(ffmpeg)
我们尝试使用AVPacket.data字段,希望它保存原始有效负载,但我们没有设法找到标题的正确位置。所以我们假设数据字段没有保存完整的有效载荷 - 如果我们错了,请更正。
有没有办法找到RTP头信息?
答
使用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