Chrome 视频标签无法播放碎片化的 mp4 流
Chrome video tag can't play fragmented mp4 stream
我们使用 <video>
播放 fMP4 流(编解码器:H264 - MPEG-4 AVC(第 10 部分)(avc1))。
<video muted autoplay playsinline>
<source src='http://10.12.13.250:8080/5f6c457205c38e6a18ef991b/0e70e1cdee8b21af.live.mp4' />
</video>
页面的 url 是 localhost:3000
,因此我们正在尝试跨源显示流。
它几个月前在 Chrome 工作。但是目前(Chrome 86),是不行的。什么都不播放。 Microsoft New Edge 中也会出现同样的问题,因为它使用了与 Chrome.
相同的引擎
但是,相同的代码在 Firefox (v82.0.2) 中有效。
我们注意到最近Chrome change 中断了。所以我们禁用chrome://flags/#reduced-referrer-granularity
。但是问题依旧。
如何让<video>
在Chrome(新版Edge)中再次播放碎片化的mp4?
我试着测试你在评论中分享的我这边的流。
我在 Edge Chromium 浏览器和 Goole Chrome 浏览器上得到了类似的结果,即没有播放流。不过是用火狐浏览器玩的
我使用 VLC 播放器确认流的编解码器。
我尝试运行下面的代码,并尝试检查这种视频类型和编解码器是否可以在 chromium 浏览器上工作。
function supportType(e,vidType,codType) {
var vid = document.createElement('video');
isSupp = vid.canPlayType(vidType+';codecs="'+codType+'"');
if (isSupp == "") {
isSupp = "No";
}
e.target.parentNode.innerHTML = "Answer: " + isSupp;
}
<p>Can my browser play MP4 videos? <span>
<button onclick="supportType(event,'video/mp4','H264 - MPEG-4 AVC (part 10) (avc1)')" type="button">Test</button>
</span></p>
在 Edge Chromium 浏览器和 Goole Chrome 浏览器中的测试结果:
Chromium 平台似乎不支持此编解码器。我建议尝试为您的流使用支持的编解码器可能会帮助您在 Chromium 浏览器中播放您的流。
我们使用 <video>
播放 fMP4 流(编解码器:H264 - MPEG-4 AVC(第 10 部分)(avc1))。
<video muted autoplay playsinline>
<source src='http://10.12.13.250:8080/5f6c457205c38e6a18ef991b/0e70e1cdee8b21af.live.mp4' />
</video>
页面的 url 是 localhost:3000
,因此我们正在尝试跨源显示流。
它几个月前在 Chrome 工作。但是目前(Chrome 86),是不行的。什么都不播放。 Microsoft New Edge 中也会出现同样的问题,因为它使用了与 Chrome.
相同的引擎但是,相同的代码在 Firefox (v82.0.2) 中有效。
我们注意到最近Chrome change 中断了。所以我们禁用chrome://flags/#reduced-referrer-granularity
。但是问题依旧。
如何让<video>
在Chrome(新版Edge)中再次播放碎片化的mp4?
我试着测试你在评论中分享的我这边的流。
我在 Edge Chromium 浏览器和 Goole Chrome 浏览器上得到了类似的结果,即没有播放流。不过是用火狐浏览器玩的
我使用 VLC 播放器确认流的编解码器。
我尝试运行下面的代码,并尝试检查这种视频类型和编解码器是否可以在 chromium 浏览器上工作。
function supportType(e,vidType,codType) {
var vid = document.createElement('video');
isSupp = vid.canPlayType(vidType+';codecs="'+codType+'"');
if (isSupp == "") {
isSupp = "No";
}
e.target.parentNode.innerHTML = "Answer: " + isSupp;
}
<p>Can my browser play MP4 videos? <span>
<button onclick="supportType(event,'video/mp4','H264 - MPEG-4 AVC (part 10) (avc1)')" type="button">Test</button>
</span></p>
在 Edge Chromium 浏览器和 Goole Chrome 浏览器中的测试结果:
Chromium 平台似乎不支持此编解码器。我建议尝试为您的流使用支持的编解码器可能会帮助您在 Chromium 浏览器中播放您的流。