2015-11-17 7 views
2

Мы пытаемся извлечь «порядковый номер» из заголовка RTP пакета. Мы используем av_read_frame для чтения пакетов в структуры AVPacket.Как извлечь номер последовательности пакетов RTP из AVPacket (ffmpeg)

Мы попытались использовать поле AVPacket.data, надеясь, что оно содержит исходную полезную нагрузку, но нам не удалось найти правильное расположение заголовка. Поэтому мы предполагаем, что поле данных не содержит полной полезной нагрузки - , пожалуйста, исправьте, если мы ошибаемся.

Есть ли способ найти информацию заголовка 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; 
+0

RTSPState и RTPDemuxContext являются FFmpeg частных структур. Является ли их известным способом доступа к этой информации без доступа к priv_data? – dicroce

+0

К сожалению, я не знаю по-другому – Nech