2017-09-11 226 views
0

我加入src用于video source使用Base64值,但它不是在这里工作 是我的HTMLBase64值不适用于视频标签?

<video id="video" controls> 
    <source type="video/mp4" id="jh"> 
</video> 

和我的JS是

$("#vd").click(function(){ 
     $.ajax({ 
       url:"RetriveVedio", 
       method: "get", 
       dataType: 'text', 
       success:function(response){ 
        console.log(response); 

        var src = 'data:video/mp4;base64,'+response; 
        $("#video").find("#jh").attr("src", src); 
       // $('#video').load(); 
       $("#video").trigger('load'); 
       $("#video").trigger('play'); 
       }  
     });  
    }); 
这是从服务器来

的base64值AAAAGGZ0eXBtcDQyAAAAAG1wNDFpc29tBNjldm1kYXQAAAAAAAAAEAA= 值被添加到source像这样<source type="video/mp4" id="jh" src="data:video/mp4;base64,AAAAGGZ0eXBtcDQyAAAAAG1wNDFpc29tBNjldm1kYXQAAAAAAAAAEAA="> 但视频没有播放。我无法追查它,任何人都可以帮助我吗?

是不是有解决方案?

+0

嗯......好问题。我真的不知道是否base64编码src与视频。但我不这么认为。 – WaldemarIce

+0

好,但它的图像处理。 – bharath

+0

它确实工作vith视频https://iandevlin.com/html5/data-uri/video.php – Valdrinit

回答

1

“......但视频没有播放,我无法追踪它,任何人都可以帮助我吗?”

(1)你的字符串 “AAAAGGZ0eXBtcDQyAAAAAG1wNDFpc29tBNjldm1kYXQAAAAAAAAAEAA=” 仅提供字节。这不足以播放视频。

00 00 00 18 66 74 79 70 6D 70 34 32 00 00 00 00   ....ftypmp42.... 
6D 70 34 31 69 73 6F 6D 04 D8 E5 76 6D 64 61 74   mp41isom.Øåvmdat 
00 00 00 00 00 00 00 10 00        ......... 

(2)你的字节开始的mdat(其为A/V数据在一组中的所有混合)之后,解码器需要MOOV文件的部分(其具有元数据)知道在哪里帧1字节在所有混合的内部开始/结束mdat部分。最好先用moov制作MP4文件,然后用mdat

查找的关键字在网上的固定器:fast start MP4 moov at front

(3)由于MDAT首先,我们可以看到的字节大小:04 D8 E5 76(这意味着81.3 MB)。因此,在开始使用解码器元数据之前,您必须获得大约81 megs。

解码器需要的元数据(存储在MOOV部分,之后的这个的mdat 81兆),才可以显示任何或解码声音。

1

是的我的反应没有得到正确编码到Base64值它是短而无效一个