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

我们如何从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; 
+0

RTSPState和RTPDemuxContext是ffmpeg的私营机构你用过之后。他们知道如何在不访问priv_data的情况下访问这些信息? – dicroce

+0

不幸的是,我不知道另一种方式 – Nech