前言

最近对一些小细节做了很多处理,但是其实还是有非常多的问题,没办法时间毕竟时间有限。为什么在这个时候开源,因为主要功能可以全部跑通了,分支暂时没开发的功能也可以通过其他的工具来替代。

这个工具开发初衷(想法来源),我之前有一篇文章有详细的说明,有兴趣的可以看一下https://mp.weixin.qq.com/s/5o3Oioh6ktX1QOWHVuIqXg

整体技术栈

  • electron 来做跨端

    目前在win10和mac(intel和M系列)都可以跑起来,win11和linux系统暂时没测试。

    当时差点选了tauri,主要考虑自己业余来做,时间没那么多,后来就又选择了electron,时间上相对来说可控一些。
  • vite+vue3+naive-ui

    我自己和在公司都主要使用vue3,所以这里选择了自己最上手的,然后UI的话,用够了element-plus,所以这里尝尝naive-ui
  • sqlite3数据库

    我这里的是一个客户端工具,很多数据都存到了数据库,更方便的管理数据
  • 打包:暂时使用 github的 action钩子,可以跑起来,但是打包出来的 window和mac客户端还存在问题(有时间再看看能不能解决)
  • yt-dlp

    这是一个开源项目;https://github.com/yt-dlp/yt-dlp

    现在拥有71.9k star,是一个功能丰富的命令行音频/视频下载器,支持数千个站点。该项目是基于现在不活跃的 youtube-dlc 的 youtube-dl 的一个分支。

这里我只测试了youtobe平台,其他平台待有时间再进行测试。

  • ffmpeg

    通过ffmpeg来获取下载视频中的图片,然后通过python来进行去重处理
  • mdnice

    一个不错的markdown 博客写作平台,我暂时简单对接了这个平台,主要是使用它的图床功能。

整体功能介绍



根据上图其实可以很清晰的了解我小项目的整体功能,下面简单说一下如何使用。

  • 1、输入youtobe视频链接或视频地址
  • 2、点击获取视频字幕文件(可选择下载视频与否)
  • 3、下载完毕后,应该会选中左侧当前的视频(可查看是否存在字幕文件)

  • 4、存在字幕的情况下,右键字幕

  • 5、可复制字幕和转换的prompt

    这里我直接复制给了谷歌的gemini最新的flash模型



100多秒钟生成完毕

  • 6、可以直接复制生成后的markdown文本到我客户端的富文本编辑器中来

复制过来后,可以顺便点一下右上角的保存,免得信息丢失的问题。

  • 7、在富文本中,找到目录右键

这里的目录,主要是通过我的prompt来生成的,其中目录上最重要的就是时间戳的时间区间,因为我要通过这个时间区间来取视频中的图片,如果没有时间戳区间,右键是没效果的

  • 8、点击获取图片后,第一次是要扫码确认身份的

这里我为了省事,暂时我对接了https://mdnice.com/,因为对我这个客户端来说直接应用起来还是非常方便的,所以你暂时可以不用担心数据问题。如果后期真有需求,我也可以对接其他的平台,或者完全的自建平台,好了吹牛逼有点过了。

  • 9、扫码确认身份之后,便开始获取图片,并进行图片的去重

如果要将图片添加到笔记之中

  • 10、选中复选框即可,可以多选,选完之后点击确定

    此处图片可以点击进行放大查看,在预览区也可进行查看放大图片,有时候小图可能看不清楚。

  • 11、然后调整图片在富文本中显示的位置

右侧就会进行预览显示,同时没事的时候可以点击右上角的保存。防止数据丢失。

  • 12、最后可以全选编辑区的markdown内容

    直接复制到对应的平台或者通过markdown转换为html文档。

    说到这里其实可以加个按钮,方便拷贝内容。

目前现存的主要问题

  • 没有对接AI,暂时是通过拷贝到AI相关的客户端得出结果后,再拷贝回来保存。

  • whisper还没对接,主要是研究了一段时间发现了很多问题吧,后期有时间还会继续研究,对python的各种使用还要继续深入才行。

  • 图片上传暂时对接的mdnice,主要是上传图片大小有2M的限制。

  • 图片去重的效果还待继续验证。

  • 如果是想英译汉活着汉译英,暂时也没对接AI的API。

  • sqlite数据库初始化问题未处理

    每次数据库相当于我本地打包进去的,应该要跟随客户本地进行独立升级。

