拍攝的時代自從我一直在尋找這個,並且似乎無法找到它。我有一個使用ffmpeg的RTSP流。我可以使用的對象包括AVPacket,AVFrame,AVCodecContext和AVFormatContext。我想獲得一個幀的絕對時間。 (理想情況下粒度小到毫秒,儘管這不是完全必要的)。FFmpeg C++如何獲取時間戳,以秒爲單位,因爲在
有沒有一種簡單的方法來做到這一點使用ffmpeg庫?我已經看過av_frame_get_best_effort_timestamp
以及codec_context->time_base
,但似乎在視頻開始後的幾秒鐘內給出答案,而且我不一定知道視頻何時開始。
表示假設你就可以得到從流的時間戳。它將被綁定到遠程計算機上的時鐘 - 這與本地時鐘無關。那麼爲什麼不存儲收到第一個視頻幀的時間,並將其用作您提取的每個av_frame_get_best_effort_timestamp的偏移量? –
@Artemy因爲我需要我的應用程序與視頻給予我的時間同步。可能有多個應用程序都使用此流,並且我希望我的程序與這些流同步。我收到第一個數據包的時間可能比我的應用程序的幀時間延遲了30秒,而另一個應用程序延遲了10秒。然後我的時間是20秒。而從視頻流的絕對時間可以被所有的應用程序訪問 –