标签 ffmpeg 下的文章

视频点此

很早的时候,我曾经出过一期内容关于如何用ffmpeg保存b站的直播,但是前些日子有朋友跟我反应说现在会403了。想想也很正常,毕竟如果都那样做的话,主播就没有人气了。但是b站直播现在并没有回放功能,所以我如果想保存的话要怎么办呢?那今天给出一个可以算是两全其美的办法 既可以保存下来直播的内容,又不会影响主播真实的人气。

其实方法很简单,但是我很纳闷为什么一直就没有人会想到这个方法。总共就三个步骤。

首先在主播的直播间页面打开万能的f12。所以推荐使用chrome浏览器完成。

切换到network标签,刷新一下。

会有一个一直在请求的项目,复制这个项目的地址到地址栏,回车。

好了,弹出下载对话框了,选择一个位置保存吧。

究其原因,403是请求被拒绝,那原因可能就在于现在加入了请求来源的认证,必须是你已经登陆的用户或者说浏览器访问,所以浏览器可以下载保存。也正因此如果用迅雷之类的下载软件的话可能就不能完成这操作的了。

这个优势和使用之前的ffmpeg一样,不会因为主播或自己的网络问题导致录屏卡顿。同时因为这种下载的本质就是在看直播,只不过是不发弹幕不刷礼物的看直播,所以主播的观看人数可以保证,但人气会受到影响。所以能看直播还是直接看直播吧,这是对主播最直接的支持。

相比ffmpeg,这种方法避免了命令行操作,所以使用上来讲会更简单。但是简单的同时,这种因为需要手动操作,所以不能做到ffmpeg可以实现的定时录制。

同时,和ffmpeg一样,你并不能保存弹幕。

那如果想要定时录制的话,还是需要用ffmpeg。那因为现在加入了认证,所以我们需要把认证伪装成浏览器。换句话说,需要正经的请求头。但是毕竟加上了认证,说明ffmpeg拉流确实会有利益和版权之类的问题,所以我就不再细说了,只给出一个小提示:ffmpeg加请求头的参数是-header,至于怎么用就不要再问我了。

直播推流是离不开ffmpeg组件的。尤其像我这种全天推电视剧的直播间。而我不可能一直在我的电脑上开着直播(这不现实),所以我需要一台最基本的服务器来维持它。而一般的服务器默认都是配置CentOS系统的。而且推流也不是什么需要保证稳定的东西,因此通过yum直接安装是最省时省力的。但是CentOS默认的源中没有该组件。因此需要自行进行一些配置才可以。

1、安装EPEL Release

因为安装需要使用其他的repo源,所以需要EPEL支持

yum install -y epel-release

如果出现缺少Code提示,可以:
sudo rpm –import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7

安装完成之后,可以查看是否安装成功:

yum repolist

2、导入一个Code

这一步可能不成功(提示404找不到文件),但是根据我的测试来看,对之后好像没什么影响。

rpm –import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro

3、安装nux-dextop 源

rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-1.el7.nux.noarch.rpm

可以通过 yum repolist 查看repo源,看是否安装成功

4、安装ffmpeg

yum install -y ffmpeg

完成。可以通过 ffmpeg -version 检查版本信息。