「抖直播」开发技术复盘

本文介绍了开发抖直播软件的技术过程,包括使用NodeJS+Electron+VueJS技术栈,解决Electron代码加密、升级、错误捕获等问题,以及NodeJS子进程在Windows和MacOS下的ffmpeg操作,ffmpeg的打包和路由守卫的实现。后端服务采用Python编写,对接抖音接口,确保安全性并方便接口更新。
摘要由CSDN通过智能技术生成

这篇文章记录一下开发「抖直播」软件时遇到的一些技术问题,已经分享一下开发「抖直播」使用到的技术,为了避免没有我朋友圈或没看前面几篇文章的朋友蒙圈,简单介绍一下「抖直播」,它是一款可以监控抖音直播间的软件,说的技术点,就是一个桌面软件,然后对每个你需要监控的直播都启动单独的后台定时任务实现对主播的监控,如果主播录播,就开始录屏功能。

简单的技术总结(主要是变现失败了,所以分享一下也没啥关系 []~( ̄▽ ̄)~* )。

  • 技术栈:NodeJS+Electron+VueJS

  • 定时任务:NodeJS

  • 录屏:FFmpeg

  • 实时直播:XGPlayer-FLV

  • 抖音接口:APP抓包+APP逆向

Electron


Electron是基于Chromeium、Nodejs实现的桌面开发框架,基于Electron,我们可以通过HTML、CSS、JS来构建桌面应用。

Electron基础知识很多,但关键的概念就那几个,如IPC通信、渲染进程等,但如果你使用Electron开发还会遇到很多实际的问题,比如:

问:Electron如何加密保护核心业务代码,避免被轻易逆向?答:使用C++/Rust等编译后的代码 或 将核心代码放到后端服务上通过接口调用,我使用了后端接口这个方案。

问:Electron如何升级应用?答:可以使用Electron自带的update机制,这里我通过接口判断版本号,如果小于最低版本则要求其强制下载最新版本,这种形式比较粗糙,但简单,Electron自带的update机制其实挺复杂的。

问:Electron如何捕获用户端上的Bug?答:因为我前期开发使用了大量的console,所以我通过proxy机制,为console添加到请求后端接口的逻辑,而且实现所有日志的捕获。

此外,单纯使用Electron开发,效率还不太高,这里我选VueJS框架来实现Electron渲染进程中的逻辑,怎么让VueJS与Electron优雅的结合也是个问题。

这里我使用「vue-cli-plugin-electron-builder」手脚架,很多人搜索Vue+Electron会搜到「electron-vue」手脚架,这个手脚架,在19年的时候很多人用,但现在用,可能就是一个坑,因为electron-vue在github上已经很久没有更新了,而vue-cli-plugin-electron-builder还在活跃状态。

一个项目是否活跃,在前端圈,可能更为重要一些,因为前端的工具链变化实在是快,如果一个手脚架,多年未维护,可能就会出现一些问题,而我不想在这些问题上花费精力。

vue-cl

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

懒编程-二两

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值