html5播放声画不同步,javascript - 附加到SourceBuffer的HTML 5视频和音频变得不同步 - 堆栈内存溢出...

我正在使用Media Source Extensions API捕获具有音频的桌面/应用程序/ chrome选项卡,并通过Socket.io将数据流式传输到多个客户端。我使用的是MediaRecorder,它通常每10毫秒记录一次流,将每个10毫秒的块发送到我的服务器,该服务器将其中继回每个客户端,以附加到SourceBuffer上,该SourceBuffer附加到附加到视频标签的MediaSou...
摘要由CSDN通过智能技术生成

我正在使用Media Source Extensions API捕获具有音频的桌面/应用程序/ chrome选项卡,并通过Socket.io将数据流式传输到多个客户端。

我使用的是MediaRecorder,它通常每10毫秒记录一次流,将每个10毫秒的块发送到我的服务器,该服务器将其中继回每个客户端,以附加到SourceBuffer上,该SourceBuffer附加到附加到视频标签的MediaSource上。 音频和视频都可以通过视频标签成功发送,接收和显示,但是,在很短的时间之后,音频会先于视频,然后逐渐分开。

let videoMimeType = 'video/webm;codecs="vp9,opus"';

let player = document.getElementById("player");

let mediaSource = new MediaSource();

player.src = window.URL.createObjectURL(mediaSource);

mediaSource.addEventListener('sourceopen', function(e) {

if (videoBuffer == null) {

videoBuffer = mediaSource.addSourceBuffer(videoMimeType);

videoBuffer.mode = 'sequence'

}

});

navigator.mediaDevices.getDisplayMedia({

v

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值