【问题标题】:How can we extract the RTP packet sequence number from AVPacket (ffmpeg)我们如何从 AVPacket (ffmpeg) 中提取 RTP 数据包序列号
【发布时间】:2016-02-18 16:27:33
【问题描述】:

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

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

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

【问题讨论】:

    标签: ffmpeg packet rtp


    【解决方案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;
    

    【讨论】:

    • RTSPState 和 RTPDemuxContext 是 ffmpeg 私有结构。他们是在不访问 priv_data 的情况下访问此信息的已知方法吗?
    • 很遗憾,我不知道其他方式
    猜你喜欢
    • 2014-07-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-06
    • 2014-03-22
    • 2012-10-18
    • 2018-07-04
    • 2012-04-18
    相关资源
    最近更新 更多