小工具知识网

当前位置: 首页 > 行业知识 > javacv FFmpegFrameGrabber 阻塞问题解决方法

行业知识

javacv FFmpegFrameGrabber 阻塞问题解决方法

2026-10-26 01:01:00 来源:互联网转载
    org.bytedeco    javacv    1.5.7

修改org.bytedeco.javacv.FFmpegFrameGrabber.java源码  

()
//1、在createDefault方法后添加  以下代码    /**     * 读流超时时间 : 20秒     */    private static final int FRAME_READ_TIMEOUT = 20 * 1000;    // 增加监听    private final AtomicLong lastFrameTime = new AtomicLong(System.currentTimeMillis());    private boolean interrupt_grab = false;    public boolean isInterrupt_grab() {        return interrupt_grab;    }    private final org.bytedeco.ffmpeg.avformat.AVIOInterruptCB.Callback_Pointer cp = new org.bytedeco.ffmpeg.avformat.AVIOInterruptCB.Callback_Pointer() {        @Override        public int call(Pointer pointer) {            // 0:continue, 1:exit            if (lastFrameTime.get() + FRAME_READ_TIMEOUT  
// 4 在使用FFmpegFrameGrabber读取帧时, isInterrupt_grab()进行退出循环while (true) {frame = grabber.grab();if (grabber.isInterrupt_grab()) {log.info("grabber Interrupt_read");break;}if (frame.image != null) {log.info("处理逻辑......");} }
()

上一篇:重庆本地服务器云主机价格表

下一篇:服务器显卡怎么插?