未来还可以优化的点

  • whisper还没做好,同时可考虑本地直接上传视频
  • 翻译功能还是非常有必要的
  • 数据库:现在是手写sql看后面替换为模型驱动
  • 数据库变更和初始化问题解决
  • 自动化编译静态文件拷贝有问题
  • 感觉首次启动很慢白屏的问题
  • 生成的图片进行压缩处理
  • 图片也可以考虑整个视频一起去重(估计很慢)
  • 自动化同步到某平台
  • 后期AI可对接到Gemini,以及其他某些AI平台,例如claude3或kimi等
  • 暂时只支持中文版本,后期可以加上多语言切换(主要以中英为主)
  • 下载视频进度、图片处理进度、AI调用进度、翻译进度等
  • 对yt-dlp还可以继续深入学习,目前知识让程序能跑起来了
  • ffmpeg也是同理
  • 等等等等,小的细节我已经处理了很多,感觉还有非常多的优化点
  • 其实第二个版本优化我也想好了(emo......)

总结

想法再多,我还是动起来了,过程中其实遇到了非常多的问题,自己也一个一个的攻克了,因为真的是有很多的东西都要去学习,任何一个没搞定,可能就放弃了。

其实从最开始写第一行代码,我就开源了,只是当时肯定没人知道吧。前段时间刚好被一位超级网友[有为却繁星]看到,他简单的帮我分享了一下,然后收获了非常不错的star数,就如同上面的截图,大部分都来自于他的分享,在此非常的感谢。

好了,最后还是贴上我的开源项目地址:

https://github.com/aehyok/video2blog

