video2blog 视频转图文AI小工具正式开源啦

news/2024/11/15 1:02:44/文章来源:https://www.cnblogs.com/aehyok/p/18203197

前言

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

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

整体技术栈

video2blog-tech.excalidraw

  • 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 博客写作平台,我暂时简单对接了这个平台,主要是使用它的图床功能。

整体功能介绍

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

image

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

image

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

image

  • 5、可复制字幕和转换的prompt
    这里我直接复制给了谷歌的gemini最新的flash模型

image
100多秒钟生成完毕

image

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

image

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

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

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

image

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

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

image

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

image

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

  • 10、选中复选框即可,可以多选,选完之后点击确定
    此处图片可以点击进行放大查看,在预览区也可进行查看放大图片,有时候小图可能看不清楚。

image

  • 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......)

总结

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

image

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/709870.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

组策略和bginfo

简介 很多的IT管理员都希望终端操作用户达到一个计算机脱盲的水平,但是理想很丰满,现实很骨感。人生不如事十之八九。 终端用户真的一言难尽。 简单的帮我们看一下CPU,内存,IP地址,这些基础信息,他们做不到。 好在微软发布了bginfo这个软件,BgInfo - Sysinternals | Mic…

css小三角文字平移加旋转

<view class="sanjiao"><view class="slanted-text">饿了么</view></view> /* 三角 */ .sanjiao {width: 0;height: 0;border-left: 40px solid transparent;border-right: 40px solid red;border-bottom: 40px solid transparent…

20240520刷题总结

T1(状态置换,搜索与dp, dp存值结构体) T376。 还是从搜索角度去考虑:时间,前i物品,最多拿多少。 这样我们去设计状态,我一开始设置:时间,前i,值是拿多少。会发现这样会爆。 其实换一下,优化效果更好。前i物品,最多拿j,用的最少时间。 实际转移就是背包。存值就存结构…

SAP:CX_SY_READ_SRC_LINE_TOO_LONG解决

在ABAP程序编辑器中,确保每行的字符数小于72个,将光标放到行结尾,就能在右下角能看到字符总数。 只要行字符都小于72个,dump就不会再出现了。。。。 还有一种方法就是调整一下abap editor的配置,勾上Downwards-Compatible Line Length(72)。在ABAP编辑器菜单点击“实用程序…

error The system will suspend now!

解决 rambo@test2:~$ sudo mkdir /etc/systemd/sleep.conf.d rambo@test2:~$ sudo vim /etc/systemd/sleep.conf.d/nosuspend.conf [Sleep] AllowSuspend=no AllowHibernation=no AllowSuspendThenHibernate=no AllowHybridSleep=no

Hello-FPGA Camera link Full Receiver FMC Card User Manual

Hello-FPGA info@hello-fpga.cOM Hello-FPGA Camera link Full Receiver FMC Card User Manual目录 Hello-FPGA Camera link Full Receiver FMC Card User Manual 1 Hello-FPGA Camera link Full Receiver FMC Card User Manual 3 1 Camera link 简介 3 2 Camera link FPGA FUL…

[转帖]Redis系列:深刻理解高性能Redis的本质

https://heapdump.cn/monographic/detail/49/5461379 1 背景 分布式系统绕不开的核心之一的就是数据缓存,有了缓存的支撑,系统的整体吞吐量会有很大的提升。通过使用缓存,我们把频繁查询的数据由磁盘调度到缓存中,保证数据的高效率读写。当然,除了在内存内运行还远远不够,…

[转帖] CPU性能优化基本篇:一定要了解Linux CPU哪些基本概念

laziobird目录 第一篇:CPU性能优化基础篇:一定要了解Linux CPU哪些基本概念 第二篇:CPU 优化高级篇:Linux系统中CPU占用率较高问题排查思路与解决方法第三篇:CPU 优化高级篇:Java CPU 高的原因和排查方法 :如何定位Java 消耗CPU最多的线程第四篇:CPU 优化高级篇:Ja…

异步编程

导入模块:导入asyncio库,这是Python的异步编程库。导入time模块,用于获取当前时间。定义异步函数:say_after是一个异步函数,它接受两个参数:delay(等待的时间)和what(要打印的消息)。函数内部使用await asyncio.sleep(delay)来等待指定的延迟时间。函数返回一个格式化…

OWA top 10 简介

owa top 10 OWASP Top10是什么? OWASP(开放式Web应用程序安全项目)是一个开放的社区,由非营利组织 OWASP基金会支持的项目。对所有致力于改进应用程序安全的人士开放,旨在提高对应用程序安全性的认识。 其最具权威的就是“10项最严重的Web 应用程序安全风险列表” ,总结并…

OpenVX便携式、高能效的视觉处理

OpenVX便携式、高能效的视觉处理 OpenVX 1.3.1 来了! OpenVX 1.3.1 规范于 2022 年 2 月 2 日发布OpenVX™ 是一种开放、免版税的标准,用于计算机视觉应用程序的跨平台加速。OpenVX 支持性能和功耗优化的计算机视觉处理,这在嵌入式和实时用例中尤为重要,例如面部、身体和手…

分片集群组件

MongoDB分片集群由以下组件组成:shard:每个分片包含分片数据的子集。每个分片必须部署为副本集。mongos:mongos充当查询路由器,提供客户端应用程序和分片集群之间的接口。mongos可以支持 对冲读取以最小化延迟。config servers:配置服务器存储集群的元数据和配置设置。从 …