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

Nec*_*ech 7 ffmpeg rtp packet

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

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

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

Nec*_*ech 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;
Run Code Online (Sandbox Code Playgroud)