一个flv.js简单demo

参考demo

  1. 启动web server

    通常我们需要安装apache或者nginx,这里只需要一个简单的静态server就够了,因为flv的解析都在浏览器前端。

    • python 2
    1
    python -m SimpleHTTPServer
    • python 3
    1
    py -m http.server
  2. 把文后的js源文件放到web server根目录

  3. 浏览器打开默认的server地址,localhost:8000

    这个时候还看不到视频内容,因为媒体文件还没有

  4. 用ffmpeg制作一个flv文件

    1
    ffmpeg -f gdigrab -framerate 10 -i desktop -vcodec h264 -acodec aac -f flv movie.flv

    这里是在录制屏幕并输出到movie.flv,注意要选择编码器,默认的编码flv.js并不支持,然后也放到根目录

    默认编码器

    1
    encoder         : Lavc57.107.100 flv

    指定后

    1
    encoder         : Lavc57.107.100 libx264
  5. 最后再刷新主页,可以播放视频了


js源文件

点击显/隐内容
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
<!DOCTYPE html>
<html>

<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
<title>flv.js demo</title>
<style>
.mainContainer {
display: block;
width: 1024px;
margin-left: auto;
margin-right: auto;
}

.urlInput {
display: block;
width: 100%;
margin-left: auto;
margin-right: auto;
margin-top: 8px;
margin-bottom: 8px;
}

.centeredVideo {
display: block;
width: 100%;
height: 576px;
margin-left: auto;
margin-right: auto;
margin-bottom: auto;
}

.controls {
display: block;
width: 100%;
text-align: left;
margin-left: auto;
margin-right: auto;
}
</style>
</head>
<body>
<div class="mainContainer">
<video id="videoElement" class="centeredVideo" controls autoplay width="1024" height="576">Your browser is too old which doesn't support HTML5 video.</video>
</div>
<br>
<div class="controls">
<!--<button onclick="flv_load()">加载</button>-->
<button onclick="flv_start()">开始</button>
<button onclick="flv_pause()">暂停</button>
<button onclick="flv_destroy()">停止</button>
<input style="width:100px" type="text" name="seekpoint" />
<button onclick="flv_seekto()">跳转</button>
</div>
<script src="https://cdn.bootcss.com/flv.js/1.4.0/flv.min.js"></script>
<script>
var player = document.getElementById('videoElement');
if (flvjs.isSupported()) {
var flvPlayer = flvjs.createPlayer({
type: 'flv',
"isLive": true,//<====加个这个
url: 'movie.flv',//<==自行修改

});
flvPlayer.attachMediaElement(videoElement);
flvPlayer.load(); //加载
flv_start();
}

function flv_start() {
player.play();
}

function flv_pause() {
player.pause();
}

function flv_destroy() {
player.pause();
player.unload();
player.detachMediaElement();
player.destroy();
player = null;
}

function flv_seekto() {
player.currentTime = parseFloat(document.getElementsByName('seekpoint')[0].value);
}
</script>
</body>

</html>