You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Chrome后台标签中requestVideoFrameCallback停止触发问题求助

Chrome后台标签页中requestVideoFrameCallback停止运行的问题

在Chrome浏览器中,当标签页处于后台状态时,requestVideoFrameCallback会停止运行。根据官方文档及相关Issue描述,当视频包含音频时,该回调理应在后台持续运行,但当前实际行为不符合预期,不确定这是Chrome的bug还是缺少必要设置。

复现代码

function startTest() {
    video = document.querySelector('video');
    canvas = document.querySelector('canvas');
    ctx = canvas.getContext('2d');

    let start_time = 1.0, paint_count = 0, raf_count = 0;
    let last_time = 0;
    var paintFrame = function(timestamp, metadata) {
      if (start_time == 1.0)
        start_time = timestamp;
      updateCanvas(ctx, video);
      last_counter = metadata.presentedFrames;

      var elapsed_frame = 0;
      var elapsed = (timestamp - start_time) / 1000.0;
      
      if(last_time == 0){
        console.log('init')
        elapsed_frame = 0
      }else{
         elapsed_frame = (new Date()).getTime() - last_time
      }
      last_time = (new Date()).getTime()
      
      var fps_text = document.querySelector('#fps');
      var presented = metadata.presentedFrames + 1;
      fps_text.innerText =
          'actual fps: ' + (++paint_count / elapsed).toFixed(3) + ', ideal fps: ' +
          (presented / elapsed).toFixed(3) + ', missed: ' +
          (presented - paint_count) + '/' + presented +
          '(' +  ((presented - paint_count)/presented*100.0).toFixed(1) + '%)';
      
      if(elapsed_frame > 100){
        console.log('Long clock-time', elapsed_frame, 'missed', (presented - paint_count));
      }
      
      video.requestVideoFrameCallback(paintFrame);
    };
    video.onplay = function(){
      v = video.requestVideoFrameCallback(paintFrame);
    };

    video.playbackRate = 1.0;

    video.src="https://tguilbert-google.github.io/vid/buck360p_vp9.webm"

  };

问题依据

  • Chrome官方文档明确,后台标签页中带音频的媒体应保持正常处理节奏
  • 已有公开Issue指出,包含音频的视频在后台时requestVideoFrameCallback应该持续运行,但测试中该回调在标签页后台时停止工作。

内容的提问来源于stack exchange,提问作者Jerod Venema

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 14:25:16