flv.js使用遇到的问题
<!DOCTYPE html>
<html lang="en">
<head>
<title>video</title>
<!-- Video.js -->
<link href="https://unpkg.com/video.js/dist/video-js.css" rel="stylesheet">
<script src="https://unpkg.com/video.js/dist/video.min.js"></script>
<script src="https://unpkg.com/flv.js/dist/flv.min.js"></script>
<script src="https://unpkg.com/videojs-flvjs/dist/videojs-flvjs.min.js"></script>
</head>
<body>
<div>
<video id="videojs-flvjs-player" class="video-js vjs-default-skin vjs-big-play-centered" width="1024" height="768"> </video>
</div>
</body>
</html>
<script>
var flvUrl = "./demo.flv";
var player = videojs('videojs-flvjs-player', {
techOrder: ['html5', 'flvjs'],
flvjs: {
mediaDataSource: {
isLive: false,
cors: true,
withCredentials: false,
},
},
sources: [{
src: flvUrl,
type: 'video/mp4'
}],
controls: true,
preload: "none"
}, function onPlayerReady() {
console.log('player ready')
player.on('error', (err) => {
console.log('first source load fail')
player.src({
src: flvUrl,
type: 'video/x-flv'
});
player.ready(function() {
console.log('player ready')
player.load();
player.play();
});
})
});
</script>
这是我在网上找的一个例子,url的demo.flv是我本地播放的视频文件,结果发现一直报错。报错如下:
然后我将这个视频文件通过格式工厂转成mp4再转成flv就能正常播放了,想请问下有没有人遇到这种情况,谢谢
我用ffprobe
得到以下信息:
# 源视频文件(不能正常播放)
Input #0, flv, from './21.flv':
Metadata:
encoder : Lavf55.21.100
Duration: 00:00:17.48, start: 0.000000, bitrate: 3174 kb/s
Stream #0:0: Video: flv1, yuv420p, 960x544, 3072 kb/s, 25 fps, 25 tbr, 1k tbn
# 转换过的视频文件(能正常播放)
Input #0, flv, from './t.flv':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf57.41.100
Duration: 00:00:17.56, start: 0.080000, bitrate: 881 kb/s
Stream #0:0: Video: h264 (High), yuv420p(progressive), 856x480 [SAR 320:321 DAR 16:9], 867 kb/s, 25 fps, 25 tbr, 1k tbn, 50 tbc
应该是下面大佬说的视频编码问题.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这个问题不用纠结,因为可能是编码问题,虽然扩展名是flv,但实际编码或者封装不一定是被支持的而已。