我正在使用libav库在树莓派上录制来自CSI摄像机的视频。我可以将摄像机数据成功记录到一个文件中,但是现在我想在两个摄像机之间同步帧。我设置了一种机制来捕获帧时进行同步,但是我假设在调用av_read_frame(input_format_context, &packet)
时会捕获下一帧。但是,事实证明,视频是流式传输到某个缓冲区中的,当缓冲区已满时,它会一直等待直到调用av_read_frame
方法,该方法将从缓冲区中删除数据,从而允许捕获另一帧。>
这不是我想要的行为,因为我需要精确控制捕获帧的时间。 libav中是否有一种机制可以用来产生这种行为?还是我必须使用其他库从CSI设备捕获视频?