MediaSource 中 独立音视频流 怎么放一起播放

发布于 2022-09-13 01:09:54 字数 945 浏览 28 评论 0

这几天 被 MediaSource 播放DASH视频流的问题卡住了,音视频流是分开的,我这么创建

var track_audio = mediaSource.addSourceBuffer(`audio/mp4; codecs="mp4a.40.2"`)
var track_video = mediaSource.addSourceBuffer(`audio/mp4; codecs="avc1.42c014"`)

打印 SourceBufferlist 有二个

然后 分别对 track_audio track_video 进行
0.Initializing(初始化切片)
1.appendBuffer(new Uint8Array(.));
2.onupdateend mediaSource.endOfStream();
3.media(分段加载)
4.appendBuffer(new Uint8Array(.));
循环 3.4.

我发现 track_audio track_video 我只对视频或音频 是成功的!

我二个如果 一起拉流 就会报错,要么放声音,要么光视频

我做了以下尝试:

1.是不是 addSourceBuffer 要加入 声音与视频都有的 SourceBuffer

var mine = `audio/mp4; codecs="avc1.42c014, mp4a.40.2"`;
var track = mediaSource.addSourceBuffer(mine);

2.猜测 我是不是 要创建 二个mediaSource 一个流对应一个?
3.看W3C SourceBuffer里有 text_track audio_track text_track 这个区分addSourceBuffer吗?

姿势 不对不行,网上看的都是直接拉的单个音视频流,这种 音视频分开的是怎么合到一起的呢?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

情绪操控生活 2022-09-20 01:09:54

我刚刚 找到一个 文章

https://blog.csdn.net/camike/...

我使用方法没错

网页偶尔可以播放 不能播放 报
Failed to execute 'endOfStream' on 'MediaSource': The 'updating' attribute is true on one or more of this MediaSource's SourceBuffers.
问题

代码定位 为 that.data.mediaSource.endOfStream();

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文