用 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 这样的代表级应用,但这些产品背后都是有阵容豪华的技术团队的。如果是在正式的商用产品上,慎用!你要问问自己的团队有没有能力去填框架的坑,有没有能力去造轮子~

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

产品主要功能:

适用人群:

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

3899 次点击
所在节点    分享创造
29 条回复
zj9495
2020-09-25 09:33:04 +08:00
产品做的不错 帮顶~
yedaxia
2020-09-25 10:32:09 +08:00
@zj9495 谢谢支持
yuankui
2020-09-25 11:43:32 +08:00
叶大侠厉害!
wscanf
2020-09-25 19:18:00 +08:00
new!
DoctorCat
2020-09-25 20:19:16 +08:00
厉害。曾经也有类似的想法,后来想想没觉得价值多大就放弃了。祝好。
ilolita
2020-09-28 02:02:33 +08:00
看到是用 electron 搞的就没兴趣了
LeemengG
2020-09-28 10:45:22 +08:00
很好奇,这个字幕和视频内容是如何匹配上的,这么大的工作量嘛?
yedaxia
2020-09-29 09:05:05 +08:00
@LeemengG 就是一个个视频对的~
no13bus
2023-01-02 09:42:41 +08:00
@yedaxia 好奇视频是怎么拿到的?每一句台词都用 ffmg 截出上下文那段视频生成出来吗?那岂不是要存储好多视频片段?

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

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

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

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

© 2021 V2EX