一页传送带上有两个视频-铬

时间:2018-12-13 14:58:08

标签: javascript video raspberry-pi html5-video chromium

我在服务器上托管了2个视频。

在Chromium浏览器(版本65.0.3325.181)中,https://server/index.html已加载。

使用Javascript,在window.onload之后插入2个视频元素,并启动第一个视频元素。

两个插入都一样:

let video = document.createElement('video');
        video.setAttribute('width', '100%');
        video.setAttribute('height', '100%');
        video.setAttribute('preload', 'auto');

        let source = document.createElement('source');
        source.setAttribute('src', <http://server/video/path>);
        source.setAttribute('type', 'video/mp4');

        video.appendChild(source);

video.on('ended')视频元素完成后被隐藏。然后下一个视频元素变为可见并开始播放。

一切正常:

创建并隐藏了2个视频元素。 第一个视频元素立即开始播放。 在第一个视频结束时-它变为隐藏 第二个视频变得可见并开始播放...成功结束并再次隐藏...

然后从第一个视频开始...

我有以下观察

在最初缓存后,第一个视频总是流畅播放。

第二个视频总是出现毛刺,并停滞了几毫秒。

我正在Raspberry Pi 3上使用Chromium。

当第一个视频开始播放时:CPU占40-50-60%

每当第二个视频开始播放时:CPU大约为120-220%,并且会出现故障和死机。

问题与视频或编码无关,因为当我切换位置时:新的第2个视频(之前是第1个)成为有问题的视频。总是第二个视频!

为什么会这样? 你能给我一些线索或方向可能是什么吗?

1 个答案:

答案 0 :(得分:0)

一个可能的原因是,第一个视频使用的是内置Broadcom HW视频解码的Raspberry PI,但是第二个视频则不得不使用SW解码。

如果您播放多个视频并且超出平台可以在硬件中处理的解码范围,则在许多计算机上也可以看到相同的效果-一种典型的方法是依靠某种形式的SW解码,或者可能只是优先考虑播放第一个视频。

大多数视频卡所支持的编解码器和帧速率也受到限制,尽管这听起来并不像您看到的问题,因为当它是唯一或第一个视频时,它听起来像是可以正常播放。