- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我尝试使用 MediaSource 播放两个视频,但只有一个有效。两者都将编解码器设置为 avc1.4d401f 和 mp4a.40.2,但其中一个播放得很好,另一个在我调用 SourceBuffer 上的 appendBuffer 时立即关闭 MediaSource。相关代码如下:
var mainSource;
var mimeCoded = 'video/mp4; codecs="avc1.4d401f,mp4a.40.2"';
mainSource = new MediaSource();
var sourceBuffer;
mainSource.addEventListener('sourceopen', () => {
console.log('readystate', mainSource.readyState);
var xhr = new XMLHttpRequest();
xhr.responseType = 'arraybuffer';
xhr.open('get', 'main.mp4');
xhr.addEventListener('load', (e) => {
sourceBuffer = mainSource.addSourceBuffer(mimeCoded);
sourceBuffer.mode = 'sequence';
sourceBuffer.addEventListener('updateend', onUpdateEnd);
sourceBuffer.appendBuffer(e.target.response);
console.log('updating', sourceBuffer.updating);
});
xhr.send();
});
vid.src = URL.createObjectURL(mainSource);
onUpdateEnd = function ()
{
console.log('readystate2', mainSource.readyState, sourceBuffer.updating);
vid.play();
sourceBuffer.removeEventListener('updateend', onUpdateEnd);
};
当使用其中一个视频时,mainSource.readyState
上的两个日志都将输出 open
,但使用另一个视频时,它会显示 closed
第二个日志(以及 vid.play()
上的相应错误)。我已经对可能发生的事情一无所知,因此不胜感激。
最佳答案
回答以供进一步引用,要使其正常工作,视频必须在编码上分段。使用以下 ffmpeg 命令就可以了:
ffmpeg -i input.mp4 -movflags frag_keyframe+empty_moov+default_base_moof output_frag.mp4
关于javascript - MediaSource 在 appendBuffer 后关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45867579/
我正在尝试使用 MediaSource 播放两个单独的流(音频和视频)。我已经成功地按任意大小的顺序附加了它们的缓冲区(通过 XHR 检索的 ArrayBuffer 类型): 大小相同的 XXX 字节
如何从以下情况导致的 appendBuffer 错误中恢复? 缺失数据 数据乱序 最佳答案 这里只是猜测...我假设乱序可恢复性取决于正在解码的媒体容器的格式(WebM、Ogg 等)。浏览器的 dec
我尝试使用 MediaSource 播放两个视频,但只有一个有效。两者都将编解码器设置为 avc1.4d401f 和 mp4a.40.2,但其中一个播放得很好,另一个在我调用 SourceBuffer
我们正在使用 VideoJs (6.9.0) 创建 HTML5 网络应用程序以用于智能电视。我们注意到某些电视报告以下错误: 无法在“SourceBuffer”上执行“appendBuffer”:So
编辑:为了帮助说明我不断遇到的错误,我创建了我所看到的问题的 CodePen。打开控制台,您将看到错误。 [ https://codepen.io/FifthCloud/pen/eYpqJLN ] 我
我是一名优秀的程序员,十分优秀!