Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/438.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript mediasource webm无法正常播放_Javascript_Html_Video_Xmlhttprequest_Webm - Fatal编程技术网

Javascript mediasource webm无法正常播放

Javascript mediasource webm无法正常播放,javascript,html,video,xmlhttprequest,webm,Javascript,Html,Video,Xmlhttprequest,Webm,你好,, 我对媒体源扩展有问题 我一插入mp4视频,播放效果就非常好。但是当我嵌入一个webm视频时,会播放前5-8秒,然后停止视频 我不明白为什么该代码可以完美地处理mp4文件,但不能处理webm(vp9)文件 有人能帮我吗 亲切的问候我已经解决了问题,但我没有解决办法。如果我用“ffmpeg-ixyz.webm-c:vvp9-crf 10-g1-b:v600k-minrate:300k-maxrate:5000k-c:a libvorbis xyz_Q_g_1_minavgmax_300_6

你好,, 我对媒体源扩展有问题

我一插入mp4视频,播放效果就非常好。但是当我嵌入一个webm视频时,会播放前5-8秒,然后停止视频

我不明白为什么该代码可以完美地处理mp4文件,但不能处理webm(vp9)文件

有人能帮我吗


亲切的问候

我已经解决了问题,但我没有解决办法。如果我用“ffmpeg-ixyz.webm-c:vvp9-crf 10-g1-b:v600k-minrate:300k-maxrate:5000k-c:a libvorbis xyz_Q_g_1_minavgmax_300_600_5000_crf_10_2.webm”来渲染视频,那么它就工作了。但是如果我在没有“-g1”的情况下执行此操作,那么它将不起作用。有人能帮忙吗?这段视频很可能被混音了,你能分享一下这个文件吗,这样其他人就可以检查它了<代码>-G1只是将GOP长度设置为1,因此这不是一个固定值。
<div class="container">
    <div class="row">
        <div class="col-12">
            <video controls width="800"></video>
        </div>
    </div>
</div>
var video = document.querySelector('video');
//var assetURL = 'resources/vid/640x480_Q_crf_10_120s_tears_of_steel_1080p.webm';
var assetURL = 'resources/vid/frag_bunny.mp4';

//var mimeCodec = 'video/webm; codecs="vorbis, vp9"';
var mimeCodec = 'video/mp4; codecs="avc1.42E01E, mp4a.40.2"';

var mediaSource = new MediaSource();
var sourceBuffer = null;

video.src = URL.createObjectURL(mediaSource);
mediaSource.addEventListener('sourceopen', sourceOpen);


function sourceOpen() {
    sourceBuffer = mediaSource.addSourceBuffer(mimeCodec);

    var xhr = new XMLHttpRequest;
    xhr.open('get', assetURL);
    xhr.responseType = 'arraybuffer';
    xhr.onload = function () {
        sourceBuffer.appendBuffer(xhr.response);
    };
    xhr.send();
}