web实现rtmp推流拉流(vue + nginx)

作者 : 开心源码 本文共1049个字,预计阅读时间需要3分钟 发布时间: 2022-05-13 共439人阅读

测试发现,利用html5调用摄像头可以实现,但是再进行rtmp推流就没有找到合适的方法了,而后参考网上少量直播云台,发现它们都有自己的推流拉流播放器,以网易云直播和腾讯云直播为例,它们有自己的开发包,而后客户接入它们的平台即可以二次开发了。可是我们要的是自己开发,用它们的有些还需要收费和受权码,综合考虑后,决定利用rtmp-streamer推流,用时采用腾讯云的拉流播放器(当然可以利用其它sdk,只需符合要求都行)。

先详情rtmp-streamer,它是利用flash调用摄像头和麦克风,而后内部进行rtmp推流,对flash理解者更可以根据api自己去开发自己的sdk(当然我还不会开发)。我们可以去github上下载完成的开发包,也可以用npm去下载安装,安装语句如下:

npm install rtmp-streamer –save-dev

其实rtmp-streamer可以实现推流和拉流,但是拉流效果不好,所以只用里面的推流,这样一来,用到的资源就更少了,我们只要要用到rtmp-streamer里面的RtmpStreamer.swf(可以华丽丽的把它复制到一个合适的路径下)。

先来准备html,我们需要一个object来装载推流播放器

image

注意里面的id、src,其中id最好动态生成,而src是上面swf的路径,而后在简单配置一下样式就可

接下来开发js代码,我们需要先根据id获取到embed元素,而后配置相关属性,如分辨率等,最后再填写推流地址即可以了

image

届时页面如下(推流前必需确保nginx服务器开启成功)

image

相关配置

image

允许调用摄像头

image

监控画面

是不是很简单,到这里已经实现了web推流,接下来继续去开发拉流

拉流就更简单了,我们直接用腾讯云的拉流sdk(其余sdk也可以),相关配置可以去官网查看,基本都是导入js,而后进行相关配置,最后填上拉流地址就可

html部分

image

先在首页引入js

image

而后在文档中增加视频加载器

js部分

image

简简单单即可以实现了

页面效果如下

image

填写配置

image

进行观看

这时候利用web实现rtmp推流拉流基本实现,可以继续完善系统,如增加主播权限和主播互动。

开发的路还远没有结束呢,我们的目标是利用rtmp摄像头推流到服务器,而后服务器对直播流进行侦测,如人脸检测、人脸识别和车牌识别,当然这一切都是在web基础上实现的,不依赖于桌面应用(目前我只实现了利用web调用摄像头进行人脸识别,后续再开发其余的

说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » web实现rtmp推流拉流(vue + nginx)

发表回复