关于https下通过flv.js播放flv视频流解决方案
-
背景
由于需要在网页端无插件播放rtmp视频流,采用ffmpeg+nginx-http-flv-module+flv.js解决方案。后来网页端改成https访问方式,导致flv视频流也需要是https,否则会无法访问。
-
环境
Ubuntu系统的华为云服务器、ssl认证证书、nginx
-
解决方案
原先的视频流是http,现在需要使用https也能访问,我的解决方案是使用nginx代理来实现。
- 在ubuntu中搭建nginx环境,需要添加nginx-http-flv-module模块,然后重新编译nginx,具体操作可以见博文:https://blog.****.net/string_kai/article/details/100598268。
- 准备好认证过的ssl证书,之前我尝试过使用自己生成ssl证书,虽然可以访问,但是会提示“您的连接不是私密连接”,需要手动点击继续前往,这样对于客户来说是不可行的。
- 找到刚才安装的nginx配置文件nginx.conf,打开进行编辑,如下图所示:
当网页端通过https访问端口8002时,nginx就会将它转到另一个地址,即图中的http地址,这样就可以获取到原先的视频 流数据了。
5.保存配置文件,重新启动nginx即可生效。
6.接下来修改网页端获取视频流的代码,如下所示:
7.通过obs 软件向rtmp://xxxxxxxxx/myapp/mydemo地址推流,然后打开上面的网页,即可加载出视频。