Edited by Ficko
因为学习的原因,本菜在近些时候可能没有时间去录B站一些大大的绘画视频了,因此我决定将我的各种流程,包括录制,处理,上传的流程和注意事项,全部分享出来,希望有热心的同♂志能够当接盘侠活雷锋~
闲话少说。
前期软件准备(点击前往下载):
- Chrome/Firefox/Opera 浏览器
- Distill Web Monitor (Chrome 插件)
- BiliRoku
- Media Coder
- 小丸工具箱
- Camatasia Studio / Premiere
直播间监视
注:理解以下操作可能需要一些基础的网络知识,具体讲解可在文章最后的「注释」一节看到。当然,如果对理论知识没有兴趣的话,直接按照下面的操作来设置也没有任何的问题。
由于B站并没有提供直播提醒,因此我们暂时只能靠人工值守来完成。不过我们也不能每隔几分钟刷一下B站吧……这样也不现实。因此我们需要这个Distill插件来辅助我们监视直播间的动态。
Distill支持多种浏览器,我们以Chrome为例。
0.事先要安装好Distill插件。
1.首先找到画师的ID。(以kaze为例,他的ID是80529)
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版本性能稳定,目前还没有遇到卡死的情况。缺点是没有监测直播间的功能,需要手动点击录制。一旦画师中途停止直播又再次开直播,软件直接在中途停止的位置停掉,不会自动录制第二次的直播,也不会有提示。
因此,如果你需要离开电脑无人值守的话,建议用1.4.0;其他大部分情况下还是建议用1.3.1。
软件界面也很简单,输入房间号,点击开始录制即可,软件会在后台录制,直至结束。
此时我们就可以将软件最小化,放在一边继续干别的事情。
转码(供编辑用)
录制好之后,我们会得到一个FLV文件,类似下图:
接下来我们酌情对生成的视频进行处理。
- 如果画师本身一直没闲着,那么我们可以直接将这个FLV文件压缩为MP4格式存档即可,具体请直接跳到「转码(供存档用)」这一节。
- 如果你认为录制的内容中存在「画师中途休息了一段时间」「画师绘制的太慢,想调快一些」等情况,想把某一段给删掉,那么请往下看:
因为现有的视频编辑软件对FLV格式的视频的支持并不好,因此我们需要事先使用MediaCoder将其粗略转码为MP4格式,供进一步编辑使用。
具体参数设置如下:
1.视频参数
-->复制视频流
2.音频
-->复制音频流
3.容器
-->MP4
4.画面
-->分辨率
-->原始
设置好参数后,①将FLV文件拖入软件内,②设置好输出路径
,然后③点START
就OK了!
几乎用不了一分钟,我们就能得到格式转换好的文件。MP4格式能够在各主流视频编辑软件中进行编辑,具体可以参考下一节「编辑」内容。
编辑
如果你之前曾经接触过视频编辑软件(如Premiere)那么这一节可以略过。
-
如果以前未接触过类似的软件,那么我推荐使用Camtasia Studio进行编辑。
Camtasia Studio(下文称CS)自身也是一款功能十分强大的录屏工具,自身带有视频编辑功能。
我们将上面转码好的MP4文件拖入CS。
将视频拖入时间轨道
选择
Recording Dimensions
「原始录制分辨率」
现在我们就能够使用CS对视频进行编辑了。简单的功能如下:
当我们剪辑好之后,选择
Produce and Share
旁边的下三角,选择另外一个Produce and Share...
具体的参数请调节如下:
【注意:下图的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
返回的结果如下:
而这个时候kaze233确实在直播。
此时我又想知道sola(ID为
141309
)是否在直播,于是我们输入:
http://live.bilibili.com/bili/isliving/141309
返回的结果如下:
此时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 #正在直播
仔细看还是有差别的~
我们便利用这个差别,对直播间进行监视。