简要说明
直播的风头基本都已通过去了,写这个文章的目的就是为了记录,因此废话少说,开始正题。 首先介绍下这几个工具:css
- angular4, google开源的前端框架,最新的angular4使用了ts做为主力语言。
- flv.js, B站开源的html5播放器,简单来说就是经过获取http-flv的直播流,而后利用MSE来播放。
- srs, 做者winlin,国内比较承认的一款开源的流媒体服务器
具体步骤
- 建立videoPlayer工程
ng new videoPlayer
- 添加flv.js
$cd videoPlayer $npm install --save flv.js $cd node_modules/flv.js $npm install $npm install -g gulp $gulp release
-
将flv.js添加到videoPlayer的工程中html
- 修改
/path/videoPlayer/tsconfigure.json
,添加"allowJs": true
- 修改
/path/videoPlayer/.angular-cli.json
,添加"scripts": ["../node_modules/flv.js/dist/flv.min.js"],
- 修改
-
建立播放器前端
- 修改
/path/videoPlayer/src/app/app.component.html
<!--The content below is only a placeholder and can be replaced.--> <div style="text-align:center"> <h1> html5 http-flv player <video id="videoElement"></video> </h1> </div>
- 修改
/path/videoPlayer/app/src/app.component.ts
:
import { Component, OnInit } from '@angular/core'; import 'flv.js'; @Component({ selector: 'app-root', templateUrl: './app.component.html', styleUrls: ['./app.component.css'] }) export class AppComponent implements OnInit { title = 'app'; ngOnInit(): void { if (flvjs.isSupported()) { const videoElement = <HTMLAudioElement>document.getElementById('videoElement'); const flvPlayer = flvjs.createPlayer({ type: 'flv', url: 'http://127.0.0.1:8080/live/livestream.flv' }); flvPlayer.attachMediaElement(videoElement); flvPlayer.load(); flvPlayer.play(); } } }
- 修改
-
启动SRShtml5
$git clone https://github.com/ossrs/srs.git $cd srs/trunk $./configure $make $./objs/srs -c conf/http.flv.live.conf
srs相关内容能够去看相关wiki,极为全面node
-
使用obs或者其余软件推流git
-
确认播放地址正确,启动angular,访问页面就可以看到了。github
注意:须要使用srs 3.0版本npm
videoPlayer的代码:https://github.com/SnailTowardThesun/videoPlayerjson