video2blog 视频转图文AI小工具正式开源啦的更多相关文章

  1. 阿里 Mock 工具正式开源,干掉市面上所有 Mock 工具!

    最近栈长注意到阿里开源了自家的 Mock 工具:TestableMock,该工具号称最轻量.简单.舒适的 Mock 测试工具,功能十分强大,媲美 PowerMock,用法比 Mockito 还要简洁, ...

  2. Javacv 音视频小工具 - 下载抖音视频

    一.前言 大家好,俗话说的好,学习新的知识后要学以致用,在学习音视频的过程中,你有没有疑问,不知道音视频可以用来做什么.下面举几个例子,比较耳熟能详,被吹到风口的一些场景有:AI 视觉计算, AI 人 ...

  3. Python小工具:利用ffmpy3库3秒钟将视频转换为音频

    作者 | pk 哥 来源公众号 | Python知识圈(ID:PythonCircle) 最近,有读者微信上私聊我,想让我写一篇视频批量转换成音频的文章,我答应了,周末宅家里把这个小工具做出来了. 这 ...

  4. 【小工具系列】Python + OpenCV 图片序列转换成视频

    图片序列转换成视频 最近一直在找一个工具,能够将一堆图片转化成视频.网上找了一些小软件,还有 win10 的照片自带的视频制作功能,都不是很满意. 又不想下载那些专业的视频剪辑软件大材小用. 然后找到 ...

  5. 开源一个自动整理B站UWP客户端软件进行批量下载的视频文件的小工具BiliVideosReoganizeHelper​

    ​ 大家都知道B站是一个很受欢迎的视频学习网站,上面有很多无私的up主上传了大量优秀的教学视频,在此向B站致敬,向广大UP主致敬. 有时,我们需要下载收藏一些视频,以防止以后找不到了.那么我们可以用B ...

  6. C#开发微信门户及应用(19)-微信企业号的消息发送(文本、图片、文件、语音、视频、图文消息等)

    我们知道,企业号主要是面向企业需求而生的,因此内部消息的交流显得非常重要,而且发送.回复消息数量应该很可观,对于大企业尤其如此,因此可以结合企业号实现内部消息的交流.企业号具有关注安全.消息无限制等特 ...

  7. 用C#Winform写个简单的批量清空文件内容和删除文件的小工具

    用C#Winform写个简单的批量清空文件内容和删除文件的小工具 本文介绍这个简单得不能再简单的小项目.做这个项目,有以下目的. 1 当然是做个能用的工具 2 学习使用Github 关于用VS2013 ...

  8. 微信小程序正式上线 可置于聊天窗口顶部

    历经一年的等待后,小程序在2017年1月9日凌晨终于揭开神秘面纱,正式上线. 微信小程序推广海报 随着小程序正式上线,用户现在可以通过二维码.搜索等方式体验到开发者们开发的小程序了. 用户只要将微信更 ...

  9. 2014年Windows平台软件推荐:神器小工具(骨灰级

    原文  http://www.wtoutiao.com/a/120621.html 底层工具 “If you know how to use Process Monitor competently, ...

  10. 推荐几个我一直在使用chrome小工具(上)

    我用的chrome插件挺多的,所谓工欲善其事必先利其器,我热衷于搜寻好用的工具来让我平时的工作事半功倍. 以下介绍几款我正在用的感觉还不错的插件,假设大家还有其他好用的(肯定有,chrome插件库太庞 ...

随机推荐

  1. 重新整理数据结构与算法(c#)——算法套路迪杰斯特拉算法[三十一]

    前言 迪杰斯特拉算法 是求最短路径方法的其中一种,这个有什么作用呢? 有一张图: 假设求G点到其他各点的最小路径. 是这样来的. 比如找到了和G点相连接所有点,ABED.这时候确定GA是一定是最短的, ...

  2. git fork 项目的更新

    fork:github网站的操作,将开源项目复制一份到自己的仓库中 那fork的项目在原仓库更新后,如何同步呢? 1.查看远程仓库 $ git remote -v origin https://cod ...

  3. 力扣2(java&python)-两数相加(中等)

    题目: 给你两个 非空 的链表,表示两个非负的整数.它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字. 请你将两个数相加,并以相同形式返回一个表示和的链表. 你可以假设除了数 ...

  4. 力扣32(java)-最长有效括号(困难)

    题目: 给你一个只包含 '(' 和 ')' 的字符串,找出最长有效(格式正确且连续)括号子串的长度. 示例 1: 输入:s = "(()"输出:2解释:最长有效括号子串是 &quo ...

  5. ECharts海量数据渲染解决卡顿的4种方式

    场景 周五进行需求评审的时候: 出现了一个图表,本身一个图表本没有什么稀奇的: 可是产品经理在图表的上的备注,让我觉得这个事情并不简单: 那个图表的时间跨度可以是月,年,而且时间间隔很短: 这让我意识 ...

  6. 一文读懂 BizDevOps:数字化转型下的技术破局

    简介: 目标.方法与实践. 我们正迈向数字经济时代,数字化转型成为普遍行动.未来绝大多数业务都将运行在数字基座之上,软件系统成为业务创新和发展的核心引擎.在这一趋势下,产品研发的交付能力面临巨大挑战, ...

  7. 项目实战总结以及接入U-APM

    ​简介: 导致 App 性能低下的原因有很多,除去设备硬件和软件的外部因素,其中大部分是开发者错误地使用线.系统函数.编程范式.数据结构等导致的.即便是较有经验的程序员,也很难在开发时就能避免所有导致 ...

  8. 基于MaxCompute+开放搜索的电商、零售行业搜索开发实践

    ​简介: 搜索一直是电商行业流量来源的核心入口之一,如何搭建电商行业搜索并提升搜索效果,一直是电商行业开发者努力攻克的难题.基于传统数据库或开源引擎虽然能够搭建基础搜索服务,但随着商品数据的增多和业务 ...

  9. IphoneX(10) 重启/关机, 强制重启/关机

    正常关机是同时长按 音量+ 和 右侧电源键,屏幕出现滑动按钮进行关机. 注意截图是同时短按 音量+ 和 右侧电源键. 强制关机是按照顺序按三个键:音量+   音量-  长按右侧键 Other:苹果X怎 ...

  10. dotnet C# 根据椭圆长度和宽度和旋转角计算出椭圆中心点的方法

    本文来告诉大家如何根据椭圆长度和宽度和旋转角计算出椭圆中心点的方法 方法很简单,请看代码 /// <summary> /// 辅助进行椭圆点计算的类 /// </summary> ...