我编写了一个简单的libav程序,该程序可以从网络摄像头读取帧数据包并将其保存到文件中。但是,我现在希望能够控制何时捕获帧。据我所知,当我调用avformat_open_input
时,创建了输入流,并且帧立即开始从相机读取到数据包队列;当队列已满时,将停止读取帧。我希望能够将此队列的大小设置为1,以便仅在请求帧时才捕获它们。但是,我似乎找不到任何文档概述该操作的方法。我能找到的最接近的东西是max_muxing_queue_size
选项,但是我不知道该在哪里使用。我尝试将其放在我的AVDictionary
选项中,但没有用。
有人对此有任何经验吗?甚至不知道这是否可能?