我成功使用libav从RTSP网络源接收视频流。关键是我需要将计算机的时间与视频捕获同步,这意味着我需要知道计算机的哪个日期时间对应于第一帧(pts = 0)。我的API调用如下:
av_register_all()
avcodec_register_all()
avformat_network_init()
avformat_open_input()
avformat_find_stream_info()
av_read_play()
loop
av_init_packet()
av_read_frame()
[...]
av_free_packet
end loop
通过上面的调用,我成功读取了帧,但我确实需要知道如何知道与第一帧对应的确切绝对日期时间,因为它的pts为0.也许我可以使用time()函数或GetSystemTime(我在使用Windows)之间进行两次调用,但实际上并不知道libav是如何工作的。