我添加src
为video source
与base64值,但它不工作在这里是我的html
<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=">
,但是视频没有播放。我找不到了,有谁能帮我吗?
没有解决办法吗??
3条答案
按热度按时间8fq7wneg1#
我最近遇到了这个问题,我的解决方案是将
src
属性直接添加到<video>
元素上。喜欢在
<source>
元素中添加src
导致视频不做任何事情。mw3dktmi2#
(1)您的字符串“
AAAAGGZ0eXBtcDQyAAAAAG1wNDFpc29tBNjldm1kYXQAAAAAAAAAEAA=
”只提供41字节。这不足以播放视频。(2)你的字节以mdat开始(这是一个混合在一个组中的a/v数据),解码器需要文件的moov部分(它有元数据)来知道frame 1字节在所有混合的mdat部分中的开始/结束位置。最好先用moov制作MP4文件,然后用mdat。
使用关键字在线查找修复工具:
fast start MP4 moov at front
(3)因为mdat是第一个,我们可以看到它的大小在字节:
04 D8 E5 76
(即81.3 MB)。因此,在开始为解码器提供元数据之前,您必须接收大约81兆。解码器需要元数据(存储在moov节中,在此mdat的81兆之后)才能显示任何内容或解码声音。
kmbjn2e33#
是的,我的响应没有正确编码到base64值中,它是短的,不是有效的