1
我正在使用ffmpeg C++庫。我需要攔截來自攝像機的RTCP數據包,以便從發件人報告中獲取時間戳。 ffmpeg中是否有任何方法或結構向我提供這些信息?我完全卡住了,但我無法解決這個問題。使用FFMPEG從IP攝像機讀取RTCP數據包
任何幫助將不勝感激。在此先感謝,
我正在使用ffmpeg C++庫。我需要攔截來自攝像機的RTCP數據包,以便從發件人報告中獲取時間戳。 ffmpeg中是否有任何方法或結構向我提供這些信息?我完全卡住了,但我無法解決這個問題。使用FFMPEG從IP攝像機讀取RTCP數據包
任何幫助將不勝感激。在此先感謝,
最後我不得不攻入的ffmpeg庫這樣的:
// Patch for retrieving inner ffmpeg private data
RTSPState* rtsp_state = (RTSPState*) context->priv_data;
RTSPStream* rtsp_stream = rtsp_state->rtsp_streams[0];
RTPDemuxContext* rtp_demux_context = (RTPDemuxContext*) rtsp_stream->transport_priv;
// Decode the NTP time from the 64 bit structure
uint64_t ntp_time = rtp_demux_context->last_rtcp_reception_time;
uint32_t seconds = (uint32_t) ((ntp_time >> 32) & 0xffffffff);
uint32_t fraction = (uint32_t) (ntp_time & 0xffffffff);
double useconds = ((double) fraction/0xffffffff);
現在我終於有了時間戳信息。
你爲此修補了哪個文件?你介意分享這個補丁嗎?提前致謝。 – Arun
嗨阿倫。這是前一陣子。我花了daaaaaays來解決這個問題。很多黑客,但它的工作。祝你好運! –
我希望這是由圖書館本身作爲API公開的。儘管如此,謝謝。 – Arun