用 electron 肝了个跨平台客户端:中英文台词找影片素材

2020-09-24 17:40:48 +08:00
 yedaxia

距离上个帖子一个多月了:分享一个可以通过台词找影片素材的在线工具

这个期间修复了很多问题,完善了功能,并肝了个 PC 客户端,解决了视频转码的问题。

客户端下载地址

由于个人精力有限,在选择技术方案的时候,跨平台就成了必要条件~

个人最熟悉的是 Java,JavaFX 是个很好的选择。不过 web 端已经已经用了 vue 来写,大部分页面可以直接移植到 electron 中,这个诱惑实在太大,所以决定选择 electron 。

说说 electron 的开发体验。

这个客户端主要是通过 vue + electron + ffmpeg 来完成的。

页面开发

页面开发部分和 vue 一致,热重载刷新页面,客户端开发中,页面代码编写是大头,这个开发体验深得我心,页面开发效率蹭蹭提升。相信做过移动客户端开发的同学对此深有体会,改动一点页面就要重新编译一次是得多麻烦,用过 Flutter 的同学,相信都不想再回去 Android 原生开发了。

原生部分

由于我对 nodejs 不是特别熟悉,基本就是一边用一边查文档的状态。因为 electron 有两个环境( electron 实际就是基于 Chromium 的一个 cs 架构应用),所以集成 ffmpeg 和处理耗时任务的过程遇到不少坑。

打包和更新

基于 electron 的实现原理,打出来的包都超级大。为了减少了体积,我只好把 ffmpeg 的执行文件放到服务端,然后按照不同平台进行下载,这无疑增加了复杂度~

开发环境中正常的包,打包好之后可能就不能用了;同样的代码,从 mac 切换到 windows 可能就不能正常工作了,这些坑都得填~

不过抚慰人心的是:electron 支持热更新 ! 这个特性对于客户端来说太重要了~ 让人们下载安装一个应用是如此困难重重,而卸载只是一瞬间的事情~

数据统计

我没有找到直接支持 electron 的数据统计第三方平台,后来看了一个帖子,最后是集成了 google analyse,算是曲线救国了。

差不多就这样吧,总的来说,electron 像是个极客工具,还有不少亟待解决的问题,生态还远没有起来,虽然有 vscode 、atom 这样的代表级应用,但这些产品背后都是有阵容豪华的技术团队的。如果是在正式的商用产品上,慎用!你要问问自己的团队有没有能力去填框架的坑,有没有能力去造轮子~

最后介绍一下我做的这个东西:

产品主要功能:

适用人群:

目前是邀请注册制,点击这里注册账号

4134 次点击
所在节点    分享创造
29 条回复
NOspy
2020-09-24 17:44:57 +08:00
有点意思,加油
zhangsimon
2020-09-24 18:16:51 +08:00
这个点子应该别人也想过
但 lz 执行力很强
点个赞👍
zhangsimon
2020-09-24 18:24:55 +08:00
顺便给 lz 提个建议
官网背景可以用视频介绍下
介绍语写完了,就是用你的服务从电影里剪出来这段宣传语

这样,访客就能秒懂你的服务了
whatisnew
2020-09-24 18:27:05 +08:00
这个会不会有版权的麻烦
yedaxia
2020-09-24 18:40:12 +08:00
@zhangsimon 谢谢建议
yedaxia
2020-09-24 18:43:55 +08:00
@whatisnew 会有。不过做了一些技术上的规避,在线看片是不支持的,预览是模糊版本的,只能看一两分钟~
JellyDong
2020-09-24 19:21:10 +08:00
有意思,已申请邀请码~
shianiiiu
2020-09-24 20:09:44 +08:00
nice
lxilu
2020-09-24 22:34:21 +08:00
也就是说,不能用已有的 ffmpeg……
何不 Java 做服务器用户浏览器显示前端呢?这得小多少啊
incomparable9527
2020-09-24 22:35:08 +08:00
厉害呀
lysS
2020-09-24 23:00:10 +08:00
不愧是 electron, 这么大
ansonsiva
2020-09-24 23:06:43 +08:00
应该去 b 站宣传,up 主用的多啊这功能
yedaxia
2020-09-25 00:08:44 +08:00
@lxilu 有 web 端了
yedaxia
2020-09-25 00:10:18 +08:00
@lysS 应该还有很多优化空间,先上线,问题再慢慢整~
yedaxia
2020-09-25 00:11:07 +08:00
@ansonsiva 好建议~
huiyifyj
2020-09-25 00:20:30 +08:00
windows 下 electron 的应用真的又大又卡
即使 mac 下体验还算 OK,现在我都尽量不用 electron 的
feiandxs
2020-09-25 01:08:05 +08:00
是 electron-vue,还是另外的方案?
way2explore2
2020-09-25 07:13:47 +08:00
electron + pure html + js + redux 我的

https://github.com/tim-hub/TrackersAway
THP301
2020-09-25 07:32:25 +08:00
看到 electron 就不下载了,楼主的想法不错的
lxilu
2020-09-25 08:43:38 +08:00
我是说 electron 用 Node.js ,不如自己用 Java 写本地服务器啦

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/710186

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX