录制

简述B站直播的录制流程

2016-05-30  本文已影响0人  Ficko

Edited by Ficko

因为学习的原因,本菜在近些时候可能没有时间去录B站一些大大的绘画视频了,因此我决定将我的各种流程,包括录制,处理,上传的流程和注意事项,全部分享出来,希望有热心的同♂志能够当接盘侠活雷锋~

闲话少说。


前期软件准备(点击前往下载):


直播间监视

注:理解以下操作可能需要一些基础的网络知识,具体讲解可在文章最后的「注释」一节看到。当然,如果对理论知识没有兴趣的话,直接按照下面的操作来设置也没有任何的问题。

由于B站并没有提供直播提醒,因此我们暂时只能靠人工值守来完成。不过我们也不能每隔几分钟刷一下B站吧……这样也不现实。因此我们需要这个Distill插件来辅助我们监视直播间的动态。

Distill支持多种浏览器,我们以Chrome为例。

0.事先要安装好Distill插件。

1.首先找到画师的ID。(以kaze为例,他的ID是80529)

QQ截图20160531183019.png

2.按照以下格式组成链接:

http://live.bilibili.com/bili/isliving/ + UP主ID

注意!!是「UP主ID」而非「房间号」!!本菜曾经将其弄混,出了大问题。

举例说明,kaze所得到的链接为:

http://space.bilibili.com/80529

3.将链接复制进浏览器,回车。点击Distill插件,选择Monitor Whole Page

4.点击Open Selector

5.进入新的界面,在Text Filter 中填入以下规则:

^.{32}

然后点击Save Selections

6.回到先前的设置界面,我们再输入项目名称,刷新时间,其他的选项都按照图中的设置即可,最后点击保存。

大功告成!

此时我们只要是开着浏览器,插件就会每隔30秒检查一次,一旦直播间有变化,便会弹窗提醒。

【注意:有时候服务器会抽风,导致虚报漏报。不过这样的情况并不常见,还在可接受范围内。】

录制

当我们知道某位画师开始直播后,接下来就开始准备录屏了。

我们使用BiliRoku进行录屏。

BiliRoku有若干版本。根据本人的摸索,得出了以下规则:

因此,如果你需要离开电脑无人值守的话,建议用1.4.0;其他大部分情况下还是建议用1.3.1

软件界面也很简单,输入房间号,点击开始录制即可,软件会在后台录制,直至结束。

此时我们就可以将软件最小化,放在一边继续干别的事情。

转码(供编辑用)

录制好之后,我们会得到一个FLV文件,类似下图:

FLV文件

接下来我们酌情对生成的视频进行处理。

因为现有的视频编辑软件对FLV格式的视频的支持并不好,因此我们需要事先使用MediaCoder将其粗略转码为MP4格式,供进一步编辑使用。

具体参数设置如下:

1.视频参数-->复制视频流

视频参数

2.音频-->复制音频流

音频参数

3.容器-->MP4

容器参数

4.画面-->分辨率-->原始

画面参数

设置好参数后,①将FLV文件拖入软件内,②设置好输出路径,然后③点START就OK了!

效果

几乎用不了一分钟,我们就能得到格式转换好的文件。MP4格式能够在各主流视频编辑软件中进行编辑,具体可以参考下一节「编辑」内容。

结果

编辑

【注意:下图的Bitrate「码率」在应付720P的分辨率视频的时候尚可,若直播是以1080P的分辨率进行的话,建议将该参数调至1500-1800】

选择结果保存的名称和保存的位置

保存好后,点击开始,然后静待转码的完成。

转码完成!和之前的大小(69.9MB)相比较,是不是文件小了很多?

转码(供存档用)

如果你认为录制的FLV视频无须剪辑只须压缩,或者通过剪辑软件得到的视频文件还是太大,请接着往下看。

我们将用到「小丸工具箱」。

将文件拖入图中箭头所指的位置,然后将模式设置为CRF,参数调一般设置为22-24(数字越大,体积越小,但是画质越渣)。在此我们设为23 。设置好后直接点压制 即可。

转码完之后就可以上传分享啦!

=== END ===



注释

在讲解Distill插件之前,我需要先向大家解释一个原理:

(实在看不懂也没关系= =||,可以直接跳过)

我们利用B站API返回的结果来判断直播间是否在直播,具体链接如下:

http://live.bilibili.com/bili/isliving/ + UP主ID

举例说明,比如我想知道kaze233是否在直播,而我知道他的ID是80529 ,因此我们向浏览器输入链接:

http://live.bilibili.com/bili/isliving/80529

返回的结果如下:

img

而这个时候kaze233确实在直播。

此时我又想知道sola(ID为141309)是否在直播,于是我们输入:

http://live.bilibili.com/bili/isliving/141309

返回的结果如下:

QQ截图20160531183643.png

此时sola并不在直播间。


我们来比较一下返回的结果:

({"code":0,"msg":"","data":{"url":"http:\/\/live.bilibili.com\/11448","title":"kaze\u7684\u5c0f\u6811\u7a9d","cover":"http:\/\/i2.hdslb.com\/u_user\/454854eb2b80487e2a946b04061be827.jpg","online":114}});

({"code":0,"msg":"","data":""});

少了很多信息。

那么,我们只需要监测返回的信息改变,即可知道直播间是不是有人进来/离开。


但是,不要忘记在直播的时候,在线人数也是在时刻变化的。如果仅仅将信息发生「变化」作为判定条件的话,只要一直播,提示信息就会不停的响起(人数一直在变)。

因此,后面的那一部分「在线人数」online 信息,我们直接剔除掉就行了。

「Distill Web Monitor」支持正则表达式,因此我们只需写个规则,只截取前面的一部分就够了。

规则如下:

^.{32}

意思就是,从前数,数任意32个字符(换行符除外),从这里掐断。

于是在不同情况下会得到:

({"code":0,"msg":"","data":""});   #未直播
({"code":0,"msg":"","data":{"url   #正在直播

仔细看还是有差别的~

我们便利用这个差别,对直播间进行监视。

上一篇 下一篇

猜你喜欢

热点阅读