html5播放flv
html5的video标记,可以播放多种视频,什么mp4啦,mov啦,但不包括flv。flv与flash有关系,没前途,快完蛋了。但好像这个又跟直播啥的有关联(是一种直播协议),而且之前有一些视频文件是flv格式的,难道就傲娇的索性不支持了吗?
那么html5中,如何播放flv文件?不要想着用flash来播放,霸主chrome已经不支持了。
先说结论,可以播放,用bilili的开源项目flvjs就可以播放,不需要任何插件;但只能部分播放,不是所有的flv文件都能播放,只有H.264编码的才能播,什么vp6f格式不行。原来,flv视频文件,本身也有多种格式啊。
vp6是很老旧的编码了,H.264新一些。有关视频编码的知识,可以看这里:
视频编码简史:H.263/H.264/H.265和MPEG2/MPEG4以及VP9,H264优点
具体的H5播放代码如下:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<script src="flv.min.js"></script>
<style> body,center{ padding:0; margin:0; } .v-container{ width:640px; height:360px; border:solid 1px red; } video{ width:100%; height:100%; } </style>
</head>
<body>
<div class="v-container">
<video id="player1" muted autoplay="autoplay" preload="auto" controls="controls">
</video>
</div>
</body>
</html>
<script> if (flvjs.isSupported()) { var videoElement = document.getElementById('player1'); var flvPlayer = flvjs.createPlayer({ type: 'flv', url: 'http://fed.dev.hzmantu.com/oa-project/bce0c613e364122715270faef1874251.flv' }); flvPlayer.attachMediaElement(videoElement); flvPlayer.load(); //flvPlayer.play(); } </script>
至于部分不支持的flv,我实在找不到什么办法,只能是转换成其他格式。转换的话,不用下载什么转换器(要么收费,要么像病毒一样,给你装一大堆垃圾),用ffmpeg就好。
将 001.flv 转成 001.mp4。
ffmpeg -i f:\temp\temp\001.flv f:\temp\temp\001.mp4
ffmpeg真好用,还可以看视频文件的编码等信息:
ffmpeg -i f:\temp\temp\002.flv
还没有评论,来说两句吧...