前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >推荐一位B站UP主《大仙家的厨房》

推荐一位B站UP主《大仙家的厨房》

作者头像
张宏伦
发布2021-01-18 09:59:07
7680
发布2021-01-18 09:59:07
举报
出于兴趣爱好,最近开始在B站当UP主了,名称是《大仙家的厨房》,目标是通过AI自动化地实现一些视频剪辑任务。

之所以选了这样一个方向,主要是考虑到以下三点:

  • 第一,王者荣耀是目前比较热门的手游,我自己也玩,而大仙是王者荣耀的头部主播,热门手游+头部主播,可以为作品带来一定量的潜在目标观众;
  • 第二,训练模型离不开数据,视频剪辑同样依赖于大量丰富的素材资源,而大仙的游戏录播、抖音上的小视频作品等,都可以批量自动化获取;
  • 第三,游戏是一个相对受控的环境,规则、交互、事件、看点都是预先定义好的,便于挖掘一些适合自动化的环节。

先晒一下成绩,今天是成为UP主的第62天,共投稿了78个视频,包括两个频道:日常下饭、高能混剪。数据如下,还不是很多,所以希望逛B站的朋友多多支持、感激不尽~

01

素材获取

目前用到的素材主要是大仙在虎牙上的录播回放,虎牙很大方地把主播的回放都共享了出来,估计也是鼓励二次创作,访问以下链接,搜素张大仙即可。

https://v-material.huya.com

正常情况下每天对应一个页面,大概5小时左右(19:30~24:00),当然也有一天对应多个页面的情况,即这一天的直播包含多个片段。

每个页面点进去,在右下方可以找到免费下载的按钮,点击即可得到下载链接,大概长这个样子。

http://v-replay-tx.cdn.huya.com/record/ai/1259515661837-1259515661837-4682562792811659264-2519031447130-10057-A-0-1/1609847204/2021-01-05-19:46:42_2021-01-06-00:54:16.m3u8

可以看到链接中包含回放的起止时间,例如从2021-01-05-19:46:42到2021-01-06-00:54:16,并且是个m3u8,即视频流。弹窗中提示“复制链接到M3U8下载器下载”,同时贴心地给出了M3U8下载器的下载链接。

但如果你对ffmpeg熟悉的话,直接用ffmpeg即可方便地下载。ffmpeg是一款功能非常强大的命令行视频处理工具,网上相关的介绍文章很多,可以自行搜索。使用以下命令即可下载上面的m3u8,其中url为上面的m3u8,out.mp4为保存的视频文件名称。

ffmpeg -i url out.mp4

当然,上面的流程中还有很多手动的部分,例如打开某一天的直播回放页面、点击免费下载获取下载链接、在命令行使用ffmpeg下载视频等。为了干掉这些手动环节,我写了一个代码并定时运行,从而可以全自动地下载每天的录播,主要完成以下几个步骤:

  • 由于前一天的录播到第二天才能下载,所以根据当前的日期,得到前一天的日期;
  • 访问大仙的素材列表页面,按最新发布排序并遍历,找到前一天所对应的回放页面;
  • 访问回放页面,得到下载链接,并使用ffmpeg下载。

代码不复杂,主要用到os、datetime、requests、BeautifulSoup等。从2020-10-14开始,已经下载了78天的直播回放,并持续下载中,为后续的剪辑任务积累了充足的素材。

02

日常下饭

大仙在虎牙上的订阅已经超过2000W,可以说是当仁不让的王者一哥。大家看大仙的直播,一方面是学技术,另一方面更多地是喜欢看大仙挨锤,因此有了下饭、开饭了、688厨神等说法。

大仙有个日更的视频系列叫每日仙放送,会剪辑前一天直播中的高能击杀和下饭被击杀片段,不过时长较短,每次看完都有不过瘾的感觉。既然下载了每天的直播回放,所以想着不妨做一个更长更完整的日常下饭系列,口号是快速吃完一整晚的饭,不辜负每一粒米!

先看成品,这是这个频道的第一个视频,素材用的是2020-10-14的直播回放,实现的效果是自动找出回放中的被击杀片段,剪辑在一起并配上背景音乐。

为了完成以上的剪辑任务,需要解决以下几个核心问题:

  • 如何确定被击杀的时刻?
  • 找到被击杀时刻后,如何向前向后分别确定片段的起止时刻?
  • 如何拼接各个片段?
  • 如何添加背景音乐?

第一个问题可以借助OCR来解决,例如遍历整个视频,每1秒做一次OCR,因为王者荣耀中如果被击杀,会在中央区域出现您已阵亡的字样,所以通过这种方法可以比较准确地找到被击杀时刻。我用的是PaddleOCR,很容易上手,而且识别效果也还不错。

https://www.paddlepaddle.org.cn/hub/scene/ocr

第二个问题主要从音频的角度来解决。剪辑所用的素材片段应当尽可能有趣,一个可参考的点就是大仙在说话,可以是尖叫、吐槽、愤怒、憨笑等。相反的,如果一个片段中大仙始终保持沉默,那么该片段的调性就比较差,应当被舍弃。这里简单粗暴地用音量大小变化作为判断标准,实现上用了librosa,目前来看基本上可以满足需求。

第三和第四个问题都可以通过ffmpeg来解决,没错,ffmpeg就是这么强大。至于背景音乐,我预先准备了几首,合成的时候随机选择即可。

拼接多个片段,将每个片段的路径按以下格式写入txt。

file 'video1.mp4'

file 'video2.mp4'

file 'video3.mp4'

然后使用以下命令,-y表示如果结果视频存在则覆盖,paths.txt表示上面的txt文件,out.mp4为拼接结果,-loglevel quiet表示不打印日志,因为强迫症看了难受。当然,如果得不到预期结果,还是得打印日志看看问题出在哪。

ffmpeg -y -f concat -i paths.txt -c copy out.mp4 -loglevel quiet

给纯视频加音频:

ffmpeg -y -i video.mp4 -i audio.mp3 -vcodec copy out.mp4

给带音频的视频加音频:

ffmpeg -y -i video.mp4 -i audio.mp3 -c:v copy -filter_complex "[0:a]aformat=fltp:44100:stereo,apad[0a];[1]aformat=fltp:44100:stereo,volume=1.5[1a];[0a][1a]amerge[a]" -map 0:v -map "[a]" -ac 2 out.mp4

以上就是实现日常下饭剪辑任务所需的全部知识点,目前该频道已经更新了77个视频,喜欢看大仙做饭的童鞋可以看个痛快了。

在下一篇文章中,我将介绍高能混剪所实现的剪辑任务,以及相应的知识点和实现细节,敬请期待。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-01-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 宏伦工作室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云直播
云直播(Cloud Streaming Services,CSS)为您提供极速、稳定、专业的云端直播处理服务,根据业务的不同直播场景需求,云直播提供了标准直播、快直播、云导播台三种服务,分别针对大规模实时观看、超低延时直播、便捷云端导播的场景,配合腾讯云视立方·直播 SDK,为您提供一站式的音视频直播解决方案。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档