obs+node-media-server+flv.js实现录播和直播

实现思路

下载obs软件,进行视频的录制

通过node-media-server开启一个服务,在obs中推流到该服务器

通过flv.js配合html5的video标签实现node-media-server中视频源的播放

开始实现

obs的使用

obs的下载请移步官网,有windows, mac, linux 三个平台的版本可供下载

我这里使用的是mac版,其他版本的使用应该也差不多

首先需要新建一个场景

新建场景.png

这里有很多种场景可以使用,我用显示捕获来示范一下吧...

新建场景.png

可以对场景进行命名,我直接使用默认的名字,点击确定

新建场景.png

再次点击确定,这个时候场景就创建成功了,拖动场景可以将场景进行缩放,缩放到遮住黑色的背景就好了

缩放场景.png

推流

视频的本质其实是一张张截下来的图片,我们需要将这一张张图片放到一个地方,然后前端就可以从这个地方读取,从而展示出来,因此在这之前我们需要开启一个服务,作为前端获取视频的源地址

node-media-server开启服务

新建一个空白的文件夹,执行npm init, 根据提示输入相关信息后,下载node-media-server

npm install node-media-server --save

新建一个入口文件index.js

constNodeMediaServer=require('node-media-server');constconfig={rtmp:{port:1935,chunk_size:60000,gop_cache:true,ping:60,ping_timeout:30},http:{port:8000,allow_origin:'*'}};varnms=newNodeMediaServer(config)nms.run();

然后在命令行中执行

node index.js

如果看到下面的提示,表示我们已经成功开启node-media-server服务了

开启服务.png

flv.js

flv.js是来自Bilibli的开源项目。它解析FLV文件喂给原生HTML5 Video标签播放音视频数据,使浏览器在不借助Flash的情况下播放FLV成为可能。具体的介绍请自行google哈,继续刚才的项目

新建一个index.html文件

<!DOCTYPE html><html><head><metacharset="UTF-8"><title>直播</title></head><body><scriptsrc="https://cdn.bootcss.com/flv.js/1.4.0/flv.min.js"></script><videoid="videoElement"width="100%"controls></video><script>if (flvjs.isSupported()) {          var videoElement = document.getElementById('videoElement');          var flvPlayer = flvjs.createPlayer({              type: 'flv',              url: 'http://localhost:8000/live/hello.flv'          });          flvPlayer.attachMediaElement(videoElement);          flvPlayer.load();          flvPlayer.play();      }</script></body></html>

这里遇到了一个坑,可能是mac的原因,默认视频是没有自动播放的,而且一开始video标签我也没有加上controls,所以网页上一直显示的是一张静态的图片,偶然才发现原来是视频处于暂停状态 =_=!!

可以进行录播啦~

点击obs中的设置,进入设置页面,点击流,如果是在本地直播的话,流类型选择自定义流媒体服务器,url填写如图所示,流名称填写index.html设置的名字,本项目是hello

我们也可以通过bilibili等直播平台进行播放,这里就填写你bilibili上的直播链接和名称

image.png

点击obs的开始推流按钮

image.png

这时双击在浏览器打开index.html就可以看到直播啦,记得点击视频下方的开始按钮~

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,744评论 6 502
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,505评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,105评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,242评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,269评论 6 389
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,215评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,096评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,939评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,354评论 1 311
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,573评论 2 333
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,745评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,448评论 5 344
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,048评论 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,683评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,838评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,776评论 2 369
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,652评论 2 354

推荐阅读更多精彩内容