我摊牌了!我用Python帮B站的小姐姐配好看的字幕!

25 篇文章 1 订阅

图片

对于很多B站的忠实小伙伴们来说,在B站上看各个Up主们为大家分享各种内容是一件非常幸福的事情,可是大家也会遇到视频中没有提供弹幕的尴尬局面,比如大家在B站看小姐姐的时候,经常会遇到没有字幕的情况,这种听不清小姐姐说什么,又没有弹幕加以解释的情况,会很别扭~~

 

因此,小编今天就带领大家来为B站的小姐姐们配上好看的字幕,让大家在欣赏小姐姐的同时也能有字幕的陪伴。

 

00.整体的思路如下:

 

01.视频下载及音频处理

首先,我们要选定我们想要添加字幕的视频,然后,将视频下载到本地,这里下载B站视频方式有很多,比如可以利用Chrome浏览器的插件《bilibili哔哩哔哩下载助手》来进行视频的下载。将视频下载完成后,我们就可以提取视频中的音频数据,这里可以利用moivepy这个库来进行处理,一行代码即可搞定。程序如下:

 

audio = AudioFileClip("video.flv").write_audiofile("audio.mp3")

上述的程序中,利用AudioFileClip来提取视频中的音频信息,然后保存到本地的音频文件中即可。以上我们便提取完成了音频。

 

02.音频转字幕文件

有的小伙伴可能会疑惑,为什么要提取音频数据呢,这是因为我们要利用技术来将我们听不清的音频转成文字,我们虽然听的不清楚,但是利用技术可以帮助我们很好的“听音识字”。对于处理好的音频,我们可以利用下面的网站,进行音频到字幕文件的转换

网址:https://aismartvip.com/

很多人学习python,不知道从何学起。
很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手。
很多已经做案例的人,却不知道如何去学习更加高深的知识。
那么针对这三类人,我给大家提供一个好的学习平台,免费领取视频教程,电子书籍,以及课程的源代码!
QQ群:810735403

大家可以按照上述的操作,点击上传音频,然后按照自己的喜好设置任务的名称,最后点击开始上传,网页会自动进行语音的识别,并转换成字幕文件。这里为什么要转换为字幕文件呢,因为字幕文件中带有时间,我们可以根据时间信息,来设定弹幕的发送时间。

转换完成后,大家还可以进行字幕的完善,包括时间的调整,字幕文字的更改和时间段的增加或者删除。修改完成后,大家就可以直接下载字幕文件了,生成的字幕文件如下图所示。

生成的字幕文件中,分别包含了字幕的序号,还有每个字幕的时间段以及字幕的内容,接下来就是如何将字幕文件发送到B站视频上去了。

 

03.发送弹幕

对于弹幕的发送,这里我们利用的是bilibili_api库,注意,小编使用的是1.0.0版本的,由于bilibili_api库更新的非常快,而且不同版本之间兼容性不是特别好,所以要想运行下面的程序且不出错误的话,需要大家安装1.0.0版本的bilibili_api库。安装方式也很简单,只需要pip install bilibili-api==1.0.0即可完成安装。

01).首先,需要将弹幕文件处理为列表形式,而列表中的元素是“(时间,弹幕内容)”的元组形式。程序如下图所示:

上述的程序中,首先读入字幕文件,然后按照弹幕文件的行号,来进行处理,如果是时间,那么就处理成相应的时间格式,如果是弹幕内容,则直接放入到元组中。

 

02).处理好字幕文件后,接下来就可以发送弹幕了,对于弹幕,我们需要设置一个弹幕类对象,它的要求如下所示:

这里需要重点关注四个参数,分别是text,表示弹幕的内容,dm_time表示的是弹幕出现的时间,这两个内容我们已经在上面的弹幕文件处理中设置完成,然后是mode参数,指定的是弹幕在屏幕中的位置是哪里,而font_size指定的就是弹幕的大小。弹幕的发送程序如下所示:

 

上述程序中的sessdata和csrf是用来进行身份验证的信息,程序首先初始化一个VideoOperator类,用来向视频发送弹幕,而发送的弹幕信息则是通过构造Danmaku类来进行实现。需要注意的是,这里要间隔一定的时间才能进行弹幕的发送,否则会被检测为刷屏而不允许发弹幕。间隔时间的话,在20秒以上最为稳妥。

 

03).如何获取key,这里的sessdata和csrf该如何获取呢?

 

大家点击想要添加字幕的视频页面,点击左上方的小锁,然后点击Cookie后,找到右边的SESSDATA和bili_jct,这两个cookie下的“内容”就是我们需要的sessdata和csrf信息。

在这里还是要推荐下我自己建的Python开发交流学习(qq)群:810735403,群里都是学Python开发的,如果你正在学习Python ,欢迎你加入,大家都是软件开发党,不定期分享干货(只有Python软件开发相关的),包括我自己整理的一份2021最新的Python进阶资料和高级开发教程,欢迎进阶中和想深入Python的小伙伴!

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值